数据结构预算法
一、数据
定义:一切能够输入计算机、并被计算机程序处理的信息,包括文字,表格,图像等
数据元素
数据元素是组成数据的基本单位,数据元素又可称为元素、结点、顶点、记录
数据项是构成数据的最小单位
数据对象或数据元素类
数据对象是性质相同的数据元素的集合,是数据的子集
例:整数的数据对象是集合N={0,1,2,3,…}
字母字符数据对象是集合c={‘A’,‘B’,…‘Z’}
**
四.数据结构
**
集合结构:在集合结构中,数据元素间的关系是“属于同一个集合”
线性结构:数据元素之间存在一对一的关系
树形结构:数据元素之间存在一对多的关系
图形结构:数据元素之间存在着多对多的关系
五、数据的逻辑结构
指数据结构中元素之间的逻辑关系
1.(线性表、链表)表是线性结构
2.树和图是非线性结构
数据的存储结构
- 顺序存储:逻辑上相邻的元素存储在物理位置相邻的存储单元中。(适合查寻)
- 链式存储:对逻辑上相邻的元素不要求其物理位置相邻,元素间的逻辑关系通过附设的指针字段来表示。
- 索引存储:在数据文件基础 上增加一个索引文件,通过索引表建立索引,可以将一个顺序表分成几个顺序子表,提高查找效率。
- 散列存储:通过数据元素与存储地址之间建立某种映射关系,使每个数据元素与每个存储地址之间尽量达到一对一 的关系。
六、数据处理:增、删、改、查、排序…
七、数据类型: - 非结构的原子类型(整型、实型、字符型)
- 结构类型
算法的定义
指在解决问题时按照某种机械的步骤(机械步骤指算法中有待执行的运算和操作),一定可以得到问题的结果(有解时给出问题的解,无解时给出无解的结论)的过程。
算法+数据=程序
算法的组成要素
操作:
-
算术运算:加减乘除;
-
关系比较:大于、小于、等于、不等于
-
逻辑运算:与、或、非
-
数据传送:输入、输出、赋值计算
控制结构: -
顺序结构:各操作依次进行
-
选择结构:由条件是否成立来决定选择执行
-
循环结构:重复执行某些操作,直到满足某个条件时才结束。
-
数据结构:数据间的逻辑关系、数据的存储方式及处理方式便是数据结构
算法的基本性质
- 有穷性:算法必须在有限步内结束
- 确定性:组成算法的操作必须清晰无二性
- 可行性:组成算法的操作必须能够在计算机上实现
- 输入性:有多个输入或0个输入
- 输出性:1个或多个输出
算法设计要求
- 正确性:算法应满足具体问题的需求
- 可读性:算法应该容易阅读,以有利于阅读者对程序的理解
- 稳健性:有容错处理功能
- 高效率与低存储量的要求:效率指的是算法执行时间和空间利用率
算法分析和评价
三条标准:
- 算法实现所耗费的时间
- 算法实现所耗费的存储空间,其中主要考虑辅助存储空间
- 算法应易于理解,易于编码,易于调试等
算法的时间效率的衡量方法
- 事后分析法:先将算法用程序设计语言实现,然后度量程序的运行时间
- 事前分析估算法