自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(3)
  • 收藏
  • 关注

原创 排序算法之堆排思想及代码实现

在介绍堆排序前,我们需要了解一下一种数据结构 —— 顶堆。 什么是顶堆? 它是一颗完全二叉树,顶堆有大顶堆和小顶堆两种。所谓大顶堆就是在这颗完全二叉树中,任何一颗子树都满足:父结点的值 > 孩子结点的值;小顶堆则相反。 如图: 什么是堆排序(Heapsort)? 利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。 ...

2018-03-26 22:47:57 389 1

转载 volatile和乐观锁悲观锁

最近想学习一些并发的内容,感觉是很复杂的一个体系,看到两篇非常好的博客分享一下 《volatile关键字解析》 从并发的引入包括内存模型开始讲,对volatile关键字的原理从汇编结果的角度讲解清晰 《Java并发问题–乐观锁与悲观锁以及乐观锁的一种实现方式-CAS》 清晰的说明了悲观锁与乐观锁的区别,并对乐观锁的原理进行了剖析...

2018-03-19 11:00:20 1601

原创 经典快排思想,以及快排的改进

一.经典快排思想 前提条件:给定一个无序数组arr 取这个数组最后一个数 num 作为标准,将前面部分的数分为两部分,使得<=num的部分在左边,>num的数在右边; 然后将最后一个数和>num部分的第一个数进行交换,就使得原本在数组最后位置的num找到了正确的位置,它的左边都是比它小的以及和它一样的数,右边都是比它大的数 回到1,进行递归或迭代,使得所有的数都找到正确的位...

2018-03-02 16:50:40 2807

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除