
Java算法
坚持的胜利
这个作者很懒,什么都没留下…
展开
-
快速排序(简单易懂)
假设我们想对十个随机大小的数进行从小到大的排序, 例如5,8,4,6,7,9,2,10,1,3; 可以运用比较简单的冒泡排序,从左到右依次进行比较,进行几次循环就可以排出来,虽然比较简单,但是速度却比较慢, 为什么说他慢呢?自然是有比他更快的方法,也就是神奇的快速排序,一种听名字就很快的排序方法 5,8,4,6,7,9,2,10,1,3 原理其实比较简单:首先找到一个数字作为比较的标准(KEY),...原创 2019-04-24 19:57:04 · 479 阅读 · 0 评论 -
算法之归并排序
归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。 原理很简单: 第一步:申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列 第二步:设定两个指针,最初位置分别为两个已经排序序列的起始位置 第三步:比较两个指针所指...原创 2019-04-29 14:56:27 · 164 阅读 · 0 评论 -
迭代器模式
迭代器模式:提供一种方法顺序的访问一个聚合对象中各个元素,而又不暴露该对象的内部表示。 一般情况,我们自己开发时很少自定义迭代器,因为java本身已经把迭代器做到内部中了(比如:常用的list和set中都内置了迭代器)。 当然,如果真有这种需求需要我们自定义迭代器的话,可以参考jdk的迭代器实现方式来实现自己的迭代器。 迭代器是可以从前往后,或者从后往前遍历的。 为遍历不同聚集结构提供如:开始,下...原创 2019-05-06 15:01:21 · 129 阅读 · 0 评论