
算法
文章平均质量分 92
that_is_cool
I know you are wrong,but that's cool
展开
-
算法:快速排序
快速排序的代码如下:public class Counter { public static int a[] = {5,2,1,0,3,9,2}; private static int size = a.length; public static void main(String args[]) { quickSort(); ...原创 2018-04-26 15:41:09 · 122 阅读 · 0 评论 -
算法:冒泡算法及优化
算法:冒泡算法及优化 代码如下:public class MaoPao { public static int a[] ={1,2,3,4,5,6,7,8,9}; public static void main(String args[]) { sort(); for (int k: a) { ...原创 2018-05-08 11:40:17 · 139 阅读 · 0 评论 -
Java实现二叉树(二):平衡二叉树的实现之AVL树
Java实现二叉树(二):平衡二叉树的实现之AVL树 前文中,我们实现了二叉查找树,同时,我们也提到了这么一个隐患:如果二叉树无法控制自己的深度,那么,二叉树的查找效率很可能会发生极端的转化--如,顺序的将一堆数据插入查找二叉树,此时,二叉树会成为一个近似链表的数据结构。所以,为了解决这个问题,我们必须要找到问题的根源所在--二叉树深度,由此,推出本文的主角--平衡二叉树。 一、平衡二...原创 2018-07-08 13:27:57 · 1305 阅读 · 5 评论 -
Java实现二叉树(一):二叉查找树的实现
Java实现二叉树(一):二叉查找树的实现 数据结构+算法=程序,这是共识,是真理,还是学生时代卷子中的考点。但大多数程序员往往缺乏数据结构和算法的知识,或是根本没有学过,或是学过,但在工作时频繁地与业务逻辑打交道,也就逐渐忘记了有这么一回事。 话不多说,直接开始吧,本文将介绍二叉树的基本概念,以及平衡二叉树增删改查节点的实现,由于网上关于数据结构的资料,C++相对居多,而本身作为一个...原创 2018-07-07 11:49:06 · 6982 阅读 · 0 评论 -
堆排序:原理解析及Java实现
堆排序:原理解析及Java实现在排序算法中,堆排序的出现频率相当高,相比其他排序算法如快排,他可能依赖一丢丢的数据结构基础,接下来我们详细地解释堆排的原理。什么是堆?堆其实是一种特殊的完全二叉树,在笔者之前的文章中,曾经讲解过二叉查找树,但是对于完全二叉树和满二叉树却一笔带过了,出来混总是要还的,接下来我们先把堆的概念普及一下。完全二叉树的概念,就是自上而下,自左而右,依次的将每一...原创 2018-07-21 10:37:43 · 1314 阅读 · 1 评论 -
希尔排序:打破直接插入排序得2^n
希尔排序:打破直接插入排序得2^n八大排序中分为如下的几类,选择排序类,插入排序类,交换排序类。选择排序,直接插入排序,冒泡排序分别是这三类排序中时间复杂度为O(2^n)的简单实现,不愿服输的数学家们自然不会满足如此低性能的算法,所以对应地都写每一种算法的优化。其中,冒泡排序的优化是快速排序,同样是不停的进行交换,快速排序使用递归的方式,...原创 2018-08-02 19:16:15 · 169 阅读 · 0 评论 -
Hash一致性算法与分布式缓存服务器
Hash一致性算法与分布式缓存服务器在大型的分布式项目中,解决性能问题是重中之重,在前端搭建缓存服务器是常见的一种解决后台资源访问的一种方案。就以图片缓存服务器为例,用户近期访问的图片,将会被从后台读取到客户端,并缓存到前端缓存服务器中,当再次访问该资源时,就可以直接在前端缓存中读取,不必访问后台,这对后台服务器性能是一个很好的提升。这样的...原创 2018-08-15 19:54:27 · 746 阅读 · 0 评论