2017年2月10日

快速排序

摘要: 快速排序是很流行的排序方法,因为在大多数情况下,快速排序都是最快的,时间复杂度为O(N*log(N))。快速排序本质上通过把一个数组划分为两个子数组,然后递归调用自身为每一个子数组进行快速排序。算法还必须选择枢纽(Pivot)以及对小的划分区域进行排序。 基本的递归快速排序的代码实现很简单: 主要有 阅读全文

posted @ 2017-02-10 04:44 LAHWF 阅读(159) 评论(0) 推荐(0)

2017年2月8日

二分查找法

摘要: 当使用二分查找时就体现出排序的重要性,这种查找比线性查找要快很多,尤其是对较大的数据来说更为显著。 二分查找类似猜数字的游戏,一个朋友让你猜她正在想的一个1到100之间的数。当你猜了一个数后,她会告诉你三种情况:你猜的数比她想的大,或小,或猜中了。于是,你从50开始猜,如果她说你猜的数比较小,那么她 阅读全文

posted @ 2017-02-08 23:56 LAHWF 阅读(199) 评论(0) 推荐(0)

简单的排序方法(冒泡排序,选择排序,插入排序)

摘要: 对数据进行排序可以方便我们检索数据,例如二分查找法比线性查找法通常要快,然而二分查找只能用于有序的数据。 这里仅仅列出三种简单排序方法的Java实现:冒泡排序,选择排序,插入排序。较为复杂的排序方法如希尔排序,快速排序,归并排序暂不描述。 冒泡排序: 选择排序: 插入排序: 以上三种排序方法的时间复 阅读全文

posted @ 2017-02-08 23:22 LAHWF 阅读(433) 评论(0) 推荐(0)

导航