栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

数据结构详解

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据结构详解

数据结构

链表

链表:把数据组织成一条链的数据结构,

链表元素的地址不一定是连续的,

每个元素都会存储指向下一个元素的指针。

链表是连成一串的。

//第一个元素用A表示,则第二个元素为
A->next
//第三个为
A->next->next
//以此类推

链表可以方便地进行插入和删除

例:A的后面插入一个元素C

A->next = C->next
A->next = C

如果要删除元素B

A->next = A->next->next

栈与队列

满足“后进先出”的数据结构叫做“栈”,

向栈中放入元素的操作叫做“进栈”,

从栈中取出元素的操作叫做“出栈”。

队列是一种“先进先出”的数据结构,

向队列中放入元素的操作称为“入队”,

从队列中取出元素的操作称为“出队”。

树与连通图

用圆圈表示的称作结点

连接两个结点的线称作边

如果沿着边可以从一个点到达另一个点,那么这两个点连通如果任意两个点都是连通的,那么这个图是连通图,反之,无回路的即为树。

n个结点的树上一定正好有(n-1)条边

每个与根结点直接相连的点都是根结点的子结点

对于所有的结点,和这个结点直接相连的点如果不是父结点,就一定是子结点

子结点的个数称作度数,度数是0的称作叶子结点,否则称作分支结点根结点的深度为1,其他结点的深度都是它父结点的深度加1深度最大结点的深度,称作整个树的深度。

如果树上的所有分支结点都最多有两个子结点,并且两个子结点有左右的区别,那么这个树就是一个二叉树。有根树没有强调子结点的顺序问题,所以二叉树不是有根树的特例。

如果二叉树的结点正好是从上到下,从左到右依次排列的,那么这个二叉树就叫做完全二叉树。完全二叉树中,除最后一层外,每一层的结点个数都必须达到最大值,并且最后一层的结点是从左到右依次排列的。完全二叉树最后一层的结点数也达到了最大值,就是满二叉树。

按照二叉树从上到下,从左到右的顺序读出所有结点,得到的序列称作二叉树的层次遍历。

图中树的层次遍历:F C E A D H G B M

按照先读出根结点,再读出左子树,最后读出右子树的顺序遍历二叉树,得到的序列称为二叉树的前序遍历。

图中树的前序遍历:F C A D B E H G M

如果我们读出结点的顺序是先读出左子树,然后再读出根结点,最后读出右子树,那么这样得到的序列称为二叉树的中序遍历。图中树的中序遍历:A C B D F H E M G

如果读出结点的顺序是先左子树,再右子树,最后根结点,这样得到的序列称作二叉树的后序遍历。

图中树的后序遍历:A B D C H M G E F

口诀:前序遍历根左右,

中序遍历左根右,

后序遍历左右根。

结点连了几条边称作这个结点的度数如果在图中选出(n-1)条边,使得原有的n个点仍然连通,那么选出的(n-1)条边连同原有的n个点,称作原图的一个生成树。

如果图中的边是有方向的,那么这个图就称为有向图如果任选两个点A,B,都有A可以到达B并且B可以到达A,那么这个有向图是强连通图从这个点出发的边数称作这个点的出度指向这个点的边数称作这个点的入度。

感谢您选择屹立科技,更多资源请见官网:屹立科教 | 上线了sxl.cn (mysxl.cn)https://ylkj.mysxl.cn/

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/847311.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号