八十一、最快最优的快速排序和优化
生活随笔
收集整理的這篇文章主要介紹了
八十一、最快最优的快速排序和优化
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
@Author:Runsen
編程的本質(zhì)來源于算法,而算法的本質(zhì)來源于數(shù)學(xué),編程只不過將數(shù)學(xué)題進行代碼化。 ---- Runsen
快速排序
不久前,我在牛客中看到這樣一個笑話,面試官讓他寫一個快速排序,結(jié)果他寫了一個冒泡排序,雖說不是計算機專業(yè)的,還一直說沒有寫錯,都不知道面試官為什么這么PASS。其實,一共有十大排序算法,最快最穩(wěn)定的就是快速排序,簡稱快排。
quicksort 可以說是應(yīng)用最廣泛的排序算法之一,它的基本思想是分治法。基礎(chǔ)的快速排序算法思想很簡單,核心就是一句話:找到基準(zhǔn)值的位置。
具體的過程其實和把大象裝進冰箱這個問題一樣,都可以分成三步:
第一步,選擇一個值作為基準(zhǔn)值。
第二步,找到基準(zhǔn)值的位置,并將小于基準(zhǔn)值的元素放在基準(zhǔn)值的前面,大于基準(zhǔn)值的元素放在基準(zhǔn)值的后面。
第三步,對基準(zhǔn)值的左右兩側(cè)遞歸地進行這個過程。
以 arr = [ 8, 1, 4, 6, 2, 3, 5, 7 ]為例,選擇一個支點, index= (L+R)/2 = (0+7)/2=3, 支點的值 pivot = arr[index] = arr[3]
總結(jié)
以上是生活随笔為你收集整理的八十一、最快最优的快速排序和优化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 其他u盘不识别不了怎么办 解决U盘无法识
- 下一篇: 装机系统u盘怎么安装系统教程视频 用U盘