Python數(shù)據(jù)結(jié)構(gòu)與算法之列表(鏈表,linked list)簡單實現(xiàn)
Python 中的 list 并不是我們傳統(tǒng)(計算機科學)意義上的列表,這也是其 append 操作會比 insert 操作效率高的原因。傳統(tǒng)列表——通常也叫作鏈表(linked list)——通常是由一系列節(jié)點(node)來實現(xiàn)的,其每一個節(jié)點(尾節(jié)點除外)都持有一個指向下一個節(jié)點的引用。
其簡單實現(xiàn):
class Node: def __init__(value, next=None): self.value = value self.next = next
接下來,我們就可使用鏈表的結(jié)構(gòu)來組織所有節(jié)點了。
>>> L = None('a', Node('b', Node('c', Node('d')))) >>> L.next.next.value 'c'
這是所謂的單向鏈表,雙向鏈表的各節(jié)點還需要持有一個指向前一節(jié)點的引用。
總結(jié)
以上就是本文關于Python數(shù)據(jù)結(jié)構(gòu)與算法之列表(鏈表,linked list)簡單實現(xiàn)的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站:淺談Python由__dict__和dir()引發(fā)的一些思考、python中hashlib模塊用法示例等,有什么問題可以隨時留言,小編會及時回復大家的。
相關文章
pycharm 實現(xiàn)顯示project 選項卡的方法
今天小編就為大家分享一篇pycharm 實現(xiàn)顯示project 選項卡的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-01-01Python局部函數(shù)及用法詳解(含nonlocal關鍵字)
局部函數(shù)有哪些特征,在使用時需要注意什么呢?接下來就給讀者詳細介紹?Python?局部函數(shù)的用法,對Python局部函數(shù)相關知識感興趣的朋友跟隨小編一起看看吧2022-12-12Python利用wxPython模塊打造ChatGPT式打字效果程序
這篇文章主要為大家介紹了如何利用Python和wxPython模塊打造一個ChatGPT式打字效果程序,從而增強用戶體驗或提高應用程序的可讀性,感興趣的可以了解一下2023-05-05