数据结构

来源:互联网 发布:seo蜘蛛精怎么用 编辑:程序博客网 时间:2024/06/18 14:23

数据结构的内容

一般来来说包括三个方面的内容,数据的逻辑结构、数据的存储结构和数据的运算。

1、  数据的逻辑结构:即数据元素之间的逻辑关系。数据的逻辑结构是从逻辑关系上描述数据的,与数据在计算机中该如何存储无关,也就是独立于计算机的抽象概念。

2、  数据的存储结构:机数据元素及其逻辑关系在计算机存储器中的表示形式。数据的存储结构依赖于计算机语言,是逻辑结构用计算机语言的实现。

3、  数据的运算:即能够对数据施加的操作。数据的运算的基础为数据的逻辑结构,每种逻辑结构都可以归纳一个运算的几何。

 

数据结构的分类

1、  线性结构:简单地说,线性结构就是保重各个节点具有线性关系。如果从数据结构的远来描述的话,线性结构应该包括如下内容:

一、线性结构非空集;

二、线性结构有且仅有一个开始节点和一个终端节点

三、线性结构所有节点罪所只有一个之间前趋节点和一个直接后继节点

我们常见的线性结构有:线性表、栈、队列和串。

队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,先进先出原则。

2、  非线性结构:是表中各个节点之间具有多个对应关系。如果从数据结构的语言来描述,非线性结构应该包括如下内容:

一、非线性结构是非空集

二、非线性结构的一个节点可能有多个直接前趋节点和多个后继节点

我们常见的非线性结构有:数组、广义表、树结构和图结构等。

 

堆、栈、队列之间的区别

1、堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存,对其访问和一般内存的访问没有区别,前进先出。

2、栈就是一个类似羽毛球桶,先进后厨,后劲先出。

3、队列只能在对头做删除操作,在队尾做出入造作,而栈只能在栈顶做插入和删除操作。

 

数据结构的几种存储方式

1、  顺序存储方式:简单地说就是在一块连续存储区域一个接一个地存放数据。顺序存储就将逻辑上相邻的点也按物理的模式放在一起。

2、  链接存储方式:不要求逻辑上相邻的结点在物理位置相邻,结点间的逻辑关系由附加的引用字段表示。一个结点的引用往往指向下一个结点的存放位置。

3、  索引存储方式:采用附加的索引包的方式来村塾结点信息的一种存世方式。索引表由若干索引项组成。索引存储方式中索引项的一般形式为:(关键字、地址)。其中,关键字是能够唯一标识一个结点的数据项。