線性與非線性資料結構的區別


在這篇文章中,我們將瞭解線性資料結構和非線性資料結構的區別。

線性資料結構

  • 這種結構的元素按順序排列。

  • 可以透過遍歷線性結構訪問每個元素。

  • 線性結構的所有元素都在同一級別,即沒有層次結構。

  • 它們易於實現和使用。

  • 它們佔用更多記憶體,因此不太節省記憶體。

  • 線性資料結構的時間複雜度通常會隨著結構大小的增加而增加。

  • 示例包括:列表、陣列、棧

下面顯示了 Python 中列表的示例。

my_list = [45, 42, 12, 34, 56, 7]
print(my_list)

輸出

[45, 42, 12, 34, 56, 7]

非線性資料結構

  • 元素以分層方式儲存。

  • 它們使用“節點”相互連線。

  • 此結構的元素存在於不同的級別,而不是單個級別。

  • 它們的實現並不容易。

  • 它們不容易遍歷——需要多次迭代才能完全遍歷非線性資料結構。

  • 它們節省記憶體,即有效地使用記憶體。

  • 即使資料大小增加,非線性資料結構的時間複雜度也保持不變。

  • 示例包括:對映、樹、圖

下面的示例顯示瞭如何定義圖——它表明還必須定義節點互連。

示例

graph = {'A': ['B', 'C'],
         'B': ['C'],
         'C': ['D', 'E'],
         'D': ['C'],
         'E': ['F', 'G'],
         'F': ['C']}

更新於:2021年3月23日

723 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告