
数据结构
数据结构
一个不务正业的程序猿
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二叉树常用操作
一,二叉树常用操作 二叉树是一种常用的树结构,经常按得使用到的操作有创建二叉树、遍历二叉树、获取二叉树的高度,下面使用C++实现相关的算法,如下: #include <iostream> #include <stack> #include <queue> using namespace std; typedef struct Node { ch...原创 2020-04-18 21:39:45 · 390 阅读 · 0 评论 -
红黑树
一,什么是红黑树? 红黑树是一颗特殊的二叉查找树,红黑树的每个节点上都有存储位表示节点的颜色。 二,红黑树的性质 1,每个节点是黑色或者原创 2017-05-08 19:12:18 · 291 阅读 · 0 评论 -
B树、B-树、B+树
一,B树(Binary Search Tree) B树即二叉搜索树,二叉排序树或者是空树,或者是满足如下性质的二叉树: 1,若它的左子树非空,则左子树上所有节点的关键字小于根节点的关键字。 2,若它的右子树非空,则右子树上所有节点的关键字大于根节点的关键字。 3,左、右子树本身又各是一颗二叉排序树。 二,B-树 a,B-树的定义 B-树称为多路平衡查找树,是一种组织和维护原创 2017-05-09 09:29:28 · 897 阅读 · 0 评论 -
平衡二叉树
一,什么是平衡二叉树?原创 2017-05-10 09:49:22 · 765 阅读 · 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 · 811 阅读 · 0 评论 -
基数排序
一,基数排序的思想 基数排序不比较关键字的大小,它是根据关键字中各位的值,对待排序的n个元素进行若干趟的"分配"与"收集"来实现排序。 二,基数排序算法实现 /** * * 基数排序* * r:表示基数,例如:如果待排的元素是十进制 r = 10, * d:关键字的位数,例如:待排序的序列是{123, 34, 45, 3456}, 此时d = 4 * 如果待排序的序列是{原创 2017-05-21 15:25:23 · 506 阅读 · 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 · 507 阅读 · 0 评论