C语言
文章平均质量分 68
sanpiLin
这个作者很懒,什么都没留下…
展开
-
数据结构--平衡二叉树
原文链接(点击原文链接获取更多学习干货):http://blog.bools.cn/archives/1231平衡二叉树二叉树上的结点上的左子树的深度的值减去右子树的深度的值叫做平衡因子BF 平衡二叉树就是一棵二叉树上所有结点的平衡因子的绝对值小于等于1的树判断平衡二叉树是二叉排序树 二叉树上所有结点的平衡因子的绝对值小于等于1下图不是平衡二叉树,因为不满足为二叉排序树,二叉排序树是左子树都小于根节点,右子树大于根节点的二叉树。下图也不是平衡二叉树,不满足节点的平衡因子的原创 2021-08-22 22:32:53 · 260 阅读 · 0 评论 -
图的深度遍历和广度遍历
深度优先遍历(DFS)原理:右手原则,在没有碰到重复顶点的情况下,分叉路口始终是向右手边走,每遍历一个顶点就做一个记号。思路:从A顶点开始,由右手原则到B、C、D、E、F,由于A遍历过了,到G,G后无路可走了退回上一个顶点F,由于A、G、E遍历过了,到H,H后无路可走退回下一个顶点F,F退回E,E退回D,遍历I,退回D、C、B、A,结束遍历。/* 邻接矩阵的深度优先递归算法 */void DFS(MGraph G, int i){ int j; visited[i] = ..原创 2021-08-13 15:30:51 · 1106 阅读 · 0 评论 -
c语言数据结构--图
什么是图?图是地图的图吗?我拿着地图想去哪就去哪吗?是滴,图是多对多的情况,对于去一个地方有不同的路径到达,两个地方往返都有不同的路径。图是由顶点和边或弧两部分组成的,可以分两个结构来分别存储。另外图上的任何顶点都可以被看作是第一个顶点,任一顶点的邻接点之间也不存在次序关系。图分为无向图、有向图、网图。1、邻接矩阵原理:顶点用一维数组来存储,边或弧用二维数组存储。typedef struct{ VertexType vexs[MAXVEX]; /* 顶点表 */ EdgeType a原创 2021-08-11 23:05:14 · 1514 阅读 · 0 评论 -
c语言数据结构-树的笔记
一、树的定义 1、树的定义:树是n个结点的有限集。当n=0时成为空树,在任意一颗非空树中:有且只有一个特定的称为根结点 当n>1时,其余结点可分为m个互不相交的有限集,其中每一个集合又是一棵树,并且称为根的子树。2、二叉树性质第i层上至多有2^(i-1)个结点(i>=1)。 深度为k的二叉树至多有2k-1个结点(k>=1)。 如果i=1,则结点i是二叉树根; i>1,则其双亲结点为i/2; 2i>n,则结点i无左孩子,否则左孩子结点为2i; 2i+1&.原创 2021-08-07 21:58:28 · 89 阅读 · 0 评论