Python 中的 list 并不是我們傳統(tǒng)(計(jì)算機(jī)科學(xué))意義上的列表,這也是其 append 操作會(huì)比 insert 操作效率高的原因。傳統(tǒng)列表——通常也叫作鏈表(linked list)——通常是由一系列節(jié)點(diǎn)(node)來(lái)實(shí)現(xiàn)的,其每一個(gè)節(jié)點(diǎn)(尾節(jié)點(diǎn)除外)都持有一個(gè)指向下一個(gè)節(jié)點(diǎn)的引用。
其簡(jiǎn)單實(shí)現(xiàn):
class Node: def __init__(value, next=None): self.value = value self.next = next
接下來(lái),我們就可使用鏈表的結(jié)構(gòu)來(lái)組織所有節(jié)點(diǎn)了。
>>> L = None('a', Node('b', Node('c', Node('d'))))>>> L.next.next.value'c'這是所謂的單向鏈表,雙向鏈表的各節(jié)點(diǎn)還需要持有一個(gè)指向前一節(jié)點(diǎn)的引用。
總結(jié)
以上就是本文關(guān)于Python數(shù)據(jù)結(jié)構(gòu)與算法之列表(鏈表,linked list)簡(jiǎn)單實(shí)現(xiàn)的全部?jī)?nèi)容,希望對(duì)大家有所幫助。有什么問(wèn)題可以隨時(shí)留言,小編會(huì)及時(shí)回復(fù)大家的。
新聞熱點(diǎn)
疑難解答
圖片精選