首页 > 代码库 > 算法总结(2)数据结构

算法总结(2)数据结构

数据结构(Data Structure)

 是指相互之间具有(存在)一定联系(关系)的数据元素的集合。元素之间相互关系称为逻辑结构。

  数据之间的逻辑结构有四种基本类型

  集合:结构中的数据元素除了“同属于一个集合”外,没有其它关系。

线性结构:结构中的数据元素之间存在一对一的关系。

树形结构:结构中的数据元素之间存在一对多的关系。

图状结构或网状结构:结构中的数据元素之间存在多对多的关系。

 

 

 

数据结构的存储方式

 数据结构在计算机内存中的存储包括数据元素的存储和元素之间的关系的表示。

元素之间的关系在计算机中有两种不同的表示方法:顺序表示和非顺序表示。由此得出两种不同的存储结构:顺序存储结构和链式存储结构。

---顺序存储结构:用数据元素在存储器中的相对位置来表示数据元素之间的逻辑结构(关系)。

链式存储结构:在每个数据元素中增加一个存放另一个元素地址的指针(pointer).用该指针来表示数据元素之间的逻辑结构(关系)。

 

逻辑结构和物理结构

 

数据结构的运算

 数据结构的主要运算包括:

(1)建立(Create)一个数据结构

(2)消除(Destroy)一个数据结构

(3)从一个数据结构中删除(Delete)一个数据元素;

(4)把一个数据元素插入(Insert)到一个数据结构中

(5)对一个数据结构进行访问(Access)

(6)对一个数据结构(中的数据元素)进行修改(Modify)

(7)对一个数据结构进行排序(Sort)

(8)对一个数据结构进行查找(Search).

线性表

 

线性表的顺序存储

 

 

线性表的链式存储

 

双向链表

 

 

双向链表的结点及其类型定义

 

 

栈和队列

 

 

栈的基本概念

 

 

栈的顺序存储表示

 

栈的链式存储表示

 

栈的应用

 

队列

 

循环队列

 

 

队列的链式表示和实现

 

树与二叉树

 

树的定义

 

树的基本术语(1)

 

树的基本术语(2)

 

。。。。。