标签:遍历 不为 指针 平衡 单元 其他 访问 前序遍历 概念
数据结构
1线性表:
概念 。。。。 n个有限的序列
主要特点:有唯一的表头 表尾
除表头外 ,每一个元素有唯一的直接前驱
出表尾外,每一个元素有唯一的直接后继
线性表的存储结构有 顺序存储 链式存储
顺序存储的定义
是用一组地址连续的存储单元依次存储线性表中的数据元素,从而使得逻辑关系相邻的物理位置上也相邻,(感觉很绕)
链式存储的定义
是指用结点来存储数据元素,结点的空间可以是连续的,也可以是不连续的,因此存储数据的同时必须存储元素之间的逻辑关系。
顺序表 的优点 很方便查询元素 缺点 删除与插入需要移动大量的元素
链表 的优点 插入与删除不需要移动元素,缺点,查找元素很麻烦,需要从第一个元素开始查询。
其他的链表结构(比较特殊)
双向链表 每个结点包含连个指针,指明直接前驱与直接后继,可以向两个方向上遍历链表
循环链表:表尾结点的指针指向表中的第一结点,可在任何位置上开始遍历整个链表。
静态链表:借助数组来描述线性表的链式存储结构。
2栈
特点 先进后出 可以想成 上子弹
栈是中能通过一端来实现数据存储和检索的一种线性表。
栈进行插入和删除操作的一端称为栈顶,另一端为栈底。
栈的存储结构
顺序存储
是指用一组地址连续的存储单元依次存储自栈顶到栈底的数据元素,同时附设指针top指示栈顶元素的位置
链式存储
用链表作为存储结构的栈也称为链栈。由于栈中元素的插入和删除仅在栈顶一端进行,因此不必设置头结点,链表的头指针就是栈顶指针。
3队列
特点 先进先出, 想成排队买饭
它只允许在表的一端插入元素,而在表的另一端删除元素。
插入一端是队尾,删除一端为对头。
链队,链表表示的队(麻烦定义什么的)
4 串
感觉分出来没什么意义:就是有限序列,取值受限的线性表。
什么空串,空格穿,子串,分那么细是干嘛的,不懂。求大佬指出来,感谢。
5树
它是由n(n>=0)个有限结点组成一个具有层次关系的集合,n=0时称为空树,
在任一非空树中
有且仅有一个称为根的结点。
其余的结点可分为m个互不相交的子集T1,。。。Tm,其中每个子集本身又是一课树,并称为根结点的子树。
又是概念 烦:
双亲和孩子
兄弟:同一个双亲的结点
结点的度:一个结点的子树的个数记为该结点的度。
树的度:树中各结点的度的最大值
叶子结点:也称终端结点,指度为零的结点。
内部结点:度不为零的结点称为分支结点或非终端结点,根结点之外,分支结点也称为内部结点。
结点的层次:跟为第一层,根的孩子为第二层,依次类推。
树的高度:一颗树的最大层次数记为树的高度(或深度)。
有序树:若将树中的结点的各子树看成是从左到右具有次序的,即不能交换,则称改树为有序树,否则称为无序树。
森林:是m课互不相交的树的集合
树的遍历
是指对数中的结点信息访问,即依次对树中每个结点访问一次且访问一次
以图为例
前序遍历 ABEFIJCDGH A
后序遍历 EIJFBCGHDA B C D
层次遍历 ABCDEFGHIJ E F G H
I J
二叉树:是n(难>0)个结点的有限集合,它或者是空树,或者是由一个根结点及两颗互不相交的,分别称左子树和右子树的二叉树组成。
二叉树的结点的最大度为2,且树不限制结点的度。
二叉树的结点的子树要区分左子树和右子树(。。。)
二叉树的性质:不想多bb,感觉废话一堆。
还有一推被定义的树,什么最优二叉树,线索树,平衡二叉树,二叉树排序树,干什么的不知道,为什么有不知道,没接触过到。了解一下就好吧。
标签:遍历 不为 指针 平衡 单元 其他 访问 前序遍历 概念
原文地址:https://www.cnblogs.com/xuzhiwen/p/11130875.html