算法模板
D_pearl
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
进制转换
#include<string>#include<iostream>using namespace std;//x为现在的进制,y为目标进制,s是以字符串形式存储的数字 可以直接传入字符数组 string transform(int x,int y,string s) { string res=""; int sum=0; ...原创 2018-12-14 11:48:52 · 266 阅读 · 0 评论 -
欧拉函数
在x以内,有多少个与x互质的数通式:φ(x) = x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)……(1-1/pn)p1到pn分别是n个能被x整除的数,并且这n个数都不相同。也不知道怎么用文字解释这个东西。。。还是直接记住通式,然后看代码吧int euler(int n){ int sum=n; int i; for(i=2;i&lt;=n;...原创 2018-12-04 23:43:27 · 273 阅读 · 0 评论 -
分治法 最大子数组
内容来自《算法导论》第四章假定我们要寻找子数组A[low…high]的最大数组,使用分治法意味着我们要将子数组划分成两个规模尽量相等的子数组A[low…mid]和A[mid+1…high],所以最大数组的所处位置一定是在一下三种情况中:1、完全位于子数组A[low…mid]中,因此low&lt;=i&lt;=j&lt;=mid2、完全位于子数组A[mid+1…high],因此mid&lt;i...原创 2019-01-21 17:50:06 · 539 阅读 · 0 评论 -
堆排序
#include<stdio.h>#define N 1000#define INF 999999999struct 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 · 262 阅读 · 0 评论 -
优先队列
#include<stdio.h>#define N 1000#define INF 999999999struct 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 · 314 阅读 · 0 评论 -
红黑树
红黑树红黑树是一颗二叉搜索树,它在每个结点上增加了一个存储位来表示结点的颜色,可以是RED或者BLACK。通过对任何一条从根到叶子的简单路径上各个结点的颜色进行约束,红黑树确保没有一条路径会比其他路径长出2倍,因而是近似于平衡的。树中每个结点包含5个属性:color、key、left、right、p。如果一个结点没有子结点或父结点,则该结点相应指针属性的值为NIL,我们可以把这些NIL视为指向...原创 2019-01-27 11:51:19 · 1137 阅读 · 0 评论
分享