一起来学数据结构
记录一下数据结构的学习过程。
team79
我在努力。
展开
-
AVL树实现
“AVLTree.h” #pragma once #include <algorithm> #include <string> #include <iostream> using namespace std; class AVLNode { //树节点 friend class AVLTree; AVLNode *lchild,...原创 2018-04-22 23:34:31 · 230 阅读 · 2 评论 -
树状数组小结
树状数组就两种情况,每次更新一个点,原创 2014-07-18 21:46:21 · 584 阅读 · 0 评论 -
kd树(学习总结及伪代码)
代码实现:GitHub:team79\Tree\KDTree kd树是用来为求k临近而创建的数据结构,查询的平均复杂度是logN(和二叉树很像) kd树的创建 这里在创建kd树的时候,这里的算法是循环依次采取各个维度来构建二叉树,也有做法是选取数据在该维度上方差最大的那一维,因为方差大代表数据较分散,会有更好的分辨率。 插入节点 insert(Point x, KDN...原创 2016-07-13 17:07:20 · 4363 阅读 · 2 评论 -
后缀数组总结
后缀:字符 串 r 的 从 第 i 个 字 符 开 始 的 后 缀 表 示 为 Suffix(i) 后缀数组:后缀数组 SA 是一个一维数组,SA(i)表示排序后第i个后缀数组的起始位置为SA(i) 名次数组:名次数组 Rank[i]保存的是 Suffix(i)在所有后缀中从小到大排列的“名次”。 2倍增算法 待排序的字符串放在 r 数组中,从 r[0]到 r[n-1],长度为 n,且原创 2017-06-01 18:11:25 · 382 阅读 · 0 评论 -
从2-3树到红黑树
记得第一次知道红黑树是本科看算法导论的时候,当时直接看的红黑树,但是有很多事情不明白,比如为什么会有旋转这个操作,它是怎么被发明出来的一直不理解。直到后来看了2-3树之后,发现可以把红黑树看成2-3树的一种实现。文章中很多东西都是从别人那里转载过来的,主要是整理一下,方便之后查询。 主要链接: 算法–红黑树完整代码Java实现 浅谈算法和数据结构: 八 平衡查找树之2-3树 浅谈算法和数据结原创 2017-07-23 20:09:27 · 532 阅读 · 0 评论 -
树分治算法
树分治树分治有两种: 分治策略: POJ 1741#include <stdio.h> #include <string.h> #include <iostream> #include <algorithm> #include <vector> #include <queue> #include <set> #include <map> #include <string> #incl原创 2017-09-11 08:41:57 · 265 阅读 · 0 评论