数据结构Data Structure
数据结构:
数据的组织形式
数据结构指的是数据元素及数据元素之间的相互关系,或组织数据的形式
数据结构主要是研究非数值性程序设计中计算机操作的对象(数据)及其相互间关系和运算的
逻辑结构:
表示数据运算之间的抽象关系(邻接关系,从属关系等),按每个元素可能具有的直接前趋数和直接后继数将逻辑结构分为”线性结构“和”非线性结构“两大类
存储结构:
逻辑结构在计算机中的具体实现方法,分为顺序存储方法,链接存储方法,索引存储方法,散列存储方法。
数据运算:
对数据进行的操作。插入,删除,查找,排序等
数据Data
数据即信息的载体,是能够输入到计算机中并且能被计算机识别,存储和处理的符号总称
数据元素Data Element
数据元素是数据的基本单位,又称之为记录(record)。
数据元素并不是孤立存在的,它们之间存在着某种联系。
数据类型Data Type
数据类型是对数据元素取值范围与运算的限定。
数据的逻辑结构
如果只是描述数据结构中数据元素之间的联系规律,即逻辑关系,则称此时的数据结构为数据的逻辑结构。
四种基本数据结构:
集合 数据元素除”同属与一个集合“外,无其他关系
线性结构 一个对一个,入线性表,栈,队列
树形结构 一个对多个,树
图状结构 多个对多个,图
list 表(线性,开放操作)
stack 栈(线性,一端操作)
queue 队(线性,两端操作)
数据的存储结构Physical Structural
存储结构分为:
顺序存储结构
借助元素在存储器中相对位置来表示--------数据元素间的逻辑关系
将数据结构中各元素按照其逻辑顺序放于存储器一片连续的存储空间中(如c语言的一维数组)
list 表(线性,开放操作)
stack 栈(线性,一端操作)
queue 队(线性,两端操作)
链式存储结构
借助指示元素存储地址的指针表示数据---------元素的逻辑关系
将数据结构中各元素分布到存储器的不同点,用地址或链指针方式建立他们之间的联系,由此得到存储结构为链式存储结构
链式存储结构是数据结构的一个重点,因为数据结构中元素之间的关系在计算机内部很大程度上是通过地址或指针来建立的
任意程序都市在解决数学问题,数据的组织很重要
tree 树()
graph 图()
索引存储
在存储数据的同时,建立一个附加的索引表,即索引存储结构=数据文件+索引表
散列存储
根据元素的特殊字段(关键字key),计算数据元素的存放地址,然后数据元素按地址存放,所得到的结构为散列存储结构
数据的逻辑结构与存储结构密切相关
算法设计:取决于选定的逻辑结构
算法实现:依赖于采用的存储结构
程序=数据结构+算法