Algorithm
my_adu
钻石骨灰级宅男
展开
-
回溯法解数独题
近段时间用到回溯算法的地方比较多,对算法的理解也有深入。今天偶然发现一张照片,是高中时未做完的一道数独题。当时用的是“候选余数法”,之后由于太麻烦,就没有做完。不过当时截图保存了,今天突然看到。那时候刚学完C语言,对汉诺塔递归都不是太理解,所以就一直拖到现在。用C++做的,代码如下#includeusing namespace std; int su原创 2015-05-28 14:13:19 · 3603 阅读 · 0 评论 -
排序算法大集锦_插入类——希尔(shell)排序
这一系列博客的特点就是——给出每趟排序的结果本来想着好好写一下过程,弄个图片什么的,不过觉得网上的解析太多了,都比较好,所以这些博客就算是对自己的总结吧。#include void ShellSort(int *m, int n){ int i,flag,gap; for(gap=n;gap!=1;) { gap/=2; do {原创 2015-05-26 11:39:51 · 1415 阅读 · 0 评论 -
排序算法大集锦_插入类——直接插入排序
这一系列博客的特点就是——给出每趟排序的结果本来想着好好写一下过程,弄个图片什么的,不过觉得网上的解析太多了,都比较好。《算法导论》上面那个比喻,比做打扑克牌的插入新牌,就比较形象。所以这些博客就算是对自己的总结吧。#include void InsertSort(int *m, int n){ int i,j,temp; for(i原创 2015-05-26 11:49:59 · 1580 阅读 · 0 评论 -
21个挑战题,几杯咖啡的时间,来试试
题目挑战:将数字1-13分别放入三个桶中,满足任何桶中任意两个数的差与这两个数不在同一个桶中。(例如,如果将数字5和7放入一个桶中,那么不能将数字2放入同一个桶中)下方是解决方案:(文字颜色为白色,选中下一行即可查看)[[2, 3, 7, 11, 12], [5, 6, 8, 9], [1, 4, 10, 13]] 或 [[2, 3, 11, 12], [5原创 2015-05-26 11:43:06 · 2720 阅读 · 0 评论 -
排序算法大集锦_选择类——直接选择排序
这一系列博客的特点就是——给出每趟排序的结果本来想着好好写一下过程,弄个图片什么的,不过觉得网上的解析太多了,都比较好,所以这些博客就算是对自己的总结吧。#include void SelectSort(int *m, int n){ int i,j,k,temp; bool flag; for(i=0;i<n-1;i++)原创 2015-05-26 12:00:41 · 1406 阅读 · 0 评论 -
排序算法大集锦_合并排序_1(分治思想)
这一系列博客的特点就是——给出每趟排序的结果本来想着好好写一下过程,弄个图片什么的,不过觉得网上的解析太多了,都比较好,所以这些博客就算是对自己的总结吧。#include #include #include int a[10]={2,8,5,7,4,3,1,9,6,10}; void merge(int *m, int x, int y, in原创 2015-05-26 14:26:27 · 1501 阅读 · 0 评论 -
排序算法大集锦_二路归并排序_2&3(分治思想)
第一段代码和合并排序差不多,用它来和第二段代码——二路归并排序作对比。这一系列博客的特点就是——给出每趟排序的结果本来想着好好写一下过程,弄个图片什么的,不过觉得网上的解析太多了,都比较好,所以这些博客就算是对自己的总结吧。#include #include #include void merge(int *m, int x原创 2015-05-26 14:28:22 · 1237 阅读 · 0 评论 -
排序算法大集锦_交换类——冒泡排序
冒泡排序是在高中时代就接触到的一种排序,较为简单,相对其它排序要容易理解这一系列博客的特点就是——给出每趟排序的结果本来想着好好写一下过程,弄个图片什么的,不过觉得网上的解析太多了,都比较好,所以这些博客就算是对自己的总结吧。#include void BubbleSort(int *m, int n){ int i,j;原创 2015-05-26 11:56:11 · 1235 阅读 · 0 评论 -
排序算法大集锦_交换类——快速排序
感觉《算法导论》上面的那个例子要更容易理解,因为那个最起码比较直观! #include int a[10]={2,8,5,7,4,3,1,9,6,10}; void QuickSort(int m, int n){ int s,begin,end; if(m>n) return; begin=m; end=n; s原创 2015-05-26 11:57:57 · 1494 阅读 · 0 评论 -
排序算法大集锦_线性时间_计数排序
这个之前在《编程珠玑》上面看到过,当时就感觉特别神奇!速度突破了其他排序算法的下限后来在《算法导论》上面又看到了,感触颇深!所以一定好好啃透《算法导论》这一系列博客的特点就是——给出每趟排序的结果本来想着好好写一下过程,弄个图片什么的,不过觉得网上的解析太多了,都比较好,所以这些博客就算是对自己的总结吧。#include原创 2015-05-26 14:00:06 · 1032 阅读 · 0 评论 -
约瑟夫环的两种实现
记得大一学数据结构的时候用节点构成了一个循环链做过这个题,前几天偶然想到,为什么不用数组来做呢?用循环链做的/* ********************************************************** * 解法 * * 使用一个循环链,其中包含两个元素,一个为指向下一个人的 * 节点,一个为是否出列的标记 * **原创 2015-05-28 14:05:51 · 2211 阅读 · 0 评论 -
经典回溯算法——八后问题
/************************************************************************//* 八后问题 *//*****************************************************原创 2015-05-29 10:42:37 · 1231 阅读 · 0 评论 -
排序专项练习
1.当待排序记录已经从小到大排序或者已经从大到小排序时,快速排序的执行时间最省()对错答案 : B2.以下排序中时间复杂度最差的是归并排序选择排序希尔排序堆排序答案 : B3.最坏情况下 insert sort, quick sort ,merge sort 的复杂度分别是多少?原创 2015-10-25 13:55:11 · 2341 阅读 · 0 评论