摘要:
#include #include #define MAX 255 //自顶向下分治法 归并排序 int R[MAX]; void Merge(int low,int mid,int high) { int i=low,j=mid+1,p=0; int *R1; R1=(int *)malloc((high-low+1)*sizeof(int)); if(!R1) { puts... 阅读全文
摘要:
#include #define MAX 255 //堆排序学习 int R[MAX]; void Heapify(int s,int m) { //调整堆 int j,temp; temp=R[s]; j=2*s; while(jR[j+1]) j++; if(temp0;i--) Heapify(i,n); } void Heap_sort(int n) { ... 阅读全文
摘要:
直接选择排序: 基本思想:把一个无序集中的最小值选择出来放到有序集中 C语言代码: 阅读全文
摘要:
快速排序:是冒泡排序的一种改进 主要思想:找到一个基准,从后往前找比基准小的,都将它放到左边,从前往后找比基准大的都放到右边,这样就将数组分为两部分,并且左边的都比右边的大,然后进行递归操作。 C语言代码: 阅读全文
摘要:
#include #define MAX 250 int R[MAX]; //某一确定增量d的希尔排序 void Shell_Pass(int d,int n) { int i,j; for(i=d+1;i0&&R[0]1); } int main() { int n,i,d; printf("希尔排序示例:\n"); printf("Please input n ... 阅读全文
摘要:
#include #include #define MAX 200 int R[MAX]; //直接插入排序算法 void Insert_Order(int n) { int i,j; for(i=2;iMAX) { printf("Please input n above 1 and below %d\n",MAX); return 0; } printf("Pleas... 阅读全文
摘要:
#include #include //二分法查找 int binary_search(int* array,int n,int key) { int low=0; int high=n-1; int mid; if(high >1); if(array[mid] == key){ return mid; } else{ if(array[mid] > k... 阅读全文
摘要:
1 #include 2 #include 3 using namespace std; 4 5 //冒泡排序,从大到小 6 void Bulldle(int* array,int num) 7 { 8 int i,j,temp; 9 for(i=0;i<num-1;i++) 10 { 11 for(j=i+1;j<num;j++) ... 阅读全文
摘要:
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。 关键思想:就是黑猩猩掰棒子的思想,每次与下一个作比较,如果下一个比较好,那么我就扔掉上一个,获取下一个,也就是说,只关注手中的这一个和下一个,而不关 阅读全文