前端為什么要懂得冒泡算法呢?
要說清楚這件事,我們就必需知道什么事冒泡算法。通常所說的冒泡算法其實是是指冒泡排序算法。是編程中經常遇到的一種排序方法具體如下!
冒泡算法的概念先有一堆要排序的元素列,重復地走訪過每個列,并且依次比較相鄰兩個元素的大小,如果他們的按照從小到大順序排列就不動,不是安順序排列就把他們交換過來。走過元素的工作是重復地進行,直到沒有相鄰元素需要交換,也就是說每個元素都要和它相鄰的元素進行比較,直到所有的元素都完全符合要求,這才算元素已經排序完成。也可以這樣理解,就好像水里出現了很多泡,小的泡就會一點一點的最后跑到最上面。
如圖所示
按照基本原理解釋比較相鄰的元素。如果第一個比第二個大,就交換他們兩個的位置。
對每一對相鄰元素都會如此比較然后排序,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數。針對所有的元素重復以上的步驟,除了最后一個。持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。搞清楚了這個概念自己應該有點想法了,其實對于前端而言,核心的知識點有三個即HTML5,CSS,JavaScript。其他的框架都在這些基礎上延伸出來的。而冒泡算法則是JavaScript中的一個普通的排序方法,完全不能上升到做前端的都必須會的地步。
在編程的過程中,用到的并不多,即使用到也可以自己找出來。但這個知識點卻是面試過程中經常問到。很多前端的面試都會問一些排序,斐波拉切等等的做法,讓你去實現。所以在這個意義上講應該,必須會!
在整個前端知識體系中,最難的部分就應該JavaScript的高級部分,這是體現前端程序員含金量的重要指標!對于像這些排序的入門知識要是不會那還談什么前端,雖然不會要求,但必須會,因為它本身不難!多寫幾次就完全掌握了!