数据结构
文章平均质量分 81
数据结构学习
Q渡劫
不会写还不滚去看官方文档
展开
-
图的遍历算法
找出刚访问过顶点的第一个未被访问的邻接点,访问该顶点。以该顶点为新顶点,重复此步骤,直到刚访问过的顶点没有未被访问的邻接点为止!(3)、返回前一个访问过的且仍有未被访问的邻接点的顶点,找出该顶点的下一个未被访问的邻接点,访问该顶点!(沿着原路返回执行(3))深度优先搜素(DFS)遍历类似于树的先序遍历,是树的先序遍历的推广!(4)、重复(2)(3)步骤,直到所有的顶点都被访问过,搜索停止!(1)、从图中某个顶点v出发,访问v。..................原创 2022-08-11 17:50:45 · 1089 阅读 · 0 评论 -
图的定义和基本术语
如果顶点为n的话每个点可与其它n-1个点相连共有n*(n-1),但是每条线均被计算了2次(比如从A到B和从B连到A是一样的),再除以2即可n*(n-1)/2,所以无向完全图中边的计算公式为 n*(n-1)/2。连通图:在无向图中如果一个图中任意两点之间都是可以到达的,连通的,则说明该图是连通的,否则是非连通的。树--------------------------不存在回路,且是连通的无向图!注意,树是一个连通图(上面的图中),各个顶点是连通的,但是有向树并不是一个强连通图!......原创 2022-08-11 00:22:23 · 2183 阅读 · 0 评论 -
遍历二叉树
在上面的所有算法实现中,算法递归调用的结束条件是 T == NULL,这是需要特别注意的!原创 2022-08-13 23:25:38 · 982 阅读 · 0 评论 -
树表的查找
树表的查找原创 2022-08-01 23:30:40 · 452 阅读 · 0 评论 -
插入排序算法
插入排序学习原创 2022-08-05 17:04:05 · 163 阅读 · 0 评论 -
线性表的相关算法
线性表的相关算法原创 2022-07-29 23:48:06 · 436 阅读 · 0 评论 -
选择排序算法
选择排序学习原创 2022-08-05 17:10:40 · 146 阅读 · 0 评论 -
树和森林知识
在这种表示方法中,以一组连续的存储单元存储树的结点,每个结点除了数据域data之外 ,还附设一个parent域以指示器其双亲结点的位置100;这种存储结构利用了每个结点的(除根以外)只有唯一的双亲的性质。在这种情况下,求取双亲的结点十分方便,也很容易求得树的根,但是求结点的孩子时需要遍历整个存储结构!...............原创 2022-08-15 17:55:19 · 657 阅读 · 0 评论 -
图的存储结构
邻接矩阵是表示顶点之间相邻关系的矩阵,而在邻接矩阵中,对于一个顶点关于另一个顶点是否存在边可以使用0和1来表示两点之间是否存在边,如果是1表示两点之间存在边,否则不存在边!(2)、无向图中的邻接矩阵是一个对称的矩阵,因为两点之间有边就是连通的,而有向图中是单向的,所以有向图的邻接矩阵不是一个对称的矩阵!.........原创 2022-08-11 17:29:14 · 390 阅读 · 0 评论 -
交换排序算法
交换排序算法学习原创 2022-08-05 17:06:56 · 310 阅读 · 0 评论 -
归并排序和基数排序
归并算法学习原创 2022-08-05 17:13:12 · 158 阅读 · 0 评论 -
线索二叉树
线索二叉树学习原创 2022-08-13 23:49:30 · 496 阅读 · 0 评论 -
线性表的基本概念
/-------------------初始化双向循环链表*-----------------------//-------------------初始化双向链表*-----------------------//-------------------循环双向链表的存储结构-------------------//-------------------双向链表的存储结构-------------------//-------------------单链表的存储结构-------------------原创 2022-07-29 14:27:47 · 664 阅读 · 0 评论 -
栈的应用-括号匹配的检验
在括号匹配算法中定义intflag=1变量来标记匹配结果是成功还是失败!原创 2022-07-26 19:42:20 · 5259 阅读 · 0 评论 -
栈的应用-表达式求值
表达式求值。原创 2022-07-27 00:05:41 · 3825 阅读 · 0 评论 -
散列表的查找(哈希表)
散列表的查找原创 2022-08-01 23:34:05 · 1702 阅读 · 0 评论 -
模式匹配算法
最好情况下的平均时间复杂度为O(n+m),其中n为主串的长度,m为模式串的长度!最坏的情况下的平均时间复杂度为O(n*m)BF算法思路简单,但是有一个不好的地方就是如果当前匹配失败,则主串的指针i总是要回溯到i=i-j+2的位置,而模式串要重新回溯到j=1的位置!所以接下来就是KMP算法就是为了解决这个问题!............原创 2022-07-31 19:54:31 · 665 阅读 · 0 评论 -
串的基本概念与操作
串中字符的数目n称作串的长度,所以零个字符的串称为空串(2)、两个串相等的条件是长度相等、对应各个位置上的字符相等时才相等(3)、空格也是字符,所以由空格构成的字符串不是空串,是空格串。........................原创 2022-07-31 01:03:25 · 1350 阅读 · 0 评论 -
与栈相关的递归算法
有很多数学函数是递归定义的,比如阶乘函数和斐波那契数列//计算阶乘的函数intFact(longn){}//计算第n个菲波那切数的值intFib(longn){if(n==1||n==2)//第一个和第二个值均是1,还有的是第一个为0,第二个为1,所以条件不同,结果不同return1;intn;coutn;cout......原创 2022-07-30 16:05:42 · 326 阅读 · 0 评论 -
二叉树的性质和存储结构
二叉树中的分支数(总度数)设为B,则 N = B+1(可以自己画个树随便验证一般性结论),又由于这些分支是由度为1或者是度为2的结点射出,所以总的分支数或者是总度数是 B = N1 + 2N2,所以必有 N = N1 + 2N2 + 1。使用链式存储结构容易证得,在含有n个结点的二叉链表中有 n + 1个空链域,利用这 n + 1个空链域可以得到另一种存储结构-----------------------------------线索链表!一棵高度为h,总共有2^h-1个结点的二叉树!......原创 2022-08-12 18:21:16 · 353 阅读 · 0 评论 -
树和二叉树的基本概念和相关计算
其中度为m大的树,规定了树的度为m,也即树中存在一个结点有三个孩子结点的情况!m叉树,允许所有结点的度都可以是小于m,甚至是空树!原创 2022-08-12 16:52:06 · 1525 阅读 · 0 评论 -
线性表的查找
查找操作原创 2022-08-01 23:27:24 · 2993 阅读 · 0 评论 -
栈和队列的基本概念
栈和队列的基本概念。原创 2022-07-30 13:35:57 · 295 阅读 · 0 评论