数据结构
LSC_333
此人很懒
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
AVL树的实现-c++
这里是AVL树的一些原理以及介绍 #include<stdio.h> #include<string.h> #include<stdlib.h> #include<queue> #include<algorithm> using namespace std; #define INF 0x3f3f3f3f typedef struct Node{ int val; int height; Node *lc; N原创 2021-09-22 15:06:06 · 281 阅读 · 0 评论 -
树状数组
时间复杂度 树状数组是一个查询和修改的时间复杂度都为log(n)log(n)log(n)的数据结构。一般来说树状数组能解的题目,线段树都能解,但是线段树能解的问题,树状数组不一定能解。但是树状数组的有点在于方便实现,代码量少。 树状数组的结构 图中的A数组是原来的数组,C数组就是树状数组,如果先将A数组的每个元素都先放在C数组中,则: C数组中每一位所存的信息都由前面的某些位的信息构成,以求A的...原创 2019-06-15 11:16:59 · 1056 阅读 · 0 评论 -
Binary Search Tree
二叉搜索树性质 一个二叉搜索树具有以下性质 若任意节点的左子树不空,则左子树上所有节点的值均小于它的根节点的值 若任意节点的右子树不空,则右子树上所有节点的值均大于它的根节点的值 任意节点的左、右子树也分别为二叉查找树 没有键值相等的节点 二叉搜索树特点 由于二叉搜索树的特点,在进行查找、插入、删除时,时间复杂度最好能到O(logn)O(logn)O(logn),但是最差的情况在O(n)O(n...原创 2019-06-26 16:00:37 · 172 阅读 · 0 评论 -
AVL树
AVL树 AVL树是最早被发明的自平衡二叉查找树 在AVL树中,任一节点对应的两棵子树的最大高度差为1,因此它也被称为高度平衡树 查找、插入和删除在平均和最坏情况下的时间复杂度都是O(logn)O(logn)O(logn) 节点的平衡因子是它左、右子树的高度之差,如果这个差大于等于2就是不平衡的,即在AVL树中任意节点的左右子树的高度之差不大于1 对于不平衡的树,需要对其做旋转操作使其平衡 A...原创 2019-06-26 16:30:25 · 243 阅读 · 0 评论
分享