会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
9龙
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
下一页
2019年5月23日
感受lambda之美,推荐收藏,需要时查阅
摘要: 一、引言二、java重要的函数式接口1、什么是函数式接口1.1 java8自带的常用函数式接口。1.2 惰性求值与及早求值2、常用的流2.1 collect(Collectors.toList())2.2 filter2.3 map2.4 flatMap2.5 max和min2.6 count2.7
阅读全文
posted @ 2019-05-23 17:29 9龙
阅读(1760)
评论(4)
推荐(6)
2019年5月21日
java序列化,看这篇就够了
摘要: 一、序列化的含义、意义及使用场景二、序列化实现的方式1、Serializable1.1 普通序列化1.2 成员是引用的序列化1.3 同一对象序列化多次的机制1.4 java序列化算法潜在的问题1.5 可选的自定义序列化2、Externalizable:强制自定义序列化3、两种序列化对比三、序列化版本
阅读全文
posted @ 2019-05-21 18:06 9龙
阅读(98675)
评论(21)
推荐(63)
2019年5月9日
告别复杂的流关闭
摘要: 一、引言 也许大家在使用流时因为未关闭、或者未正常关闭引发了很多问题。其实java7引入了自动关闭流机制,只是我们未使用而已。 二、自动关闭流例子 public class AutoCloseTest { public&nb
阅读全文
posted @ 2019-05-09 16:51 9龙
阅读(849)
评论(5)
推荐(1)
2019年5月5日
快速排序及其优化
摘要: 一、引言 顾名思义,快速排序是实践中的一种快速排序算法,在C++或对Java基础类型的排序中特别有用。它的平均运行时间是O(NlogN);但最坏情形性能为O(N2)。我会先介绍快速排序过程,再讨论如何优化。 二、快速排序(quicksort) 算法思想: 采用分治法,将数组分为两部分,并递归调用。将
阅读全文
posted @ 2019-05-05 09:47 9龙
阅读(4735)
评论(4)
推荐(1)
2019年4月29日
java泛型中使用的排序算法——归并排序及分析
摘要: 一、引言 我们知道,java中泛型排序使用归并排序或TimSort。归并排序以O(NlogN)最坏时间运行,下面我们分析归并排序过程及分析证明时间复杂度;也会简述为什么java选择归并排序作为泛型的排序算法。 二、图解归并排序过程 算法思想:采用分治法: 分割:递归地把当前序列平均分割成两半。 集成
阅读全文
posted @ 2019-04-29 15:00 9龙
阅读(1749)
评论(0)
推荐(0)
2019年4月27日
图解堆排序
摘要: 一、引言二、图解堆排序(heapsort)三、java代码实现及时间复杂度分析四、总结 一、引言 优先队列可以用于以O(NlogN)时间排序,正如上一篇的求解topK问题中用到的思想一样,这种思想就是堆排序(heapsort)。 二、图解堆排序(heapsort) 算法思想:通过将数组元素进行bui
阅读全文
posted @ 2019-04-27 11:10 9龙
阅读(751)
评论(0)
推荐(0)
2019年4月26日
面试题:求第K大元素(topK)[增强版]
摘要: 在原来基础上增加了算法E。 一、引言 这就是类似求Top(K)问题,什么意思呢?怎么在无序数组中找到第几(K)大元素?我们这里不考虑海量数据,能装入内存。 二、普通算法 算法A: 将数组中的元素升序排序,找到数组下标k 1的元素即可。这是大家最容易想到的方法,如果使用简单排序算法,时间复杂度为O
阅读全文
posted @ 2019-04-26 22:28 9龙
阅读(2117)
评论(0)
推荐(0)
2019年4月19日
最详细版图解优先队列(堆)
摘要: 一、队列与优先队列的区别 队列是一种FIFO(First In First Out)先进先出的数据结构,对应于生活中的排队的场景,排在前面的人总是先通过,依次进行。 优先队列是特殊的队列,从“优先”一词,可看出有“插队现象”。比如在火车站排队进站时,就会有些比较急的人来插队,他们就在前面先通过验票。
阅读全文
posted @ 2019-04-19 22:02 9龙
阅读(9017)
评论(0)
推荐(3)
2019年4月16日
你知道希尔排序为什么可以打破二次时间界吗?
摘要: 引言: 前面详解了如何优化冒泡排序?,图解选择排序与插入排序,这些简单排序算法平均时间复杂度都是O(n^2)。希尔排序是第一批打破二次时间屏障的算法之一。下面我们来分析为什么希尔排序可以打破二次时间复杂度。 一、分析简单排序算法的下界 逆序:具有性质i < j但 a[i] > a[j]的
阅读全文
posted @ 2019-04-16 21:06 9龙
阅读(1527)
评论(3)
推荐(1)
2019年4月15日
图解选择排序与插入排序
摘要: 上一篇详述了冒泡排序及其优化,有兴趣的可以看看: 如何优化冒泡排序? 一、选择排序(SelectionSort) 算法思想:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
阅读全文
posted @ 2019-04-15 15:06 9龙
阅读(12371)
评论(1)
推荐(2)
上一页
1
2
3
下一页
公告