数据结构(一)初识数据结构
要点:解决问题的效率与数据的组织方式有关
思考:如何考虑数据结构
01 如何考虑数据结构
参考:从数据如何插入和如何取出两个角度考虑数据存储结构
- 在此基础上,考虑数据的空间结构和空间分配
02 案例:一堆图书如何存储
1.随意插入
- 优点是插入容易,无序考虑顺序
- 缺点是无规律,取出只能循环全部再取出
- 特点是无规律,不需要考虑空间分配
2.按拼音插入
- 优点是取出相对容易,采用二分查找可以比较容易取出
- 二分查找:针对有一定规律的数据,从中间开始查找,通过比对中部数据和目标数据,移动查找的左端或右端
- 缺点是插入造成影响大,导致插入后数据位置发生连锁反应变化
- 特点是有规律,有索引,按拼音分配空间有两种选择
- 事后分好,按字母常用常用程度划分,之后按需要增加空间
- 事先平均,按字母平均分配,同样是之后按需要增加空间
3.按类别分类后再按拼音排序
- 优点是取出更加容易,先按类别查找,再二分查找即可取出
- 缺点是插入造成数据位置变化,相较第2种有所优化,但空间分配上压力更大,查找时选择更多
- 特点是更加有规律,双重索引,无论是查找还是插入都有所优化,数据空间分配压力变大
03 我的总结
1.解决问题的效率与数据的组织方式有关
- 数据的组织方式要以问题为核心,提高解决问题的效率
- 数据的结构服务于具体的对数据操作(增,删,改,查),考虑数据组织方式就是如何提高数据操作的效率
- 根据数据存储方式划分数据空间,同样的根据数据空间(数据量大小)划分数据存储方式
2.高效考虑数据结构
- 思考数据量大小
- 思考数据如何取出和插入
- 思考数据的空间分配