算法
miracle_dan
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[Algorithm_Learn_04]分治法之快速排序
代码实现可到此处下载:http://download.youkuaiyun.com/detail/elcarim/6542567当前代码工程中包含了 堆排序、快速排序,后面会持续更新。在归并排序中我们已经讨论过一次分治法在排序算法中的应用,这片文章中使用的快速排序法将会再次使用分治思想。1快速排序有多快与它的名字一样,快速排序有着很高的效率。如算法导论中所述,虽然其最坏情况的时间复原创 2013-11-12 23:37:55 · 856 阅读 · 0 评论 -
[Algorithm_Learn_01]单源最短路径
序工作后一直都处于高压状态,现实生活把理想压的快喘不过气来,有时候很压抑、很累,没有理想的生活让人厌恶。在学校的时候就想学学算法,一直没有投入进去,这次又突然燃起了兴趣,不管能不能坚持下去,反正此刻是真的做了自己想做的事,就在这里展开理想吧。 1. 最短的路线在了解这个算法前,先来看一个问题。图上的城市之间的连线代表有道路可达,数字代码两城市之间的距离。那么从城市A出发,原创 2012-11-15 23:16:15 · 866 阅读 · 0 评论 -
[Algorithm_Learn_02]分治法之归并排序
分治法1 分而治之分而治之,各个领域都会用到的概念,基本思想即把一个复杂的问题拆分为若干个简单的子问题进行处理。作为算法领域中一个重要的算法范式,分治法又是如何应用的呢?《算法导论》开篇就讨论了插入排序和归并排序,而归并排序就是分治法应用的一个实例。2 归并排序对n个数进行排序,当n足够大时,归并排序(算法时间复杂度为ϑ(nlgn))相对于插入排序(算法时间复杂度为ϑ(n^2)原创 2013-10-27 19:11:17 · 863 阅读 · 0 评论 -
[Algorithm_Learn_03]原地排序之堆排序
堆排序的核心是使用了最大(最小)堆这样一种数据结构,最大/最小堆可以用这样一句简单的话来描述:永远把最大(最小)的元素放在堆的顶部,子女一定比祖先小(大)。下面基于最大堆进行堆排序的讨论,即按升序排序。1 原理说明还是通过例子和图来解释:规则. 最大堆的叶子节点必定集中在左边。因此,对于这样一组数据{8,2, 5, 9, 7, 3, 7, 6},有如下图所示的堆结构。原创 2013-11-06 20:34:09 · 1011 阅读 · 2 评论 -
[Algorithm_Learn_05]二叉查找树(实现了树结构打印功能)
二叉查找树C++实现,特别的是,这次实现了一个打印二叉树结构的方法,这样在调试二叉查找树和红黑树的程序时,可以方便的观察到增加删除操作对树结构的影响。原创 2013-12-23 22:51:02 · 1052 阅读 · 0 评论
分享