摘要:
算法说明多路归并排序也叫k路归并排序,实际上是归并排序的扩展版,同样也是归并排序的一种,通常的应用场景的针对大数据量的排序。实现过程:1、从字面可以看出,多路归并就是将待排的大数据量分成K路,然后将K路的每个子数据集进行排序;然后将排序的结果存储至磁盘中,这也就是所谓的外排序。2、子数据集中的排序我... 阅读全文
摘要:
算法说明若领图排序是分布排序的一种。个人理解,若领图排序算是桶排序+计数排序的变异版,桶排序计数排序理解了,那么若领图排序理解起来就会比较容易。区别其实就是存储中间值的方式做了调整……话说,这个代码我写的很烂很吃力,而且写好几个小时才写好,再次证明我的资质真的很差哟。。。好了,结合代码大概说一下流程... 阅读全文
启动mysql出现了error the server quit without updating pid file (/var/lib/mysql/localhost.localdomain.pid)
摘要:
原来是我的mysql日志太多,所以去/data/log/mysql目录(这个目录是从/etc/my.cnf中的log-error确定的)下删除了rm -rf mysql_binary_log.*的日志就好了 阅读全文
摘要:
---恢复内容开始---算法说明珠排序是分布排序的一种。说实在的,这个排序看起来特别的巧妙,同时也特别好理解,不过不太容易写成代码,哈哈。这里其实分析的特别好了,我就不画蛇添足啦。 大家看一下这个分析,特别特别简单的。然后我对于下面的代码做一下描述:1、找到数组的最大值(20-23行代码)2、创建珠... 阅读全文
摘要:
算法说明鸽巢排序是分布排序的一种,我理解其实鸽巢就是计数排序的简化版,不同之处就是鸽巢是不稳定的,计数排序是稳定的。逻辑很简单,就是先找出待排数组的最大值maxNum,然后实例一个maxNum+1长度的数组。例如待排数组int[] arrayData = { 22, 33, 57, 55, 58, ... 阅读全文
摘要:
算法说明锦标赛排序是选择排序的一种。实际上堆排序是锦标赛排序的优化版本,它们时间复杂度都是O(nlog2n),不同之处是堆排序的空间复杂度(O(1))远远低于锦标赛的空间复杂度(O(2n-1))堆排序是基于二叉树的, 所以锦标赛排序也是基于二叉树的,并且是完美二叉树。我尝试用最通俗的方法来做一下解释... 阅读全文
摘要:
算法说明圈排序是选择排序的一种。其实感觉和快排有一点点像,但根本不同之处就是丫的移动的是当前数字,而不像快排一样移动的是其它数字。根据比较移动到不需要移动时,就代表一圈结束。最终要进行n-1圈的比较。 这个比较说起来比较抽象,所以举例子是最好的方法,这里例子使用的是这里的,望见谅:待排数组[ 6 ... 阅读全文
摘要:
算法说明梳排序是交换排序的一种,它其实也是改自冒泡排序,不同之处是冒泡排序的比较步长恒定为1,而梳排序的比较步长是变化的。步长需要循环以数组长度除以1.3,到最后大于等于1即可。光说可能比较抽象,所以实例举个例子可能会好些,这里使用的例子从这里转载过来的假设待数组[8 4 3 7 6 5 2 1]待... 阅读全文
摘要:
算法说明地精排序是交换排序的一种,它是冒泡排序的一种改良,我感觉和鸡尾酒排序挺像的。不同之处是鸡尾酒排序是从小到大,然后再从大到小切换着排序的。而地精排序是上来先从小到大排序,碰到交换到再从大到小,接着再从小到大进行排序。举个例子:对8,6,4,5,1进行升序排序1、8与6交换,结果是{6,8,4,... 阅读全文
摘要:
算法说明Bogo排序是交换排序的一种,它是一种随机排序,也是一种没有使用意义的排序,同样也是一种我觉得很好玩的排序。举个形象的例子,你手头有一副乱序的扑克牌,然后往天上不停的扔,那么有一定机率会变成有序的。哈哈,就是这样。看一下代码大家就知道了。代码使用的是javapackage hark.sort... 阅读全文