数据结构的逻辑结构与存储结构及算法评价
数据结构的序章。
数据结构的两种组织方式
名称 | 逻辑结构 | 存储结构 |
---|---|---|
定义 | 数据元素之间的逻辑关系 | 数据结构在计算机中的表示 |
特征 | 抽象的 | 具体的 |
逻辑结构
- 集合结构:元素同属于一个集合,元素之间无关系
- 线性结构:元素之间存在一对一的关系
- 树形结构:元素之间存在一种一对多的层次关系
- 图形结构:元素之间存在多对多的关系
存储结构
- 顺序存储
- 链式存储
- 索引存储
- 散列存储
主要学习前两种
顺序存储 | 链式存储 | |
---|---|---|
优点 | 可以实现随机存取、每个元素占用最少的空间 | 充分利用所有存储单元,不会出现碎片现象 |
缺点 | 只能使用整块的存储单元,会产出较多碎片 | 需要额外的存储空间存放下一节点的指针、只能实现顺序存取 |
算法
算法是对特定问题求解步骤的描述。
算法的特点:有穷、确定、可行、具有输入输出
算法的时间复杂度
时间复杂度是所有语句的频度(运行次数)之和,即 T(n) = O(f(n))
n是问题规模,f(n) 是问题规模n的函数。
O(1) < O(log2n) < O(n) < O(nlog2n) < O(n^2) < O(n^3) < O(2^n) < O(n!)
算法的空间复杂度
S(n)指的是算法运行过程中使用的辅助空间的大小。
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。