1. 程式人生 > >數據結構與算法小結——排序(一)

數據結構與算法小結——排序(一)

思路 基礎上 bubuko 時間復雜度 inf pla 都是 tex .com

  前段時間Java學了,數據結構與算法看了,機器學習也了解了一點,還裝上Ubuntu了解了Linux。接受的東西太多太雜,需要梳理一下。

  首先是最重要的數據結構和算法,無論以後搞什麽,只要是計算機方面的,都是在這基礎上開展的,所以我前段時間著重花了很多時間在上面,接下來也還要繼續,這點是要明確的。機器學習的算法可以後面再接著補。

  首先說排序,我把排序分成七大算法,分法如圖:

技術分享圖片

1. 插入排序

1.1 直接插入排序

  直接插入排序有兩層循環,其算法主要思路是:第一層循環從1->n,第二層循環從待插入的第i個元素開始往回循環,前面的元素都是已經排好序的。將a[i]依次和i-1,i-2,...比較,將其插入到正確位置。用圖示表示如下:

技術分享圖片

  時間復雜度、空間復雜度、穩定性、適用場合列如下圖:

技術分享圖片

數據結構與算法小結——排序(一)