一.数据结构
1.基本概念
数据
数据元素
数据项:构成数据元素的最小单位
数据对象
2.数据结构
(1)逻辑结构
线性结构:
有且仅有一个开始和终端结点,并且所有的结点都最多只有一个直接前驱和一个直接后续。
例如:线性表,栈,队列,串
非线性结构:
一个结点可能对应多个直接前驱和直接后继(1:n或者n:n)
例如:树,图
存储结构
顺序存储结构:按照顺序的地址进行存储
链式存储结构:任意存储单元,数据+指针(下一个元素的地址)
索引存储结构:在存储结点信息的同时,还建立附加的索引表(例如:通讯录的姓氏排名索引)
散列存储结构:根据结点关键字直接算出该结点的存储位置
(2)物理结构
3.数据类型和抽象数据类型
(1)数据类型和抽象数据类型
数据类型: 数据类型=值的集合+值集合上的一组操作
抽象数据类型(ADT): (个人感觉可以类似C#中的接口定义)
引用参数 以&打头,除了可提供输入值外,还将返回操作结果。(例如:scale(&G,n) ,图形为G,缩放n倍)
ADT 抽象数据类型名称{
数据 D
数据关系 S
数据操作 P
}ADT 抽象数据类型名称