![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
爱吃红萝卜的小白兔
这个作者很懒,什么都没留下…
展开
-
二叉树常用操作
一,二叉树常用操作二叉树是一种常用的树结构,经常按得使用到的操作有创建二叉树、遍历二叉树、获取二叉树的高度,下面使用C++实现相关的算法,如下:#include <iostream>#include <stack>#include <queue>using namespace std;typedef struct Node { ch...原创 2020-04-18 21:39:45 · 324 阅读 · 0 评论 -
红黑树
一,什么是红黑树?红黑树是一颗特殊的二叉查找树,红黑树的每个节点上都有存储位表示节点的颜色。二,红黑树的性质1,每个节点是黑色或者原创 2017-05-08 19:12:18 · 243 阅读 · 0 评论 -
B树、B-树、B+树
一,B树(Binary Search Tree)B树即二叉搜索树,二叉排序树或者是空树,或者是满足如下性质的二叉树:1,若它的左子树非空,则左子树上所有节点的关键字小于根节点的关键字。2,若它的右子树非空,则右子树上所有节点的关键字大于根节点的关键字。3,左、右子树本身又各是一颗二叉排序树。二,B-树a,B-树的定义B-树称为多路平衡查找树,是一种组织和维护原创 2017-05-09 09:29:28 · 727 阅读 · 0 评论 -
平衡二叉树
一,什么是平衡二叉树?原创 2017-05-10 09:49:22 · 693 阅读 · 0 评论 -
拓扑排序
一,AOV网与拓扑序列1,AOV(Activity On Vertex)网设G是一个具有n个顶点的有向无环图,有向无环图通常用来表示活动之间的先后顺序。顶点表示活动,有向边表示活动之间的先后顺序。若活动 u 的完成是活动 v 可以开始的条件,则在顶点 u 与顶点 v 之间有一条边。若从顶点 u 到顶点 v 有一条有向路径,则 u 是 v 的前驱,v 是 u 的后继。这样的有向图称为AO原创 2017-05-17 10:31:34 · 760 阅读 · 0 评论 -
基数排序
一,基数排序的思想基数排序不比较关键字的大小,它是根据关键字中各位的值,对待排序的n个元素进行若干趟的"分配"与"收集"来实现排序。二,基数排序算法实现/**** 基数排序** r:表示基数,例如:如果待排的元素是十进制 r = 10,* d:关键字的位数,例如:待排序的序列是{123, 34, 45, 3456}, 此时d = 4* 如果待排序的序列是{原创 2017-05-21 15:25:23 · 420 阅读 · 0 评论 -
KMP 字符串匹配算法
一,KMP字符串匹配算法的实现void getNext(string &t, vector &next){ next[0] = -1; next[1] = 0; for(int i = 2; i < t.size(); i ++){ int k = next[i - 1]; if(t[i - 1] == t[k]){原创 2017-05-21 17:13:33 · 473 阅读 · 0 评论