内部排序 之 交换排序(快速排序)-每日算法系列
1、算法思想
快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。
快速排序具有最好的平均性能(average behavior),但最坏性能(worst case behavior)和插入排序相同,也是O(n^2)。比如一个序列5,4,3,2,1,要排为1,2,3,4,5。按照快速排序方法...More »
-
内部排序 之 交换排序(冒泡法+冒泡法改进版)-每日算法系列
0 comments | Alex | 经典面试算法
别小看冒泡法,这里有你不知道的冒泡法 交换排序—冒泡排序(Bubble Sort) 基本思想: 在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下...More »
-
内部排序算法 之 插入排序(希尔排序)-每日算法系列
1 comments | Alex | 经典面试算法
由希尔在1959年提出,又称希尔排序(shell排序)。 希尔排序是基于插入排序的一种算法, 在此算法基础之上增加了一个新的特性,提高了效率。希尔排序的时间复杂度为 O(N*(l...More »
-
内部排序算法 之 插入排序(直接插入排序)-每日算法系列
0 comments | Alex | 经典面试算法
!插入排序又分为 直接插入排序 和 希尔排序(shell排序),明天进行希尔排序的讲解 1.直接插入排序 插入排序是一种简单直观的排序算法,基本思想是通过构建有序序列,对于未排序数据,在已...More »
-
查找算法(二) 分块查找-每日算法系列
4 comments | Alex | 经典面试算法
今天的内容相对比较难理解,您可以用两天的空闲时间看这个算法,慢慢的熟悉。(概念好理解,让写程序的思想编程你自己的就慢点了) 一. 1) 块中 的 5个值可能不是有序的,但块与块之间是有...More »
-
查找算法(一) 顺序查找+二分法-每日算法系列
0 comments | Alex | 经典面试算法
二).二分法(折半查找) -----------效率高,但要求序列必须有序-》 使用范围小了 /* * 二分查找算法 --- 递归算法 * */ int ...More »