好多做web開發(fā)的朋友,在學習數(shù)據(jù)結構和算法時可能比較討厭C和C++,上學的時候寫過的也忘得差不多了,更別提沒寫過的了。但幸運的是,你會JavaScript啊。我想說學好數(shù)據(jù)結構和基本算法并非是要我們必須要去書寫,算法的工作有專業(yè)的職位專業(yè)的人來做,但是如果你希望走的更高,這些是必不可少的,比如你學習Redis,如果hashmap等相關結構的話,也只能停留在使用的層次上,永遠和優(yōu)化不能掛鉤。我也是個一瓶子不滿半瓶子晃悠,和希望快速成長的伙伴們共同加深印象,共同提高吧。

如果你對JavaScript OOP還不太了解的話,請移步這兩篇分享:http://www.cnblogs.com/tdws/p/5947693.html    http://www.cnblogs.com/tdws/p/5944254.html

如果你希望學習redis的話,可以看下這個鏈接 http://www.cnblogs.com/tdws/tag/NoSql/

 

進入正題

鏈表是一種動態(tài)的數(shù)據(jù)結構,不同于數(shù)組的是,鏈表分配內存空間的靈活性,它不會像數(shù)組一樣被分配一塊連續(xù)的內存。當你想在數(shù)組的任意位置,插入一個新值的時候,必須對數(shù)組中的各個元素進行相應的位置移動才能達到目標,開銷顯然是很大的。然而鏈表的靈活性在于它的每個元素節(jié)點分為兩部分,一部分是存儲元素本身,另一部分是指向下一個節(jié)點元素的引用,也可以稱為指針,當你要插入數(shù)據(jù)時,把上一個節(jié)點的向下指針指向新數(shù)據(jù)節(jié)點,新數(shù)據(jù)節(jié)點的向下指針指向原有數(shù)據(jù)。但是鏈表不像數(shù)組那樣可以直接通過索引立刻定位,只能通過遍歷。

圖畫的可能是亂了點,就是想突出一下,鏈表分配內存的動態(tài)性,你隨時隨地,都可以增加和刪除,并且內存的不連續(xù)性和無索引性。我暫時給鏈表類定義如下幾個方法

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓學習是年輕人改變自己的最好方式