数据结构概念,没图,图还是单独一张吧

Posted xuzhiwen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构概念,没图,图还是单独一张吧相关的知识,希望对你有一定的参考价值。

数据结构
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,感觉废话一堆。
还有一推被定义的树,什么最优二叉树,线索树,平衡二叉树,二叉树排序树,干什么的不知道,为什么有不知道,没接触过到。了解一下就好吧。

以上是关于数据结构概念,没图,图还是单独一张吧的主要内容,如果未能解决你的问题,请参考以下文章

单例模式--独一无二的对象

Oracle如何取出某一列的所有不重复值作为单独一列

黄钻特权每天可写1个视频日志怎么能v 写清楚点最好。带图更好没图,一步一步说清楚

数据库技能操作秘籍

三星手机怎么清除单独一条百度搜索历史

vCenter7 Lifecycle Manager 批量升级vCenter下所有的esxi7主机或单独一台esxi 7主机