数据结构=逻辑结构+存储结构+算法结构
逻辑结构:
1.集合:集合中数据元素除了同属于一个集合之外,没有其他关系。他们的关系称为松散性。
2.线性结构:数据元素之间存在一对一的关系,除去开始节点和终端节点之外的任何节点有且只有一个前驱和一个后继。开始结点只有后继,终端节点只有前驱。
3.树形结构:数据元素之间存在一对多的关系,若结构非空,则会有一个称为根的结点,此结点没有前驱,其他节点有且只有一个前驱,所有节点都可以有多个后继
4.图形结构:数据元素之间存在多对多的关系,若结构非空,则任何结点都可能有多个前驱和后继。
逻辑结构也可以分为俩类:线性结构跟非线性结构。 其中树和图和集合都属于非线性结构。
顺序存储方式:
指将所有的数据元素存放在一片连续的存储空间中,并使逻辑上相邻的数据元素其对应的物理位置也相邻。即数据元素的逻辑位置关系与物理位置关系保持一致。(用数组实现)
链式存储方式:
可以存放在任何位置,每一个数据元素由俩部分组成,一部分是数据元素值本身,另一部分表示逻辑关系的指针。
索引存储方式:
存储数据元素的同时,增设了一个索引表。索引表中的每一项包括关键字和地址,关键字是唯一标识一个数据元素的数据项,地址是指示数据元素的存储地址或存储区域的首地址
散列存储方式:
也叫哈希存储,数据元素存储在一片连续的区域内,每一个数据元素的具体存储地址是根据该元素的关键字值,通过哈希函数直接计算出来的。
以上,顺序存储和链式存储是俩种最基本,最常用的存储方式,索引存储和散列存储是为了提高查找效率而经常采用的存储方式。
对数据的操作:
创建:建立数据的存储结构
销毁:对已经存在的存储结构将其所有空间释放
插入:在数据存储结构的适当位置上加一个指定的新的数据元素
删除:将数据存储结构中某个满足指定条件的数据元素删除
查找:在数据存储结构中查找满足指定条件的数据元素
修改:修改存储结构中某个数据元素的值
遍历:对数据存储结构中每一个数据元素按某种路径访问一次且仅访问一次。