一、数据结构初体验
1、数据结构的起源:
1968年,美国的高纳德教授开设了一门基本算法的课程,开创了数据结构的先河。
那么什么是数据结构呢?
数据结构就是数据之间的关系和操作,而并非是计算方法。
经典:数据结构+算法=程序,,,,说这句话的老哥 沃思凭借这个论点,获得了图灵奖。
2、数据结构的基本概念:
数据:所有能够输入到计算机中去描述事物的符号。
数据项:有独立含义的数据最小单位,也叫域
数据元素:数据的基本单位也叫节点、记录。
数据结构:数据元素和数据关系的集合。
算法数据结构所具备的功能,解决特定的问题的特定方法
3、数据结构的三个方面
第一个方面:数据的逻辑结构:
集合:数据元素同属一个集体,但元素之间没有任何关系。
线性结构:数据元素之间存在一对一关系(表)
树型结构:数据元素之间存在一对多关系(倒悬树)
图型结构:数据元素之间存在多对多关系(地图)
第二个方面:数据的存储结构:
顺序结构:数据元素存储在连续的内存中,用数据元素的相对位置来表示关系
优点:随机访问,访问效率高
缺点:空间利用率低,堆内存要求较高,插入,删除不方便。
链式结构:数据元素存储在彼此独立的内存空间中,每个独立的元素也叫节点,每个数据元素中增加一个数据项用于存储其他元素的地址,用来表示元素之间的关系。
优点:插入,删除方便,空间利用率高。
缺点:不能随机访问,只能从前到后逐个访问。
逻辑结构和存储结构的对应关系:
表:优先使用顺序结构其次链式结构
树:优先使用链式结构其次顺序结构
图:使用顺序+链式混合结构
每种逻辑结构采用什么存储结构没有明确的规定,看实际情况的难易程度以及空间、时间方面的要求,选择合适的存储结构。
第三个方面:数据结构的运算:
1、建立数据结构
2、销毁数据结构
3、清空数据结构
4、数据结构排序
5、遍历数据结构
6、删除元素
7、插入元素
8、访问元素
9、修改元素
10、查询元素
第一部分就先到这里,之后我会分享各个运算的具体代码。