2016年3月17日

编程之美-买书问题

摘要: 上柜的《哈利波特》平装本系列,一共有五卷。假设每一卷单独销售均需8欧元。如果读者一次购买不同的两卷,就可以扣除5%的费用,三卷则更多。假设具体折扣的情况如下: 本数 2 折扣 5% 本数 3 折扣 10% ... 阅读全文

posted @ 2016-03-17 21:30 小二杰 阅读(883) 评论(0) 推荐(0) 编辑

二叉树的遍历

摘要: typedef struct BiTree* Node; typedef struct BiTree* Tree; struct BiTree { int Element; Node Left; Node Right; bool isFirst; //从下向上出栈过程中,第一次出现在栈顶 }; //先序遍历, 递归 void TraverseTreePreOrder(Tree T)... 阅读全文

posted @ 2016-03-17 19:47 小二杰 阅读(110) 评论(0) 推荐(0) 编辑

2016年3月15日

桶式排序

摘要: //桶式排序void BucketSort(int a[],int n, int b[], int max){ for(int i = 0; i <n; ++i ) b[a[i]]++; for(int i = 0, j = 0; i < max; ++i) { if(b[i]) { ... 阅读全文

posted @ 2016-03-15 19:44 小二杰 阅读(103) 评论(0) 推荐(0) 编辑

优化的快速排序

摘要: //快速排序void Swap(int &a, int &b){ //a ^= b; //b ^= a; //a ^= b; int temp; temp = a; a= b; b = temp;}int Median3(int a[], int Left, int Right){ int Ce... 阅读全文

posted @ 2016-03-15 19:43 小二杰 阅读(137) 评论(0) 推荐(0) 编辑

快速排序

摘要: //快速排序void QSort(int a[], int Low, int High){ if(Low > High) return; int Left = Low; int Right = High; int x = a[Low]; //以最左边一个作为枢纽元 while(Left =... 阅读全文

posted @ 2016-03-15 19:43 小二杰 阅读(124) 评论(0) 推荐(0) 编辑

归并排序-nlogn

摘要: //归并排序void mergeArray(int a[], int first, int mid, int last, int temp[]) //对两个有序数列合并{ int i = first; int j = mid + 1; int m = mid; int n = la... 阅读全文

posted @ 2016-03-15 19:41 小二杰 阅读(191) 评论(0) 推荐(0) 编辑

堆排序nlogn

摘要: //由于数组是从0开始的,因此儿子节点的索引要多加一个 #define LeftChild(i) (2*(i)+1) void PercDown(int A[], int i, int N) //下滤,将堆顶的元素下滤到适当位置{ int Child; int Temp; for(... 阅读全文

posted @ 2016-03-15 19:38 小二杰 阅读(205) 评论(0) 推荐(0) 编辑

希尔排序-nlogn

摘要: void sheelSort(int A[], int number){ for(int gap = number/2; gap >=1; gap/=2) // gap从number/2开始,每次排序后gap减半,直到为1 { for(int i = gap; i =... 阅读全文

posted @ 2016-03-15 19:37 小二杰 阅读(156) 评论(0) 推荐(0) 编辑

对分查找-logN

摘要: 给定一个整数X和整数A0,A1...An-1, 后者已经预先排序并且在内存中,求Ai = X的下标i,如果不存在,返回-1. #includeusing namespace std;int BinarySearch(int A[],int n, int x){ int Low = 0; int... 阅读全文

posted @ 2016-03-15 19:36 小二杰 阅读(310) 评论(0) 推荐(0) 编辑

求最大公因子-欧几里德算法

摘要: #includeusing namespace std;unsigned int Gcd(unsigned int M, unsigned int N){ unsigned int Rem; while(N > 0) { Rem = M%N; M = N; N = Rem; } retur... 阅读全文

posted @ 2016-03-15 19:36 小二杰 阅读(246) 评论(0) 推荐(0) 编辑

导航