数据结构的内容
一般来来说包括三个方面的内容,数据的逻辑结构、数据的存储结构和数据的运算。
1、 数据的逻辑结构:即数据元素之间的逻辑关系。数据的逻辑结构是从逻辑关系上描述数据的,与数据在计算机中该如何存储无关,也就是独立于计算机的抽象概念。
2、 数据的存储结构:机数据元素及其逻辑关系在计算机存储器中的表示形式。数据的存储结构依赖于计算机语言,是逻辑结构用计算机语言的实现。
3、 数据的运算:即能够对数据施加的操作。数据的运算的基础为数据的逻辑结构,每种逻辑结构都可以归纳一个运算的几何。
数据结构的分类
1、 线性结构:简单地说,线性结构就是保重各个节点具有线性关系。如果从数据结构的远来描述的话,线性结构应该包括如下内容:
一、线性结构非空集;
二、线性结构有且仅有一个开始节点和一个终端节点
三、线性结构所有节点罪所只有一个之间前趋节点和一个直接后继节点
我们常见的线性结构有:线性表、栈、队列和串。
队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,先进先出原则。
2、 非线性结构:是表中各个节点之间具有多个对应关系。如果从数据结构的语言来描述,非线性结构应该包括如下内容:
一、非线性结构是非空集
二、非线性结构的一个节点可能有多个直接前趋节点和多个后继节点
我们常见的非线性结构有:数组、广义表、树结构和图结构等。
堆、栈、队列之间的区别
1、堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存,对其访问和一般内存的访问没有区别,前进先出。
2、栈就是一个类似羽毛球桶,先进后厨,后劲先出。
3、队列只能在对头做删除操作,在队尾做出入造作,而栈只能在栈顶做插入和删除操作。
数据结构的几种存储方式
1、 顺序存储方式:简单地说就是在一块连续存储区域一个接一个地存放数据。顺序存储就将逻辑上相邻的点也按物理的模式放在一起。
2、 链接存储方式:不要求逻辑上相邻的结点在物理位置相邻,结点间的逻辑关系由附加的引用字段表示。一个结点的引用往往指向下一个结点的存放位置。
3、 索引存储方式:采用附加的索引包的方式来村塾结点信息的一种存世方式。索引表由若干索引项组成。索引存储方式中索引项的一般形式为:(关键字、地址)。其中,关键字是能够唯一标识一个结点的数据项。