0%

数据结构绪论

一、大纲要求

1.数据的逻辑结构存储结构的基本概念
2.算法的定义、基本性质以及算法分析的基本概念,包括采用大Ο形式表示时间复杂度空间复杂度

二、基本概念和术语

数据结构

1.数据:数据是信息的载体,是描述客观事物属性的数、字符、以及所有能输入到计算机并被计算机程序识别和处理的符号集合。
2.数据项:数据项是构成数据元素的基本单位。
3.数据元素:数据元素是数据的基本单位,一个数据元素可由若干个数据项组成。例如,学生记录就是一个数据元素,由学号、姓名、年龄等数据项组成。
4.数据对象:数据对象是具有相同的性质的数据元素的集合。
5.数据结构:数据结构是相互之间存在一种或者多种特定关系的数据元素的集合。数据元素不是孤立存在的,它们之前存在着某种关系,这种数据元素之间的关系成为结构。数据结构包括三方面的内容:逻辑结构存储结构数据的运算
6.逻辑结构:逻辑结构是指数据之间的逻辑关系,它与数据的存储无关。逻辑结构分为线性结构和非线性结构。线性表是典型的线性结构,集合、树、图是典型的非线性结构。
7.存储结构: 存储结构是指数据结构存储在计算机的表示,也叫物理结构。数据结构的存储结构主要有顺序存储、链式存储、索引存储、散列存储。
8.数据运算:适加到数据上的运算包括运算的定义和实现。运算的定义是针对指逻辑结构。

算法

1.算法及其性质:算法是对特定问题求解步骤的一种描述,它是指令的有限序列。特性:有穷性、确定性、可行性、输入、输出。
2.基本算法:枚举法、归纳法、回溯法、模拟法。
3.算法的描述: 流程图、伪代码、编程语言。

算法分析

1.时间复杂度:把语句执行的次数的多少作为算法时间复杂程度的度量分析方法称为频度统计法。语句频度是指某语句被重复执行的次数。对于最坏的情况,使用大O表示法表达。典型的数量级关系:O(log_2n)<O(n)<O(nlog_2n)<O(n^2)< O(n^3)<O(2^n)<O(n!)。
2.空间复杂度: 算法的空间复杂度为算法所耗费的存储空间,它是问题规模的函数。算法空间复杂度主要包括局部变量(算法范围内定义的变量)所占用的存储空间和系统为实现递归(如果算法是递归的话)所使用的堆栈空间两部分。算法空间复杂度一般是以数量级形式给出,如O(1)、O(n)、O(n^2)、O(log_2n)。