摘要: 基数排序基于多关键字排序的思想,即把一个逻辑关键字拆分成多个关键字。 基数排序有两种实现方式:第一种叫做最高位优先(MSD),即先按最高位排成若干子序列,再对每个子序列按次高位排。第二种叫做最低位优先(LSD),这种方式不必分成子序列,每次排序全体元素都参与。最低位可以优先这样进行,不通过比较... 阅读全文
posted @ 2015-03-26 20:26 人生不酱油 阅读(431) 评论(0) 推荐(0) 编辑
摘要: 基于比较的排序算法是不能突破O(NlogN)的,而非基于比较的排序,如计数排序、桶排序和计数排序,则可以突破O(NlogN)的时间下限。但要注意的是,非基于比较的排序算法的使用都是有条件限制的,例如元素的大小限制,而基于比较的排序则没有这种限制(在一定范围内)。对特定场合有着特殊性质的数据,非基... 阅读全文
posted @ 2015-03-26 14:54 人生不酱油 阅读(827) 评论(0) 推荐(0) 编辑
摘要: 归并排序是将两个或两个以上的有序子表合并成一个新的有序表。它的基本思想是分治法。对于二路归并而言,初始时将含有n个节点的待排序序列看作由n个长度为1的有序子表组成,将它们一次两两归并得到长度为2的若干有序子表,再对它们两两合并,知道得到长度为n的有序表,排序结束。 与快速排序和堆排序相比,归并... 阅读全文
posted @ 2015-03-26 12:32 人生不酱油 阅读(1293) 评论(0) 推荐(0) 编辑
摘要: 插入排序的基本思想是:每次选择待排序的记录序列的第一个记录,按照排序值的大小将其插入到已排序的记录序列中的适当位置,直到所有记录全部排序完毕。直接插入排序: 直接插入排序是一种最简单的排序方法,整个排序过程为:先将第一个记录看做一个有序记录序列,然后从第二个记录开始,依次将为排序的记录插入这个... 阅读全文
posted @ 2015-03-25 19:10 人生不酱油 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 算法思想: 快速排序采用的思想是分治思想。 快速排序是找出一个元素(理论上可以随便找一个)作为基准(pivot),然后对数组进行分区操作,使基准左边元素的值都不大于基准值,基准右边的元素值都不小于基准值,如此作为基准的元素调整到排序后的正确位置。递归快速排序,将其他n-1个元素也调整到排序后的正... 阅读全文
posted @ 2015-03-25 15:16 人生不酱油 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 堆排序与快速排序、归并排序都是时间复杂度为O(NlogN)的常见排序算法。堆排序是一种利用堆的性质进行排序的算法。最大堆(最小堆与之类似)是一种比较特殊的完全二叉树,它满足两个特性: 1. 父节点的值总是大于等于任何一个子节点的值。 2. 每个节点的左子树和右... 阅读全文
posted @ 2015-03-25 13:00 人生不酱油 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 代码比较:notepad++中的插件Compare(还不错)调试:gdb查看源代码:source insight(格式方面有限制),understand远程登录:xshell远程文件传输:xftp(类似的有Bitvise tunnelier)pdf准换工具:ABBYY FineReader 阅读全文
posted @ 2014-11-19 09:38 人生不酱油 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 看《Effective C++》的过程中,涉及enum hack,尤其是在条款48(认识template元编程)中。 TMP(Template metaprogramming,模板元编程)起手程序:编译期计算阶乘。 1 #include 2 //计算阶乘:TMP通过“递归模板具现化”实现循环 ... 阅读全文
posted @ 2014-11-18 17:18 人生不酱油 阅读(1405) 评论(0) 推荐(0) 编辑
摘要: 因为项目需要,需要以5s为周期,收集广播信息,所以就要用到定时器和recvfrom函数,而在实用的过程中发现,5s到了,而程序仍然处于阻塞状态,一直纠结了好久,才找到问题所在,在此mark一下,以备后期回顾。 归根结底,原因在于使用的signal()函数:signal()是重启函数,超时以后会... 阅读全文
posted @ 2014-10-24 11:08 人生不酱油 阅读(1502) 评论(0) 推荐(0) 编辑
摘要: 碰到关键字static,总有种傻傻记不清楚的感觉,看《C和指针》,感觉其中对static总结的不错,特地记下来,给自己提个醒,大家也可以参考下。来自《C和指针》P42-45根据不同的上下文,static关键字有不同的意思:当static用于函数定义,或用于代码块之外的变量声明时,static关键... 阅读全文
posted @ 2014-10-21 14:26 人生不酱油 阅读(147) 评论(0) 推荐(0) 编辑