数据结构常用数据结构

基本数据结构

首先了解三个概念

数据:所有能输入到计算机中并能够被计算机程序处理的符号的总称.它是计算机程序加工的原料

数据元素数据的基本单位,在计算机程序中通常作为一个整体来进行考虑和处理.如数组中一个存储单元里面的数或者链表中一个结点

数据结构:是数据元素相互之间存在的一种或多种特定关系的集合.主要研究数据逻辑结构和存储结构及其运算的实现

数据的逻辑结构:结构定义中的“关系” 描述的是数据元素之间的逻辑关系,又称为逻辑结构,比如平常教学中所画的内存图,数组等为数据的逻辑结构.

数据的物理结构:数据结构在计算机中的实际表示形式称为数据的物理结构,又称为物理存储。

数据结构的种类:

l   集合:结构中的数据元素之间除了“同属于一个集合”的关系外,别无其它关系。 

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

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

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

线性结构

线性结构中又分为顺序表和链表(按物理存储结构划分),顺序表按顺序存储结构(例如数组),链表按 链式存储结构(例如链表)。

队列(FIFO)和栈(FILO)也是线性结构,不过它们的实现方式既可以是顺序表也可以是链表

单链表

循环链表

双向链表

循环队列

头指针等于尾指针处于队空状态或队满状态。指针实际位置为指向队列下一个即将存储的区域。

顺序表与链表性能比较

基本概念

结点的度:与下一层的几个节点相关联(下面有几个分支),结点的度就为几。

树的度:所有结点中度数最大的结点即为树的度(最大分支的结点)。

叶子结点:度为0的结点(下面没有分支)。

分支结点:除了叶子结点,其他都是分支结点,包括根结点(有分支的结点)。

内部结点:除了叶子结点和根结点,剩下的就是内部结点(除去根结点的分支结点)。

父结点、子结点、兄弟结点:相对的概念

层次:树从上到下的从0开始计算层次。

树的遍历

前序遍历:根在前面,然后子结点从左到右排序

后序遍历:根在后面,然后子结点从左到右排序

层次遍历:从上到下(根结点开始),每层从左到右开始遍历

二叉树(重要)

重要特性

1.在二叉树的第i层上最多有2的i-1次方个结点(i>=1)

2.深度为k的二叉树最多有2的k次方-1个结点(k>=1)

3.对任何一棵二叉树,如果其叶子结点数为n0,度为2的结点数为n2,则n0=n2+1

满二叉树

完全二叉树

猜你喜欢

转载自www.cnblogs.com/aeolian/p/10710817.html