03 2015 档案

摘要:普通办法:扫一遍知道长度,然后再扫到中间点。高级办法:两个指针去扫,每当第一个指针扫两次时第二个指针搜一次,第一个指针到了终点时,第二个指针刚好到了中间点………………这高级办法真是很巧妙哇。 阅读全文
posted @ 2015-03-31 10:42 HarkLee 阅读(232) 评论(0) 推荐(0) 编辑
摘要:其实内容都是从百度百科抄来的,主要目的就是为了记录一下。西格玛符号是∑,英文译音是Sigma, 表示数学中的求和号,是数学中常用的符号,主要用于求多项数之和,用∑表示。举例:参考http://baike.baidu.com/subview/1206123/13657062.htm 阅读全文
posted @ 2015-03-30 18:00 HarkLee 阅读(1220) 评论(0) 推荐(0) 编辑
摘要:基础不太好,以前学的对数知识都忘光了,这里对于公式的推导做一下练习记录。1、ab=c 那么,就是logac=b。 即以a为底c的对数是b。2、at=NlogaN=tat=alogaN=N3、a1=alogaa=14、M=ap N=aq得出logaM=p logaN=q然后MN=ap+q那么logaM... 阅读全文
posted @ 2015-03-30 17:53 HarkLee 阅读(430) 评论(0) 推荐(0) 编辑
摘要:本身打算把wikipedia中所说的排序算法都过一遍的。 但因为4月与5月要进行自考考试,所以暂时先把这个计划放一下了。两个月一共有10门考试。这些是一定都要过的,不然真的会影响我明年的计划了,所以要进行紧张复习及题海战术。期间有余力时会对排序算法继续进行学习同时进行的还有数据结构,高等数学的学习。... 阅读全文
posted @ 2015-03-30 10:51 HarkLee 阅读(130) 评论(0) 推荐(0) 编辑
摘要:算法说明假设煎锅里边有N个煎饼摞在了一起,它们大小不一并且顺序不一致,我们需要通过拿铲子将它们不停的翻个,进行排序,最终得到一个底下是大的煎饼,上边是小的煎饼的序列。这个排序的过程就是煎饼排序。这个算法有两种解,一种是普通解,一种是最优解。普通论证:例如你的初始煎饼顺序是[2,4,3,1]然后2与4... 阅读全文
posted @ 2015-03-29 04:52 HarkLee 阅读(894) 评论(0) 推荐(0) 编辑
摘要:算法说明图书馆排序是插入排序的变种,典型的以空间换时间的一种方法。我个人感觉这种思路可以学习借鉴,但直接使用的场景应该不大。我们知道,真正的插入排序通常往前边插入元素后,我们要把后边所有的元素后移。而图书馆排序的思路就是将每个元素后边都预留N个空间(例如预留10个元素空间),这样往某个元素前插入时,... 阅读全文
posted @ 2015-03-28 06:51 HarkLee 阅读(213) 评论(0) 推荐(0) 编辑
摘要:算法说明耐心排序是插入排序的一种,至少wikipedia是这么分的。话说我明白这个算法的实现思路了,但是不明白这么做的意义何在? 如果明白的朋友帮忙留个言说一下,以后如果我明白的话,我会来修改这个博文记录清楚的。其实这个算法很简单,先是自动分桶(哈哈,有别于桶排序,耐心排序的分桶是根据实际待排数组的... 阅读全文
posted @ 2015-03-27 07:28 HarkLee 阅读(270) 评论(0) 推荐(0) 编辑
摘要:算法说明多路归并排序也叫k路归并排序,实际上是归并排序的扩展版,同样也是归并排序的一种,通常的应用场景的针对大数据量的排序。实现过程:1、从字面可以看出,多路归并就是将待排的大数据量分成K路,然后将K路的每个子数据集进行排序;然后将排序的结果存储至磁盘中,这也就是所谓的外排序。2、子数据集中的排序我... 阅读全文
posted @ 2015-03-27 06:52 HarkLee 阅读(327) 评论(0) 推荐(0) 编辑
摘要:算法说明若领图排序是分布排序的一种。个人理解,若领图排序算是桶排序+计数排序的变异版,桶排序计数排序理解了,那么若领图排序理解起来就会比较容易。区别其实就是存储中间值的方式做了调整……话说,这个代码我写的很烂很吃力,而且写好几个小时才写好,再次证明我的资质真的很差哟。。。好了,结合代码大概说一下流程... 阅读全文
posted @ 2015-03-26 17:18 HarkLee 阅读(169) 评论(0) 推荐(0) 编辑
摘要:原来是我的mysql日志太多,所以去/data/log/mysql目录(这个目录是从/etc/my.cnf中的log-error确定的)下删除了rm -rf mysql_binary_log.*的日志就好了 阅读全文
posted @ 2015-03-26 14:22 HarkLee 阅读(2723) 评论(0) 推荐(0) 编辑
摘要:---恢复内容开始---算法说明珠排序是分布排序的一种。说实在的,这个排序看起来特别的巧妙,同时也特别好理解,不过不太容易写成代码,哈哈。这里其实分析的特别好了,我就不画蛇添足啦。 大家看一下这个分析,特别特别简单的。然后我对于下面的代码做一下描述:1、找到数组的最大值(20-23行代码)2、创建珠... 阅读全文
posted @ 2015-03-25 18:12 HarkLee 阅读(274) 评论(0) 推荐(0) 编辑
摘要:算法说明鸽巢排序是分布排序的一种,我理解其实鸽巢就是计数排序的简化版,不同之处就是鸽巢是不稳定的,计数排序是稳定的。逻辑很简单,就是先找出待排数组的最大值maxNum,然后实例一个maxNum+1长度的数组。例如待排数组int[] arrayData = { 22, 33, 57, 55, 58, ... 阅读全文
posted @ 2015-03-25 16:10 HarkLee 阅读(356) 评论(0) 推荐(0) 编辑
摘要:算法说明锦标赛排序是选择排序的一种。实际上堆排序是锦标赛排序的优化版本,它们时间复杂度都是O(nlog2n),不同之处是堆排序的空间复杂度(O(1))远远低于锦标赛的空间复杂度(O(2n-1))堆排序是基于二叉树的, 所以锦标赛排序也是基于二叉树的,并且是完美二叉树。我尝试用最通俗的方法来做一下解释... 阅读全文
posted @ 2015-03-25 14:49 HarkLee 阅读(964) 评论(0) 推荐(0) 编辑
摘要:算法说明圈排序是选择排序的一种。其实感觉和快排有一点点像,但根本不同之处就是丫的移动的是当前数字,而不像快排一样移动的是其它数字。根据比较移动到不需要移动时,就代表一圈结束。最终要进行n-1圈的比较。 这个比较说起来比较抽象,所以举例子是最好的方法,这里例子使用的是这里的,望见谅:待排数组[ 6 ... 阅读全文
posted @ 2015-03-24 18:23 HarkLee 阅读(451) 评论(0) 推荐(0) 编辑
摘要:算法说明梳排序是交换排序的一种,它其实也是改自冒泡排序,不同之处是冒泡排序的比较步长恒定为1,而梳排序的比较步长是变化的。步长需要循环以数组长度除以1.3,到最后大于等于1即可。光说可能比较抽象,所以实例举个例子可能会好些,这里使用的例子从这里转载过来的假设待数组[8 4 3 7 6 5 2 1]待... 阅读全文
posted @ 2015-03-23 17:52 HarkLee 阅读(215) 评论(0) 推荐(0) 编辑
摘要:算法说明地精排序是交换排序的一种,它是冒泡排序的一种改良,我感觉和鸡尾酒排序挺像的。不同之处是鸡尾酒排序是从小到大,然后再从大到小切换着排序的。而地精排序是上来先从小到大排序,碰到交换到再从大到小,接着再从小到大进行排序。举个例子:对8,6,4,5,1进行升序排序1、8与6交换,结果是{6,8,4,... 阅读全文
posted @ 2015-03-20 16:18 HarkLee 阅读(307) 评论(0) 推荐(0) 编辑
摘要:算法说明Bogo排序是交换排序的一种,它是一种随机排序,也是一种没有使用意义的排序,同样也是一种我觉得很好玩的排序。举个形象的例子,你手头有一副乱序的扑克牌,然后往天上不停的扔,那么有一定机率会变成有序的。哈哈,就是这样。看一下代码大家就知道了。代码使用的是javapackage hark.sort... 阅读全文
posted @ 2015-03-20 15:14 HarkLee 阅读(494) 评论(0) 推荐(0) 编辑
摘要:算法说明个人感觉是没有意义的算法,只是用来作为学术研究。或者说开拓一下思维。从wikipedia copy来的一句解释的话:Stooge排序是一种低效的递归排序算法,甚至慢于冒泡排序。在《算法导论》第二版第7章(快速排序)的思考题中被提到,是由Howard、Fine等教授提出的所谓“漂亮的”排序算法... 阅读全文
posted @ 2015-03-20 14:41 HarkLee 阅读(512) 评论(0) 推荐(0) 编辑
摘要:算法说明奇偶排序又叫奇偶换位排序,砖排序。它是一种交换排序,也是冒泡的一个变种顾名思义,奇偶排序,其实就是先循环奇数位,然后将奇数位与偶数位比较计算。 然后再循环偶数位,再和奇数位比较运算。看一下代码大家就明白了。据wiki所述,这种算法是一种并行算法,个人对这块现在不太理解,没明白这块所谓的并行是... 阅读全文
posted @ 2015-03-20 11:24 HarkLee 阅读(301) 评论(0) 推荐(0) 编辑
摘要:算法说明鸡尾酒排序又叫定向冒泡排序,鸡尾酒搅拌排序,搅拌排序,涟漪排序,回来排序,快乐小时排序。鸡尾酒排序是交换排序的一种,它是冒泡排序的一个轻微的变种。冒泡是从低向高比较排序,鸡尾酒从低向高,从高向低交换着进行排序。大家看一下代码就知道了。某些特殊有序数组情况下,鸡尾酒排序是效率略好于冒泡排序,例... 阅读全文
posted @ 2015-03-20 10:36 HarkLee 阅读(311) 评论(0) 推荐(0) 编辑
摘要:算法说明桶排序的逻辑其实特别好理解,它是一种纯粹的分而治之的排序方法。举个例子简单说一下大家就知道精髓了。假如对11,4,2,13,22,24,20 进行排序。那么,我们将4和2放在一起,将11,13放在一起,将22,24,20放在一起。 然后将这三部分分别排序(可以根据实现情况任意选择排序方式,我... 阅读全文
posted @ 2015-03-20 07:39 HarkLee 阅读(322) 评论(0) 推荐(0) 编辑
摘要:算法说明基数排序是基于计数排序的,所以看这个之前要先看一下计数排序对于理解基数排序是很有帮助的(发现计数和基数的音节几乎一致啊)。这个我有写,请点击。OK,现在你肯定已经熟悉了计数排序,那么我就来说一下基数排序。所谓基数排序,其实就是分别对数字的个位,十位,百位,百位。。。。分别进行计数排序。当然可... 阅读全文
posted @ 2015-03-19 16:12 HarkLee 阅读(221) 评论(0) 推荐(0) 编辑
摘要:算法说明计数排序属于线性排序,它的时间复杂度远远大于常用的比较排序。(计数是O(n),而比较排序不会超过O(nlog2nJ))。其实计数排序大部分很好理解的,唯一理解起来很蛋疼的是为了保证算法稳定性而做的数据累加,大家听我说说就知道了:1、首先,先取出要排序数组的最大值,假如我们的数组是int[] ... 阅读全文
posted @ 2015-03-19 07:04 HarkLee 阅读(435) 评论(0) 推荐(0) 编辑
摘要:算法说明希尔排序是插入排序的优化版。插入排序的最坏时间复杂度是O(n2),但如果要排序的数组是一个几乎有序的数列,那么会降低有效的减低时间复杂度。希尔排序的目的就是通过一个increment(增量)来对数列分组进行交换排序,最终使数列几乎有序,最后再执行插入排序,统计出结果。通过increment=... 阅读全文
posted @ 2015-03-18 06:40 HarkLee 阅读(261) 评论(0) 推荐(0) 编辑
摘要:前言快速排序是最常见,也是面试中最容易考的排序方法,这里做一下总结算法说明其实这里说的很清楚了:http://blog.csdn.net/morewindows/article/details/6684558不过我还是打算按自己的逻辑再描述一下,如果看不懂,再去看这位大神的贴子啦。快速排序其实用的也... 阅读全文
posted @ 2015-03-17 07:41 HarkLee 阅读(271) 评论(0) 推荐(0) 编辑
摘要:前言堆排序我是看了好半天别人的博客才有了理解,然后又费了九牛二虎之力才把代码写出来,我发现我的基础真的很差劲啊……不过自己选的路一定要坚持走下去。我试着把我的理解描述出来,如有不妥之处希望大家可以指点出来算法说明堆排序,是基于堆的排序。 堆也就是二叉树的一种(完全二叉树),首先要确定堆的定义,才可以... 阅读全文
posted @ 2015-03-17 06:12 HarkLee 阅读(391) 评论(0) 推荐(0) 编辑
摘要:/* * 简单选择排序 */public class SimpleSort { public static void main(String[] args) { int[] arrayData = { 5, 9, 6, 7, 4, 1, 2, 3, 8 }; SimpleSortMethod(a... 阅读全文
posted @ 2015-03-16 13:57 HarkLee 阅读(134) 评论(0) 推荐(0) 编辑
摘要:算法说明:归并排序的思路就是分而治之,将数组中的数字递归折半进行排序。 递归到最底层就只剩下有两个数字进行比较,再从底层往下进行排序合并。最终得出结果。同样,语言描述可能对于不知道这个算法的人来说,理解的比较吃力,所以还是举个例子来简单说明一下。首先,测试数据是int[] arrayData = {... 阅读全文
posted @ 2015-03-12 18:18 HarkLee 阅读(281) 评论(2) 推荐(0) 编辑
摘要:算法说明:先是拿语言进行一下描述:假如是做降序排序,那么从头开始扫描每个数字,使每个数字与它前面的若干数字进行比较,直接找到小于当前数字a(当前数字以a代替)的数字b(小于a的数字以b代替)。 然后将数字a插入到数学b的位置。将数字b到数字a前一位的数字向后移动一位。 至此,排序结束。语言表述其实懂... 阅读全文
posted @ 2015-03-11 16:38 HarkLee 阅读(284) 评论(0) 推荐(0) 编辑
摘要:算法说明:冒泡排序实际上是使用的最多的排序,逻辑是循环然后对相邻的数字进行比较,并交换数据。例如有一个数组int[] arrayData = { 2, 3, 1, 5, 6, 7, 4, 65, 42 },一共9个元素。假设我们要做降序排序,那么首先全部9个元素从第1个元素开始进行两两比较,把小的元... 阅读全文
posted @ 2015-03-11 15:05 HarkLee 阅读(278) 评论(0) 推荐(0) 编辑
摘要:连接的三次握手:1握、client向server发送连接请求,发送的报文是:syn=1,seq number=生成的随机数x 。 这时client的状态是SYN_SEND2握、server从syn=1知道client要进行连接。 然后向客户端回复信息,即ack number=x+1(x是client... 阅读全文
posted @ 2015-03-10 15:13 HarkLee 阅读(419) 评论(0) 推荐(0) 编辑
摘要:为什么重启:突然发现ClouderaManager的webui访问不了了……我使用netstat看了一下我的webui监听端口,发现尼玛N多CLOSE_WAIT,网上查了一下是Socket关闭有问题导致N多挂起链接。原因并如何解决:找了半天,没有找到很好的办法,只得用重启CDM来解决的。 如果大家有... 阅读全文
posted @ 2015-03-09 14:54 HarkLee 阅读(3446) 评论(0) 推荐(0) 编辑
摘要:ajax请求node.js接口出现了如下的错误:XMLHttpRequest cannot load http://xxx.xxx.xx.xx:8888/getTem?cityId=110105&date=2015-03-04. No 'Access-Control-Allow-Origin' he... 阅读全文
posted @ 2015-03-06 16:56 HarkLee 阅读(840) 评论(0) 推荐(0) 编辑
摘要:去Cloudera Server上边看了一下日志:cat /opt/cloudera-manager/log/cloudera-scm-server/cloudera-scm-server.log日志大概如下:etConnection(LogicalConnectionImpl.java:157) ... 阅读全文
posted @ 2015-03-05 10:56 HarkLee 阅读(14561) 评论(1) 推荐(1) 编辑

点击右上角即可分享
微信分享提示