数据结构 - 第一章 绪论

数据:客观事物的符号表示,是现实世界的事物采用计算机能够识别、存储和处理的形式进行描述的符号的集合。
初等项:是数据的不可分割的最小单位。
组合项:由若干个数据项组成。
数据元素:由若干个数据项(初等项、组合项)组成。
数据结构是指数据之间的逻辑结构、数据的存储结构和数据的运算。
Data-Structure=(D,R)
    D-数据对象(数据元素的有限集)
    R-数据元素的关系(有限集)

原子类型:是不可以再分解的基本类型,包括整型、实型、字符型等。
结构类型:由若千个类型组合而成,是可以再分解的。例如,整型数组是由若干整型数据组成的。

数据结构 - 第一章 绪论_第1张图片

 

逻辑结构:
1)线性结构:有且仅有一个开始和终端,所有结点最多只有一个前驱和后继。线性表、栈、队列。
2)非线性结构:可能有多个前驱和后继。树、图。

存储方式:
1)顺序存储:即按照顺序一次存储。
2)链接存储:每个结点包含一个指针,指向下一个结点。
3)索引存储:构建一张索引表,来记录数据的存储位置。
4)散列存储:即hash存储,将数据元素的存储位置与关键码之间建立确定对应关系。

 

两种软件设计方法:面向过程、面向对象
面向对象的软件设计方法采用了抽象数据类型的描述方式,实现了数据抽象和信息隐蔽。用面向对象的软件设计方法生成的软件,测试和调试效率高,易于修改,质量可靠,而且便于重用。
模块化是将一个复杂的系统分解成若干个模块,一个模块是对整个系统结构的某一部分的自包含和完整的描述。
信息隐藏是将一个模块的细节部分对用户隐藏。
抽象数据类型(ADT):是指抽象数据的组织和与之相关的操作。
ADT相当于在概念层(抽象层)上描述问题,而类相当于在实现层上描述问题。

 

时间复杂度:算法的时间消耗,默认最坏复杂度。(平均时间复杂度:所有输入等可能出现时算法的平均运行时间。)
O(1) < O(log2n) < O(n) < O(nlog2n) < O(n^2) < O(n^3) < O(2^n) < O(n!) < O(n^n)
堆排序O(nlog2n) < 希尔排序 O(n1.5)
空间复杂度:处理数据所需存储空间与辅助空间之和。O(1) 即原地执行。

动态分配内存:运行时才确定所需内存空间大小,malloc(new)、free(delete)。

 

参考教材:

《数据结构与算法》,熊岳山著,清华大学出版社,2016,第二版

《2020年数据结构考研复习指导》,电子工业出版社,2020

你可能感兴趣的:(数据结构)