Algorithms
robbie1314
每天坚持学习至少一小时~~
展开
-
归并排序
<br />归并排序原理很简单,是将两个或两个以上的有序表组合成一个新的有序表。<br /> <br />假设初始序列有n个记录,则可看成n个有序的子序列,每个子序列长度为1,然后两两归并,得到n/2个长度为2或1(怎么?为什么有1的可能,想想知道吧,如果是奇数序列呢)的有序子序列;再两两归并,.........如此重复,直至得到一个长度为n的有序序列为止,这种排序称为2-路归并排序。如果还不明白。。。就看看如下图:<br /> <br />49 38 65 97 76原创 2010-06-27 17:05:00 · 680 阅读 · 0 评论 -
冒泡排序
<br />呵呵,冒泡排序很简单,先练练手,贴上代码<br /> <br />/****************************************************************<br /> Function: SORT_Bubble<br /> Date: 2010-06-07<br /> Author: Robbie<br /> Description: 冒泡算法<br /> Input: INT *piData 待排序的数列<b原创 2010-06-08 22:47:00 · 427 阅读 · 0 评论 -
插入排序
<br />今天复习了一下插入排序,先把代码贴上,后面把原理讲一下<br /> <br /> /****************************************************************<br /> Function: SORT_Insert<br /> Date: 2010-06-10<br /> Author: Robbie<br /> Description: 插入排序<br /> Input: INT *piData原创 2010-06-10 22:54:00 · 510 阅读 · 1 评论 -
快速排序
<br />今天把快速排序写好,贴上代码,后面简单把原理讲一下<br /> <br />/****************************************************************<br /> Function: sort_partion<br /> Date: 2010-06-10<br /> Author: Robbie<br /> Description: 将数列分割成两部分<br /> Input: INT *piDat原创 2010-06-14 09:45:00 · 515 阅读 · 0 评论 -
堆排序
<br />堆的定义<br />什么是堆呢?书里是这样说的:完全二叉树中所有非终端结点的值均不大于(或不小于)其左右孩子结点的值。堆可以有两种情况,直接看下面例子吧:<br /> <br /> 96<br /> / /<br /> 83 27<br /> / / /<br /> 38 11 09<br /> <br />{96, 83, 27, 38, 11, 09} 如上图所示,所有非终端结原创 2010-06-15 21:43:00 · 942 阅读 · 3 评论