首页 > 编程语言
经典排序算法 - 堆排序Heap sort
经典排序算法 - 堆排序Heap sort 堆排序有点小复杂,分成三块 第一块,什么是堆,什么是最大堆 第二块,怎么将堆调整为最大堆,这部分是重点 第三块,堆排序介绍 第一块,什么是堆,什么是最大堆 什么是堆 这里的堆(二叉堆),指得不是堆栈的那个堆,而是一种数据结构。 堆可以视为一棵完全的二叉树,完全二叉树的一个“优秀”的性质是,除了最底层之外,每一层都是满的,这使得堆可...
分类:编程语言   时间:2014-12-16 13:32:58    收藏:0  评论:0  赞:0  阅读:229
经典排序算法 - 地精排序Gnome Sort
经典排序算法 - 地精排序Gnome Sort 号称最简单的排序算法,只有一层循环,默认情况下前进冒泡,一旦遇到冒泡的情况发生就往回冒,直到把这个数字放好为止 直接看它排序的过程,待排数组[6 2 4 1 5 9] 先设计一个标识i=0然后从头开始判断,什么时候(i , 所以,如何控制i的值是这个算法的关键 例如待排数组: [6 2 4 1 5 9] [0...
分类:编程语言   时间:2014-12-16 13:32:48    收藏:0  评论:0  赞:0  阅读:319
经典排序算法 - 奇偶排序Odd-even sort
经典排序算法 - 奇偶排序Odd-even sort 又一个比较性质的排序,基本思路是奇数列排一趟序,偶数列排一趟序,再奇数排,再偶数排,直到全部有序 举例吧, 待排数组[6 2 4 1 5 9] 第一次比较奇数列,奇数列与它的邻居偶数列比较,如6和2比,4和1比,5和9比 [6 2 4 1 5 9] 交换后变成 [2 6 1 4 5 9]   第二次比较偶数列,即6和1比,5和...
分类:编程语言   时间:2014-12-16 13:32:38    收藏:0  评论:0  赞:0  阅读:327
经典排序算法 - 梳排序Comb sort
经典排序算法 - 梳排序Comb sort 梳排序还是基于冒泡排序,与冒泡不同的是,梳排序比较的是固定距离处的数的比较和交换,类似希尔那样 这个固定距离是待排数组长度除以1.3得到近似值,下次则以上次得到的近似值再除以1.3,直到距离小至3时,以1递减 不太好描述,还是看例子吧 假设待数组[8 4 3 7 6 5 2 1] 待排数组长度为8,而8÷1.3=6,则比较8和2,4和1,并做交...
分类:编程语言   时间:2014-12-16 13:32:28    收藏:0  评论:0  赞:0  阅读:129
经典排序算法 - 耐心排序Patience Sorting
经典排序算法 - 耐心排序Patience Sorting 这个排序的关键在建桶和入桶规则上 建桶规则:如果没有桶,新建一个桶;如果不符合入桶规则那么新建一个桶 入桶规则:只要比桶里最上边的数字小即可入桶,如果有多个桶可入,那么按照从左到右的顺序入桶即可   举个例子,待排数组[6 4 5 1 8 7 2 3] 第一步,取数字6出来,此时一个桶没有,根据建桶规则1新建桶,将把自己放进去...
分类:编程语言   时间:2014-12-16 13:32:18    收藏:0  评论:0  赞:0  阅读:195
经典排序算法 - 珠排序Bead Sort
经典排序算法 - 珠排序Bead Sort 珠排序非常另类[地精也很另类],看完你就知道了,先介绍思路,再分解过程 这是它的英文论文 http://www.cs.auckland.ac.nz/~jaru003/research/publications/journals/beadsort.pdf 截图即从上边的论文里抓的屏 先了解一个概念,不然不容易理解,一个数字3用3个1来表示 一个数...
分类:编程语言   时间:2014-12-16 13:32:12    收藏:0  评论:0  赞:0  阅读:336
经典排序算法 - 计数排序Counting sort
经典排序算法 - 计数排序Counting sort 注意与基数排序区分,这是两个不同的排序 计数排序的过程类似小学选班干部的过程,如某某人10票,作者9票,那某某人是班长,作者是副班长 大体分两部分,第一部分是拉选票和投票,第二部分是根据你的票数入桶 看下具体的过程,一共需要三个数组,分别是待排数组,票箱数组,和桶数组 var unsorted = new int[] { 6, 2, ...
分类:编程语言   时间:2014-12-16 13:31:50    收藏:0  评论:0  赞:0  阅读:254
经典排序算法 - Proxmap Sort
经典排序算法 - Proxmap Sort 这个排序是桶排序和基数排序的改进,理解了前两者,这个排序很容易理解 先回忆下桶排序是怎么回事,它与桶的区别在于入桶规则,桶排序里是1入1号桶,2入2号桶 这个排序把数字分区了,然后给出一个所谓的键,例如它规定0-9都入0号桶 10-19都入1号桶,这样桶覆盖的范围将增大10倍,这在某种情况下是很有用的 有了桶排的基础后,再看下边两张图就什么都明...
分类:编程语言   时间:2014-12-16 13:31:18    收藏:0  评论:0  赞:0  阅读:333
经典排序算法 - Flash Sort
经典排序算法 - Flash Sort FlashSort依然类似桶排,主要改进了对要使用的桶的预测,或者说,减少了无用桶的数量从而节省了空间,例如 待排数字[ 6 2 4 1 5 9 100 ]桶排需要100个桶,而flash sort则由于可以预测桶则只需要7个桶 即待排数组长度个桶,如何预测将要使用的桶有这么一个公式 该排序有前置条件,需要知道待排数组的区间和待排数组的长度, ...
分类:编程语言   时间:2014-12-16 13:30:58    收藏:0  评论:0  赞:0  阅读:319
经典排序算法 - Strand Sort
经典排序算法 - Strand Sort Strand sort是思路是这样的,它首先需要一个空的数组用来存放最终的输出结果,给它取个名字叫"有序数组" 然后每次遍历待排数组,得到一个"子有序数组",然后将"子有序数组"与"有序数组"合并排序 重复上述操作直到待排数组为空结束   看例子吧 待排数组[ 6 2 4 1 5 9 ] 第一趟遍历得到"子有序数组"[ 6 9],并将其归并排...
分类:编程语言   时间:2014-12-16 13:30:28    收藏:0  评论:0  赞:0  阅读:297
经典排序算法 - 圈排序Cycle Sort
经典排序算法 - Cycle Sort Cycle sort的思想与计数排序太像了,理解了基数排序再看这个会有很大的帮助, 圈排序与计数排序的区别在于圈排序只给那些需要计数的数字计数,先看完文章吧,看完再回来理解这一句话 所谓的圈的定义,我只能想到用例子来说明,实在不好描述 待排数组[ 6 2 4 1 5 9 ] 排完序后[ 1 2 4 5 6 9 ] 数组索引[ 0 1 2 3 4 ...
分类:编程语言   时间:2014-12-16 13:30:18    收藏:0  评论:0  赞:0  阅读:305
经典排序算法 - 图书馆排序(Library Sort)
经典排序算法 - 图书馆排序(Library Sort) 思路简介,大概意思是说,排列图书时,如果在每本书之间留一定的空隙,那么在进行插入时就有可能会少移动一些书,说白了就是在插入排序的基础上,给书与书之间留一定的空隙,这个空隙越大,需要移动的书就越少,这是它的思路,用空间换时间 看红线标的那句话知道,这个空隙留多大,你自己定 图书馆排序的关键是分配空间,分配完空间后直接使用插入排序即可 ...
分类:编程语言   时间:2014-12-16 13:30:08    收藏:0  评论:0  赞:0  阅读:287
深入探索C++对象模型--对象模型
C++对象模型 C++中数据成员有两种:static和nonstatic,以及三种classmember functions:static nonstatic和virtual 现在标准C++对象模型: Nonstatic data Members被置于每一个classobject之内,static data members则被存放在所有的class object之外,static和nonst...
分类:编程语言   时间:2014-12-16 13:29:26    收藏:0  评论:0  赞:0  阅读:295
dubbo启动报java.lang.ClassNotFoundException: javassist.ClassPath
在dubbo启动的过程中报错误:java.lang.ClassNotFoundException: javassist.ClassPath,调试发现代码:Class clazz = Class.forName(line, true, classLoader)执行加载类com.alibaba.dubbo.common.compiler.support.JavassistCompiler时报:java...
分类:编程语言   时间:2014-12-16 13:28:48    收藏:0  评论:0  赞:0  阅读:583
spring启动component-scan类扫描加载过程---源码分析
最近因为写书的事情,一段时间没有写博客了,有朋友最近问到了spring加载类的过程,尤其是基于annotation注解的加载过程,有些时候如果由于某些系统部署的问题,加载不到,很是不解!就针对这个问题,我这篇博客说说spring启动过程,用源码来说明,这部分内容也会在书中出现,只是表达方式会稍微有些区别,我将使用spring 3.0的版本来说明(虽然版本有所区别,但是变化并不是特别大),另外,这里...
分类:编程语言   时间:2014-12-16 13:28:38    收藏:0  评论:0  赞:0  阅读:405
spring的事务
Chapter1.Spring中的事务控制(Transacion Management with Spring)Table of Contents1.1. 有关事务(Transaction)的楔子 1.1.1. 认识事务本身 1.1.2. 初识事务家族成员1.2. 群雄逐鹿下的Java事务管理 1....
分类:编程语言   时间:2014-12-16 13:25:59    收藏:0  评论:0  赞:0  阅读:541
递归多维数组到最子集的方法,方便操作取值。
如图可以看到;json是个二维数组。我们现在想办法把它递归到最里面一层的数组(也就是说,递归到不是数组的情况,方便操作取值)。instanceof Array 方法是判断是否是数组,当递归data到不是数组的时候,也就是else 里面的情况。console 输出结果如下:得到的是对象,二不是数组。这...
分类:编程语言   时间:2014-12-16 13:24:49    收藏:0  评论:0  赞:0  阅读:415
【转】linux下C语言使用线程池(附带编码)
原文链接:linux下C语言使用线程池(附带编码) - china_sky - 博客频道 - CSDN.NEThttp://blog.csdn.net/feige2008/article/details/7827390使用一个东西,我们要明白为什么使用它,如何使用它,使用它能达到什么效果在写本文章时...
分类:编程语言   时间:2014-12-16 13:24:20    收藏:0  评论:0  赞:0  阅读:377
转 Eric Raymond对于几大开发语言的评价
原文见:http://blog.jobbole.com/79421/【译注】:Eric Raymond是开源运动的领袖人物,对于UNIX开发有很深的造诣,主持开发了fetchmail。他的《大教堂与集市》被奉为开源运动的经典之作。下面对几大开发语言的评价非常中肯,是我近年来看到的比较出色的评论。特别...
分类:编程语言   时间:2014-12-16 13:23:50    收藏:0  评论:0  赞:0  阅读:227
疯狂java学习笔记之面向对象(七) - super关键字
super有以下两大作用: 1、起限定作用:强制去访问父类的成员(Field、方法) 2、起调用作用:指定/显示调用父类的某个构造器super调用规则: 1、子类构造器总会调用父类构造器一次,默认情况下子类构造器会自动调用父类无参数的构造器; 2、若希望明确指定子类构造器调用父类哪个构造器,...
分类:编程语言   时间:2014-12-16 13:21:18    收藏:0  评论:0  赞:0  阅读:221
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!