03.17 「前端架構師30天快速掌握js20」之常見算法

此篇文章講解目錄:

  • 插入排序

  • 冒泡排序

  • 快速排序

插入排序

插入排序是一種最簡單直觀的排序算法,它的工作原理是通過構建有序序列,對於未排序數據,在已排序序列中從後向前掃描,找到相應位置並插入。

「前端架構師30天快速掌握js20」之常見算法

如果排序好的元素比插入的元素大,則把該元素往後挪一位,知道已經排序的元素小於等於要插入的元素(或者已經遍歷完已經排好序的數組項),則把要插入的元素放在該位置+1的索引位置中(反向排的時候,需要放在數組的第0個位置)

「前端架構師30天快速掌握js20」之常見算法

冒泡排序

就是把數據像泡泡一樣網上冒,讓體積最輕的泡泡浮在最上面,然後按照重量往下依次排列;

「前端架構師30天快速掌握js20」之常見算法

算法步驟:

1)比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。

2)對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。這步做完後,最後的元素會是最大的數。

3)針對所有的元素重複以上的步驟,除了最後一個。

4)持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

「前端架構師30天快速掌握js20」之常見算法

快速排序

首先從數組ary選取一個基準點(通常我們取中間項作為基準點),然後遍歷數組,把小於基準項放到基準點左邊集合,把大於基準項放在基準點右邊集合;然後對左邊和右邊兩個集合分別再重複前面的操作;(直到每個集合就剩下一個元素的時候),其實就是一個遞歸的思想;

「前端架構師30天快速掌握js20」之常見算法

「前端架構師30天快速掌握js20」之常見算法

大家好接下來我們會邀請前端架構師以連載的方式,通過30天的實戰系統講解JavaScript的專業知識,歡迎大家關注頭條號“互聯網IT信息”。


分享到:


相關文章: