数据结构——基本概念
在计算机专业,数据结构是一门极其重要的课程,不只是期末考试、考研需要学习,也是体现程序员“内功”水平的课程。
1.算法的时间复杂度、空间复杂度
时间复杂度:算法中基本操作的执行次数作为算法时间复杂度的度量。
空间复杂度:算法在运行中需要的存储空间的度量。
2.数据结构基本概念
- 数据:对客观事物的符号的表示。例如:整数、实数、字符串等。
- 数据元素:数据的基本单位。
- 数据项:数据结构中讨论的最小单位,是数据记录中最基本、不可分的数据单位。
- 数据对象:性质相同的数据元素的集合。
- 数据结构:相互之间存在一种或者多种特定关系的数据元素的集合。包括三个方面,分别是:逻辑结构、物理结构、对数据的运算。
- 数据的逻辑结构:
(1)线性结构,一个数据元素的有序集合。一般指数据元素之间是“一对一”的线性关系。
(2)非线性结构,存在一对多的关系,可细分为树形结构、图状结构。 - 数据的物理结构:
(1)顺序存储方法,逻辑上位置相邻,同时物理上位置也相邻。例如:高中班上有花名册上面每个学生有唯一学号对应(逻辑结构),老师要求上课按学号顺序坐(物理结构),即按学号将学生“顺序存储”在教室。
(2)链式存储方法,逻辑上位置相邻,但不要求物理位置相邻。例如:老师不要求按学号,可以随便坐,即按学号将学生“逻辑存储”在教室。
(3)索引存储方法,存储信息时除建立存储结点信息外,还建立附加的索引表来标识结点的地址。一般形式为<关键字,地址>。
(4)散列存储方法,根据结点关键字通过散列函数直接计算出结点的存储地址(顺序存储的扩展)。
3.算法的基本概念
- 算法:设计好的有限的计算序列。
- 算法的特性:有穷性、确定性、输入、输出、可行性
- 算法的设计目标:正确、可读、健壮、高效率低存储