- 博客(8)
- 收藏
- 关注
原创 平衡二叉搜索树——红黑树
平衡搜索树——红黑树)一.红黑树的性质1.红黑树的基本性质2.红黑树为何可以将时间复杂度降为O(lgn)首先,在了解红黑树之前我们应该知道平衡搜索树是一种进阶版的二叉搜索树。可是,普通的二叉搜索树在进行插入,删除等操作时,虽然在树高较低时执行的很快。然而,如果树的高度较高时,执行效率可能并没有链表高。前人们为解决此问题,便有人提出了使搜索树平衡的想法。此后,便出现了各种使搜索树平衡的算法,红黑树便是其中的一种,它可以保证在最坏情况下进行基本动态集合操作的时间复杂度为O(lgn)。一.红黑树的性质1.红
2022-03-12 05:06:23
767
原创 红黑树c++类模板代码
#include <iostream>#include <iomanip>using namespace std;#define RED 0 //红色结点#define BLACK 1 //黑色结点template<class T>class RbTreeNode{ public: unsigned int color; T key; RbTr
2022-01-15 10:53:53
613
1
原创 平衡二叉树和伸展树代码
平衡二叉树#include <iostream>#include <queue>using namespace std;typedef struct BSTNode{ int key; int height; int data; BSTNode *left, *right; BSTNode() = default; BSTNode(int k):key(k), height(1), data(0), left(NULL),
2022-01-10 09:21:56
486
原创 树状数组求解逆序对个数(含树状数组的入门)
树状数组(含lowbit的证明)一.树状数组介绍在学习树状数组之前,我们要先探究4个问题。1. 什么是树状数组?见名知意,就是用数组来模拟树形结构。那么又衍生出一个问题,为什么不直接建树呢?这个问题的答案是没有必要,树状数组就可以解决的问题没必要建树。2. 用来解决什么问题?和线段树一样用来解决区间上的更新、求和等操作。3.和线段树有什么区别其实树状数组可以解决的问题线段树都可以解决,但是树状数组的系数要少很多。4.优缺点优点是:修改和查询的时间复杂度都是O(logN),系数要比线段树少许
2021-11-30 13:48:38
1021
原创 线段树(从入门到进阶)
首先,讲解线段树之前,应该了解到线段树应该是一种工具,可以将一些对于区间(或者线段)的修改、维护,从O(N)的时间复杂度变成O(logN)。一.线段树概念引入线段树是一种二叉树,也就是对于一个线段,我们会用一个二叉树来表示。比如说一个长度为5的线段,我们可以表示成这样:这代表着如果你要表示线段的和,那么最上面的根节点权值就等于两个儿子节点的权值之和。那么就可以得到:节点i的权值 = i节点的左儿子权值 + i节点的右儿子权值二.简单线段树三.区间+/-修改与区间查询四.区间乘除修改与查询
2021-10-31 13:45:00
2704
7
原创 二分图最大匹配——匈牙利算法
二分图最大匹配(一)、二分图的介绍1、定义2、充要条件(二)、二分图的匹配1、二分图的最大匹配2、增广路径3、匈牙利算法(1)、复杂度(一)、二分图的介绍1、定义二分图又称作二部图,是图论中的一种特殊模型。设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,j)所关联的两个顶点 i 和 j 分别属于这两个不同的顶点集(i in A,j in B),则称图G为一个二分图。2、充要条件无向图G为二分图的充分必要条件是,G至少有两个顶点,且其所有回路的
2021-08-07 17:00:17
11199
7
原创 Bellman——Ford算法
一.Bellman—Ford算法是用来干什么的. 我们都知道Dijkstra算法只能用来解决正权图的单源最短路径问题,但有些题目会出现负权图。这时这个算法就不能帮助我们解决问题了,而BellmanFord算法可以解决负权图且可以判断有无负权回路(迭代超过V-1次,就说明存在负权回路)的单源最短路径问题。. 它也有明显的缺点,它的时间复杂度是要高于Dijkstra算法的。二.算法流程....
2021-07-30 09:57:50
21534
16
原创 Dijkstra算法以及它的堆优化
单源最短路径问题描述给定一个带权有向图G=(V,E),其中每条边的权是一个实数。另外,还给定V中的一个顶点,称为源。要计算从源到其他所有各顶点的最短路径长度。这里的长度就是指路上各边权之和。这个问题通常称为单源最短路径 [1] 问题。...
2021-07-18 09:30:54
5963
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人