
分治法
aNoobCoder
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
分治法之求最大连续子序列和
对原问题有如下解 1.最大子序列在数组中点的左边 2.最大子序列在数组中点的右边 3.最大子序列跨越数组中点#include<iostream> using namespace std; int FIND_MAX_CROSSING_SUBARRAY(int a[],int low,int high) { int mid = (low+high)/2; int i = mid;原创 2017-03-05 11:52:57 · 3503 阅读 · 1 评论 -
排序之归并排序
#include<iostream> using namespace std; void Merge(int a[], int left, int center, int right) { int *t = new int[right-left+1];//存放被排序的元素 int i = left; int j = center + 1;原创 2017-03-05 13:41:27 · 314 阅读 · 0 评论 -
排序之快排qsort
#include<stdio.h> #include<stdlib.h> #include<time.h>/* rand产生的随机数从0~rand_max(32767) 产生从x~y的随机数k=rand()%(y-x+1)+x *///k=rand()%(right-left+1)+left; void swap(int& a,int& b) { if(a!=b)原创 2017-03-05 13:42:46 · 410 阅读 · 0 评论 -
分治法之线性选择第i小元素
#include<iostream> using namespace std; void swap(int& a,int& b) { if(a!=b) { a^=b; b^=a; a^=b; } } int PARTITION(int a[], int p ,int r) { int原创 2017-03-05 13:52:30 · 518 阅读 · 0 评论