一、 基本概念
1、数据元素是数据的基本单位。
2、数据项是数据不可分割的最小单位。
3、数据结构的
逻辑结构(抽象的,与实现无关)
物理结构(存储结构) 顺序映像(顺序存储结构)位置“相邻”
非顺序映像(链式存储结构)指针表示关系
4、算法特性:算法具有正确性、有穷性,确定性,(可行性)、输入,输出
正确性:能按设计要求解决具体问题,并得到正确的结果。
有穷性:任何一条指令都只能执行有限次,即算法必须在执行有限步后结束。
确定性:算法中每条指令的含义必须明确,不允许由二义性
可行性:算法中待执行的操作都十分基本,算法应该在有限时间内执行完毕。
输入:一个算法的输入可以包含零个或多个数据。
输出:算法有一个或多个输出
5、算法设计的要求:
(1)正 确 性:算法应能满足设定的功能和要求 。
(2)可 读 性:思路清晰、层次分明、易读易懂 。
(3)健 壮 性:输入非法数据时应能作适当的反应和处理。
(4)高 效 性(时间复杂度):解决问题时间越短,算法的效率就越高。
(5)低存储量(空间复杂度):完成同一功能,占用存储空间应尽可能少。
内容概要:
基本概念——线性表——栈与队列——树与二叉树——图——查找算法——排序算法
一、数据结构绪论
- 数据结构的基本概念
- 数据结构是一门研究非数值计算的程序设计问题中,计算机的操作对象以及它们之间的关系和操作的学科。
- 数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。
- 数据结构包含三个方面的含义:
- 逻辑结构:
- 物理结构:数据的逻辑结构在计算机中的表示,称此为物理结构,或称存储结构。
- 数据类型:一个值的集合以及定义在这个值集上的一组操作的总称。
- 抽象数据类型:通常由用户定义,用以表示应用问题的数据模型以及定义在该模型上的一组操作。
- 算法是描述计算机解决给定问题的操作过程,即为决解某一特定问题而由若干条指令组成的有穷序列。
- 事后统计法:收集该算法实际的执行时间和实际占用空间的统计资料。
- 事前分析估算法:在算法运行之前分析该算法的时间复杂度和空间复杂度,来判断算法的效率。
- 时间复杂度分析:
- 常见函数的时间复杂度按数量递增排列及增长率: