码迷,mamicode.com
首页 >  
搜索关键字:算法系列    ( 410个结果
白话经典算法系列之五 归并排序的实现
归并排序是建立在归并操作上的一种有效的排序算法。该算法是採用分治法(Divide and Conquer)的一个很典型的应用。首先考虑下怎样将将二个有序数列合并。这个很easy,仅仅要从比較二个数列的第一个数,谁小就先取谁,取了后就在相应数列中删除这个数。然后再进行比較,假设有数列为空,那直接将还有...
分类:其他好文   时间:2014-07-24 22:33:52    阅读次数:144
白话经典算法系列之五 归并排序的实现(转)
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。首先考虑下如何将将二个有序数列合并。这个非常简单,只要从比较二个数列的第一个数,谁小就先取谁,取了后就在对应数列中删除这个数。然后再进行比较,如果有数列为空,那直接将另一个...
分类:其他好文   时间:2014-07-19 15:23:57    阅读次数:241
白话经典算法系列之七 堆与堆排序
堆排序与高速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先解说下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是全然二叉树或者是近似全然二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)不论什么一个子节点的键值。2.每一个结点的左子树和右...
分类:其他好文   时间:2014-07-16 19:26:44    阅读次数:192
Algorithms算法系列文章概述
(1)blog内所有文章并非全部原创,大部分整理参考自Robert Sedgewick and Kevin Wayne 所著Algorithms视频教程和书中例子中提到的数据源文件均可从http://algs4.cs.princeton.edu官方网站中获取(2)blog中算法的描述大部分是java...
分类:其他好文   时间:2014-07-14 15:49:04    阅读次数:164
排序算法系列——堆排序
记录学习点滴,菜鸟成长记堆排序引入了另一种算法设计技巧:使用一种我们称之为“堆”的数据结构来进行数据管理。堆排序算是真正意义上的利用数据结构来求解数组排序的方法。“插入排序”和“归并排序”可以看做是一种“计算机体力活”,体现的思想更多的是去模拟最简单的人类思维,比如插入排序过程中的比较,归并中子问题...
分类:其他好文   时间:2014-07-14 09:42:06    阅读次数:235
算法系列——归并排序
归并排序基本思路就是将数组分成二组A,B,如果这二组组内的数据都是有序的,那么就可以很方便的将这二组数据进行排序。如何让这二组组内数据有序了?可以将A,B组各自再分成二组。依次类推,当分出来的小组只有一个数据时,可以认为这个小组组内已经达到了有序,然后再合并相邻的二个小组就可以了。这样通过先递归的分...
分类:其他好文   时间:2014-07-14 09:24:53    阅读次数:132
排序算法系列——快速排序
记录学习点滴快速排序算法是一种很有趣的算法,短小精悍,性能强劲,对于大部分情况都可以胜任,但对极端环境难以应付。快速排序我理解为:这是一个“以自我为中心的”+“分治法”思想的算法。分治法不必多说,化繁为简,那就是逐个击破。那什么是“以自我为中心”?顾名思义,就是每次都一个“我”,每个人都要围绕“我”...
分类:其他好文   时间:2014-07-14 08:25:25    阅读次数:263
排序算法系列——插入排序
记录学习点滴,菜鸟成长记接触算法是研究生期间做项目时,需要编写一些诸如GA、QGA的时候,第一次使用“排序”还是用的Java自带的Comparator接口。后来买了《算法导论》来看,发现果然所有知识都是有专业壁垒的,简单的一个问题尽然蕴藏着如此多的思想,发现此简直欣喜无比,遂决定要好好研究研究。只有...
分类:其他好文   时间:2014-07-06 14:10:18    阅读次数:145
排序算法系列——归并排序
记录学习点滴,菜鸟成长记归并排序的英文叫做Merge-Sort,要想明白归并排序算法,还要从“递归”的概念谈起。1.递归一般来讲,人在做决策行事的时候是往往是从已知出发,比如,我又要举个不恰当的例子了→_→:看到漂亮姑娘→喜欢人家→追→女朋友→老婆但是人家施瓦辛格不是这么想的,人家从小就立志当总统:...
分类:其他好文   时间:2014-07-05 21:32:47    阅读次数:220
白话经典算法系列之中的一个 冒泡排序的三种实现
冒泡排序是很easy理解和实现,,以从小到大排序举例:设数组长度为N。1.比較相邻的前后二个数据,假设前面数据大于后面的数据,就将二个数据交换。2.这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。3.N=N-1,假设N不为0就反复前面二步,否则排序完毕...
分类:其他好文   时间:2014-07-05 18:22:11    阅读次数:157
410条   上一页 1 ... 37 38 39 40 41 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!