算法
dsfire
这个作者很懒,什么都没留下…
展开
-
应用中的算法使用
应用中的算法使用1> 求整型中位1的个数 (来自网络)char Bit1Count (unsigned int num){ char c=0 while (num) { num &= (num-1); c ++; } return c;}2> 用二分查找左闭右闭区间。(参考网络)int FindLef原创 2015-08-15 15:12:37 · 442 阅读 · 0 评论 -
Top k问题的一个应用
需求:实时统计一个函数运行N多次所花时间最大的k个值。方法:利用堆(小顶堆)排序方法进行。比如说,要统计的最大值个数为10个。由于函数运行时间是实时统计出来的,新统计的时间跟小顶堆的最小值比较,若大于或等于小顶堆的最小值,则更新,并调整堆使之成为新的小顶堆。开始时不用建立堆,可以认为数组中的10个全为0的值也是一种小顶堆结构。这里用随机数来代表某个函数的运行时间。代码如下:#include原创 2015-08-03 20:13:29 · 370 阅读 · 0 评论 -
冒泡排序
冒泡排序冒泡排序是思想是两两比较相邻元素,将较小(大)的数向一个方向交换,直到没有交换为止。可以认为序列是一个纵序列,从底部最后一个元素开始逐次向上两两比较相邻的,小(大)的数(泡)被逐次交换到顶部,完成排序。c代码如下:假设有n个元素,元素下表0~n-1。void BubbleSort (int * const pia, const int原创 2017-02-23 15:22:38 · 328 阅读 · 0 评论 -
直接插入排序
直接插入排序直接插入排序是逐次从第i个元素向前比较,若当前元素大(小)于第i个元素,当前元素向后移位,否则,退出循环,并且当前元素等于第i个元素。可参考百度百科直接插入排序:http://baike.baidu.com/item/%E7%9B%B4%E6%8E%A5%E6%8F%92%E5%85%A5%E6%8E%92%E5%BA%8F?sefr=crc代码如下:原创 2017-02-23 16:34:35 · 380 阅读 · 0 评论 -
选择排序
选择排序选择排序思想是逐次从第i个元素向后查找最小(大)的元素下标j,查找结束后,若i和j不等,则交换。因此它的交换次数比冒泡的要小很多。但,i和j交换的数据却会打乱原来的序列的顺序,因此表现出不稳定。可参考百度百科选择排序:http://baike.baidu.com/item/%E9%80%89%E6%8B%A9%E6%8E%92%E5%BA%8F?sefr=crc代码原创 2017-02-23 15:56:59 · 272 阅读 · 0 评论 -
希尔排序
希尔排序插入排序是从第i-1个元素逐次递减到0和第i个元素比较,若当前元素大(小)于第i个元素,当前元素向后移位,否则,退出循环,并且当前元素等于第i个元素。希尔排序是插入排序的升级,是从第i-gap个元素逐次以gap递减到0,和第i个元素比较,若当前元素大(小)于第i个元素,当前元素向后移位,否则,退出循环,并且当前元素等于第i个元素。由于在排序过程中,采用跳跃式比较和交原创 2017-02-24 13:17:35 · 436 阅读 · 0 评论 -
归并排序
归并排序归并排序是将一个序列逐次对半分组直到数组元素为1,然后逐次两两合并分组直至成一个序列。在逐次两两合并分组时需要一个临时的buffer。参考百度百科:http://baike.baidu.com/link?url=OD11jIUEKqkbhY9w0loP9FFlLipaxfq6WkBZo1_O9MMuGMcn3h3rqWoZ0l7hMDKJOQrDlVPf9ELLsLijxSHs原创 2017-02-27 19:48:47 · 250 阅读 · 0 评论 -
堆排序
堆排序堆排序思想说起来还不太好组织语言。它的做法就是,首先将待排序序列组织成一个大(小)顶堆,然后逐次将首元素和最后一个元素交换,序列长度减一后再次调整序列成一个大顶堆。自此就成了一个升(降)序列。c代码如下:(参考《大话数据结构》)void HeapAdjust (int * const piSrc, const int startIndex, const int len){原创 2017-03-04 19:17:32 · 359 阅读 · 0 评论 -
快速排序
快速排序快速排序的思想就是首先选择一个基数,将大于基数的所有值放到右侧,将小于基数的所有值放到左侧。视频http://www.tudou.com/listplay/Z-bWgybEtig/pqOqOznbYkY.html中讲解了快速排序的递归实现,看起来非常的简单。c代码如下:void QuickSort_Recursion (int * const pia, const int原创 2017-02-26 17:30:36 · 432 阅读 · 0 评论