数据结构绪论
1.1、逻辑结构
逻辑结构名称 | 概述 |
---|---|
集合结构 | 数据元素除了同属于一个集合外就没有其他的关系 |
线性结构 | 数据都是一对一连起来的 |
树形结构 | 数据之间存在一对多的关系(一对一、一对多) |
图型结构 | 多对多的结构 |
1.2、物理结构
物理结构就是如何把数据元素储存在计算机的存储器中
物理结构名称 | 概述 |
---|---|
顺序存储结构 | 就类似C语言中的数组,元素在存储的时候是一个一个挨着排队的 |
链式存储结构 | 把元素放在任意的存储单元里,这些单元可以连续也可以不连续,类似C语言的链表。每个单元放置元素和下个单元的指针 |
算法绪论
2.1算法特性
基本特征:输入、输出、有穷性、确定性和可行性。
特征 | 概述 |
---|---|
输入 | 算法具有零个或者多个输入 |
输出 | 算法至少一个或者多个输出 |
有穷性 | 在执行有限的步骤后自动结束,而不会无限循环 |
确定性 | 每个步骤具有确定的含义,不会出现二义性。一定条件下相同输入,会有相同的输出 |
可行性 | 当前环境下可实现 |
2.2、算法设计要求
2.2.1、正确性
算法的四个层次(逐个完成才能写出好的算法)
- 算法程序没有语法错误
- 算法程序对于合法输入能够产生满足要求的输出。
- 算法程序对于非法输入能够产生满足规格的说明。(就是对于非法输入要有错误提示)
- 算法程序对于故意刁难的测试输入都有满足要求的
输出结果。
2.2.2、可读性
需要方便他人阅读、理解和交流。
2.2.3、健壮性
对于非法输入,算法要能做出相关处理,而不是产生异常或崩溃。
2.2.4、时间效率高和存储量低
效率和存储量要尽量考虑这两点问题。