摘要: 1 #include "pch.h" 2 #include <iostream> 3 //计数排序,本质和桶排序一样 4 //该方法的思想是构造一个简单哈希表H(key)=key(由于对哈希表的查询等操作不作要求,这里使用简单的排解冲突方式) 5 //实际上你根本不需要构造所谓的哈希表,然后排解冲突 阅读全文
posted @ 2019-11-12 15:11 Royzzzzz 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 1 #include "pch.h" 2 #include <iostream> 3 void Sort(int arr[],int lo, int mid,int hi) { 4 int i, j, k; 5 int n1 = mid - lo + 1; 6 int n2 = hi - mid; 阅读全文
posted @ 2019-11-12 14:29 Royzzzzz 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 1 #include "pch.h" 2 #include <iostream> 3 void shellSort(int *a, int n) 4 { 5 int d; 6 int j; 7 int i; 8 int k; 9 int temp; 10 for (d = n / 2; d >= 1 阅读全文
posted @ 2019-11-12 13:59 Royzzzzz 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 1 #include "pch.h" 2 #include <iostream> 3 void InsertionSort(int *a, int len) 4 { 5 for (int j = 1; j < len; j++) 6 { 7 int key = a[j]; //从第二个元素开始,左边 阅读全文
posted @ 2019-11-12 13:53 Royzzzzz 阅读(107) 评论(0) 推荐(0) 编辑
摘要: 1.1.初始版本 1 void bubble_sort_1(int *arr,int length) { 2 int i, j; 3 for (i = 0; i < length; i++) { 4 for (j = 0; j < length-i-1; j++) { 5 if (arr[j] > 阅读全文
posted @ 2019-06-22 19:03 Royzzzzz 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 但是值得注意的是,fib查找中的主要算法语句中仅仅包含加减运算,在海量数据中的查找可能更优! 阅读全文
posted @ 2019-06-22 11:23 Royzzzzz 阅读(395) 评论(0) 推荐(0) 编辑
摘要: 3.1.原理 算法的本身仍然基于二分查找,在选定中值的时候做出了改进,我们假定了所查找序列是均匀随机分布的,于是又有以下关系 ,得到, 上面的关系是,中点与区间长度的比(秩的比)约等于他们对应值的比。 阅读全文
posted @ 2019-06-22 11:00 Royzzzzz 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 编译会提示arr栈被破环了,因为你自行扩充了arr的长度,但是不影响你看结果。 阅读全文
posted @ 2019-06-21 23:42 Royzzzzz 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 1.1.优化代码(或者说增加代码可理解性)的一点 这里我们用的两个判断语句分支都用的是小于号,可以理解为,当 e < _elem[mid] , 关键码在序列的左边,反之,在右边。 1.2.复杂度 最差的情况为n/2不断的递减,也可以理解为log n 不断的减少一层找到最后的关键码(类似于树的深度)。 阅读全文
posted @ 2019-06-21 22:02 Royzzzzz 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 2.1.这里的for语句,为什么i要递减? 我们元素实际往后移动的的时候,是最后一个元素先移动,那么最后一个元素应该是首先操作的元素,这样就避免了从目标秩开始操作导致元素覆盖的问题。 2.2.默认作为末元素插入的写法 阅读全文
posted @ 2019-06-19 20:24 Royzzzzz 阅读(298) 评论(0) 推荐(0) 编辑