回覆列表
  • 1 # 未來資料科技

    要說清楚這件事,我們就必需知道什麼事冒泡演算法。通常所說的冒泡演算法其實是是指氣泡排序演算法。是程式設計中經常遇到的一種排序方法具體如下!

    冒泡演算法的概念

    先有一堆要排序的元素列,重複地走訪過每個列,並且依次比較相鄰兩個元素的大小,如果他們的按照從小到大順序排列就不動,不是安順序排列就把他們交換過來。走過元素的工作是重複地進行,直到沒有相鄰元素需要交換,也就是說每個元素都要和它相鄰的元素進行比較,直到所有的元素都完全符合要求,這才算元素已經排序完成。也可以這樣理解,就好像水裡出現了很多泡,小的泡就會一點一點的最後跑到最上面。

    如圖所示

    按照基本原理解釋

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

    對每一對相鄰元素都會如此比較然後排序,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。針對所有的元素重複以上的步驟,除了最後一個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

    搞清楚了這個概念自己應該有點想法了,其實對於前端而言,核心的知識點有三個即HTML5,CSS,JavaScript。其他的框架都在這些基礎上延伸出來的。而冒泡演算法則是JavaScript中的一個普通的排序方法,完全不能上升到做前端的都必須會的地步。

    在程式設計的過程中,用到的並不多,即使用到也可以自己找出來。但這個知識點卻是面試過程中經常問到。很多前端的面試都會問一些排序,斐波拉切等等的做法,讓你去實現。所以在這個意義上講應該,必須會!

    在整個前端知識體系中,最難的部分就應該JavaScript的高階部分,這是體現前端程式設計師含金量的重要指標!對於像這些排序的入門知識要是不會那還談什麼前端,雖然不會要求,但必須會,因為它本身不難!多寫幾次就完全掌握了!

  • 中秋節和大豐收的關聯?
  • 蘇德戰爭初期,蘇軍為何不使用壓路機戰術抵抗德軍的閃電戰術?