数据结构:组织和存储数据,目的是为了保存数据,提高系统性能
一 逻辑结构:数据与数据元素之间的关系
1.集合
2.线性结构:元素与元素之间存在一对一的关系 (数组(顺序表)、链表、栈、队列)
3.树型结构:元素与元素之间存在一对多的关系 (二叉树)
4.图形结构:元素与元素之间存在多对多的关系 (网状结构)
二 物理结构:数据在内存中的存储方式
1.顺序结构:在内存中选取一段连续的内存空间(数组):访问数据方便(O(1)),数据插入和删除需要移动大量数据,需要预分配内存空间,可能会造成内存碎片
2.链式结构:在内存中选取一段非连续的内存空间(链表):访问元素必须通过遍历(O(n)),插入和删除数据方便,不需要预分配内存空间(动态的存储结构)
3.散列结构(哈希存储):将数据元素的存储位置与关键码之间建立确定对应关系从而实现查找的存储方式(提高数据的查找效率)
4.索引结构:通过关键字构建索引表,通过索引表来来找到数据的存储位置(提高数据的查找效率)