重磅來襲!用大白話和麵試官扯“八大常用排序演算法的基本思想
阿新 • • 發佈:2021-08-09
重磅來襲!用大白話和麵試官扯“八大常用排序演算法的基本思想
Hello,你好呀,我是灰小猿,一個超會寫bug的程式猿。
最近在進行學習的時候發現總能用到資料結構中的各種排序演算法,有的記憶不到位的還需要重新去了解學習。同時在很多的面試中面試官都喜歡提問常見排序的基本思想和步驟,所以今天就抽空在這裡和大家用大白話總結一下常見的內部排序演算法設計的基本思想,可能比較言簡意賅,所以歡迎有其他見解的小夥伴在評論區提出分享。
一、直接插入排序
直接插入排序的基本思想:每步將一個待排序的記錄按其排序碼值的大小,插到前面已經排好的檔案中的適當位置,直到全部插入完為止。
二、希爾排序
希爾排序的基本思想:先取一個小於n的整數d1作為第一個增量,把檔案的全部記錄分成d1個組,所有距離為dI的倍數的記錄放在同一個組中。先在各組內進行直接插入排序;
然後,取第二個增量d2<d1重複上述的分組和排序,直至所取的增量dr=1(dr<dr-1<0<d2<dl),即所有記錄放在同一組中進行直接插入排序為止。該方法實質上是一種分組插入方法。
三、直接選擇排序
直接選擇排序的基本思想:選擇法排序也是常用的排序方法之一,首先在所有記錄中選出排序碼最小的記錄,把它與第1個記錄交換,然後在其餘的記錄內選出排序碼最小的記錄,與第2個記錄交換...依此類推,直到所有記錄排完為止。
四、堆排序
最後
分享一些系統的面試題,大家可以拿去刷一刷,準備面試漲薪。
請點贊後,戳這裡,免費獲取!
這些面試題相對應的技術點:
- JVM
- MySQL
- Mybatis
- MongoDB
- Redis
- Spring
- Spring boot
- Spring cloud
- Kafka
- RabbitMQ
- Nginx
- ......
大類就是:
- Java基礎
- 資料結構與演算法
- 併發程式設計
- 資料庫
- 設計模式
- 微服務
- 訊息中介軟體