摘要: 快速排序有在大二的《数据结构》课中出现过。这篇博客讲的很详细。 上面这个人的博客讲的非常的好,如果有打算看博客的可以经常关注。 快速排序(Quick Sort)使用分治法策略。它的基本思想是:选择一个基准数,通过一趟排序将要排序的数据分割成独立的两部分;其中一部分的所有数据都比另外一部分的所有数据都 阅读全文
posted @ 2019-03-01 18:33 找不到实习的学渣 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 合并排序有在大二的《数据结构》课中出现过。这篇博客讲的很详细。 上面这个人的博客讲的非常的好,如果有打算看博客的可以经常关注。 将他的简化得到如下: (图片引自上述博客) 简言之,就是利用分治的思想将数组划分为(n/log n)段(log n为划分层次),然后合并多个有序数组。 上代码: 运行结果如 阅读全文
posted @ 2019-02-28 23:23 找不到实习的学渣 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 二分搜索算法是分支策略的典型应用,具体是在给定的有n个元素的已排序序列a中找出一个特定元素。 基本思想:将n个元素分为两半,取a[n/2]与x进行比较, 如果x<a[n/2],继续在数组a的左半部分搜索。 如果x>a[n/2],继续在数组a的右半部分搜索。 (图片源自百度图片) 查找算法对比: 1、 阅读全文
posted @ 2019-02-28 22:26 找不到实习的学渣 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 基本思想:将复杂问题简单化,大事化小,小事化了,很符合中国人的思想。 打官腔:分治算法的基本思想是将一个规模为N的问题分解为K个规模较小的子问题,这些子问题相互独立且与原问题性质相同。求出子问题的解,就可得到原问题的解。 (图片源自百度) 上伪代码: 从分治法的伪代码可知,其设计出的程序一般是递归算 阅读全文
posted @ 2019-02-28 21:28 找不到实习的学渣 阅读(561) 评论(0) 推荐(0) 编辑
摘要: 汉诺塔问题是一个经典问题。 题意理解:有A,B,C三个柱子,将A柱子上的N个盘子(从小到大排列)移到C柱子上,每次只允许移动一个盘子,并且保证每个柱子上的盘子的排列都是从小到大。 (图片源自百度图片) 分析:由题意可知,如果要将A上的盘子移动到C,那么肯定需要借助C。 首先将A上的盘子从上到下依次编 阅读全文
posted @ 2019-02-28 20:57 找不到实习的学渣 阅读(515) 评论(0) 推荐(0) 编辑