totaled
totaled
全部文章
数据结构
atcoder(1)
codeforces(6)
leetcode(17)
Linux(5)
操作系统(2)
未归档(1)
算法(23)
网络编程(1)
计算机网络(5)
题解(84)
归档
标签
去牛客网
登录
/
注册
qin_peng
O_O
全部文章
/ 数据结构
(共7篇)
红黑树
来自专栏
性质 节点是红色或黑色 根节点是黑色 所有叶子都是黑色。(叶子是NUIL节点) 每个红色节点的两个子节点都是黑色。(从每个叶子到根的所有路径上不能有两个连续的红色节点) 从任一节点到其每个叶子的所有路径都包含相同数目的黑色节点 如果一个节点的一个子节点是黑色,那么这个节点一定有2个节点。 插...
2020-04-04
0
665
AVL树
来自专栏
AVL树是一种自平衡二叉排序树,它的特点是任何一个节点的左子树高度和右子树的高度差在-1,0,1三者之间。AVL树的任何一个子树都是AVL树。 旋转插入操作: template<typename T> struct BiTNode{ T val; int h; ...
2020-04-03
0
628
BST
来自专栏
二叉树 template<typename T> struct BiTNode{ BiTNode(){} T val; BiTNode *left,*right; }; using node=BiTNode<int>; void build(n...
2020-04-02
0
624
二项堆
来自专栏
二叉堆 template<typename T,size_t _n> struct hep{ int n;T *q; hep(){n=0;q=new int[_n];} ~hep(){delete []q;} void up(int i){ //上浮 ...
2020-04-02
0
656
栈
来自专栏
栈混洗 有A,B,S,三个栈,初始化一个排列在B中,B中的元素,通过栈S到达栈A中,A中可以得到不同的排列。计数:A中排列的个数记为排列的长度是的时候的个数,若中已经有个元素,则中剩余个元素,这时候的个数是 ,枚举,这就是卡特兰数列, 判断栈A的排列是否能由栈B经过栈S得到模拟栈B,pop()的...
2020-03-30
0
824
链表
来自专栏
链表和数组区别 两者的区别: 数组静态分配内存,链表动态分配内存。 数组在内存中是连续的,链表是不连续的。 数组利用下标定位,查找的时间复杂度是O(1),链表通过遍历定位元素,查找的时间复杂度是O(N)。 数组插入和删除需要移动其他元素,时间复杂度是O(N),链表的插入或删除不需要移动其他元素,时...
2020-03-29
0
629
排序
来自专栏
冒泡排序 void maopao(int *a,int n){ if(n==1)return; for(int i=1;i<n;i++)if(a[i]>a[i+1])swap(a[i],a[i+1]); maopao(a,n-1); }复杂度 插入排序 每次将插入...
2020-03-28
0
660