- 博客(10)
- 资源 (32)
- 收藏
- 关注
转载 微博关系服务与 Redis 的故事
新浪微博的工程师们曾经在多个公开场合都讲到过,微博平台当前在使用并维护着可能是世界上最大的 Redis 集群,其中最大的一个业务,单个业务使用了超过 10T 的内存,这里说的就是微博关系服务。...
2016-11-29 13:32:34 3299
转载 详述:一条查询 SQL 语句的执行过程
平时我们使用的数据库,看到的通常是一个整体,比如我们执行一条查询 SQL,返回一个结果集,却不知道这条语句在 MySQL 内部是如何执行的,接下来我们就来简单的拆解一下 MySQL,看看 MySQL 是由哪些“零件”组成的,在这个过程中逐步的揭开 MySQL 的面纱,对 MySQL 有个深入的理解。这样在我们以后遇到 MySQL 的一些异常或者问题的时候,就可以快速定位问题并解决问题。
2016-11-16 10:10:13 2326
原创 堆排序(HeapSort)
堆是一种重要的数据结构,分为大根堆和小根堆,是完全二叉树, 底层如果用数组存储数据的话,假设某个元素为序号为i(Java数组从0开始,i为0到n-1),如果它有左子树,那么左子树的位置是2i+1,如果有右子树,右子树的位置是2i+2,如果有父节点,父节点的位置是(n-1)/2取整。最大堆的任意子树根节点不小于任意子结点,最小堆的根节点不大于任意子结点。
2016-11-12 06:09:03 1218 2
原创 归并排序(MergeSort)
归并排序是建立在归并操作上的一种有效的排序算法,该算法和快速排序都是采用分治法来设计算法的,区别在于归并排序把数组分为两个基本等长(最多相差一个元素)的子数组,分别排好序之后还要进行归并操作,而快速排序在拆分子数组的时候则有所不同,其取一个基准元素,拆分之后基准元素左边的元素都比基准元素小,右边的元素都不小于基准元素,这样只需要分别对两个子数组排序即可,不再像归并排序一样需要归并操作。
2016-11-11 10:56:14 1075
原创 快速排序(QuickSort)
快速排序就是通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。快速排序是一种不稳定的排序算法,也就是说,多个相同的值的相对位置也许会在算法结束时产生变动,其最坏的时间复杂度是O(n^2),其最优的时间复杂度是O(nlogn)。
2016-11-10 13:32:24 1286
原创 插入排序(InsertSort)
对于一个已经有序的数据序列,要求在这个已经排好的数据序列中插入一个数,但要求插入后此数据序列仍然有序,这个时候就要用到插入排序。插入排序的基本操作就是将一个数据插入到已经排好序的有序数据中,从而得到一个新的、元素个数加1的有序数组,算法适用于少量数据的排序,时间复杂度为O(n^2),是稳定的排序方法。
2016-11-09 14:08:29 1511 1
原创 选择排序(SelectSort)
选择排序是一种简单直观的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。选择排序与冒泡排序非常的相似,都是一层层筑顶的过程,不同点在于冒泡排序会频繁的互换位置,而选择排序只是记录最大元素的位置,并与顶互换,只需交换一次,所以选择排序与冒泡排序相比时间消耗会更少,更有效率。
2016-11-08 20:58:23 1038
原创 冒泡排序(BubbleSort)
冒泡排序是一种比较简单的排序算法,它重复地走访要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,因此得名。
2016-11-08 10:40:29 2969
原创 顺序查找(OrderSearch)
顺序查找是在一个已知无(或有序)序队列中找出与给定关键字相同的数的具体位置。原理是让关键字与队列中的数从最后一个开始逐个比较,直到找出与给定关键字相同的数为止,它的缺点是效率比较低。
2016-11-07 18:20:32 1667
原创 二分查找(BinarySearch)
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。
2016-11-07 16:44:35 730
2019年北京市导游考试导游词.zip
2019-12-05
MySQL Group Replication
2017-04-22
阿里巴巴 2016 双 11 背后的技术
2017-01-20
Cornerstone(免费破解版)
2017-01-12
算法设计与分析
2016-11-19
深入浅出面向对象分析与设计
2016-11-18
深入理解Java虚拟机:JVM高级特性与最佳实践
2016-11-14
设计模式之禅
2016-11-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人