![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法导论
D_pearl
这个作者很懒,什么都没留下…
展开
-
分治法 最大子数组
内容来自《算法导论》第四章 假定我们要寻找子数组A[low…high]的最大数组,使用分治法意味着我们要将子数组划分成两个规模尽量相等的子数组A[low…mid]和A[mid+1…high],所以最大数组的所处位置一定是在一下三种情况中: 1、完全位于子数组A[low…mid]中,因此low<=i<=j<=mid 2、完全位于子数组A[mid+1…high],因此mid<i...原创 2019-01-21 17:50:06 · 377 阅读 · 0 评论 -
堆排序
#include<stdio.h> #define N 1000 #define INF 999999999 struct node { int size;//堆大小 int length;//数组长度 int num[N]; }; void MAX_HEAPIFY(struct node &H, int i) { //最大堆维护 int l = i * 2;//算...原创 2019-01-22 10:40:42 · 189 阅读 · 0 评论 -
优先队列
#include<stdio.h> #define N 1000 #define INF 999999999 struct node { int size;//堆大小 int length;//数组长度 int num[N]; }; void MAX_HEAPIFY(struct node &H, int i) { //最大堆维护 int l = i * 2;//算...原创 2019-01-22 11:32:18 · 234 阅读 · 0 评论 -
红黑树
红黑树 红黑树是一颗二叉搜索树,它在每个结点上增加了一个存储位来表示结点的颜色,可以是RED或者BLACK。通过对任何一条从根到叶子的简单路径上各个结点的颜色进行约束,红黑树确保没有一条路径会比其他路径长出2倍,因而是近似于平衡的。 树中每个结点包含5个属性:color、key、left、right、p。如果一个结点没有子结点或父结点,则该结点相应指针属性的值为NIL,我们可以把这些NIL视为指向...原创 2019-01-27 11:51:19 · 1015 阅读 · 0 评论