組み込み開発のためのPython · レッスン 150 / 220

連結リストの仕組みを理解する

連結リストはノードが次のノードを参照する構造です。先頭への追加は容易ですが、位置検索には逐次走査が必要で、Pythonではlistが実用的な場合も多くあります。

連結リストはノードが次のノードを参照する構造です。先頭への追加は容易ですが、位置検索には逐次走査が必要で、Pythonではlistが実用的な場合も多くあります。 仕組みだけでなく、検証方法と運用上の注意も具体例で確認します。

基本の考え方

連結リストはノードが次のノードを参照する構造です。先頭への追加は容易ですが、位置検索には逐次走査が必要で、Pythonではlistが実用的な場合も多くあります。

安全に試すための確認

計算量だけでなく入力条件、重複値、空データ、最悪ケースを確かめます。組み込み用途ではメモリ上限と実行時間を実測し、標準ライブラリの利用も検討してください。

コード例

手元のPython環境に貼り付ける前に、使用しているPythonの版と対象ライブラリの対応を確認してください。

class Node:
    def __init__(self, value, next_node=None):
        self.value = value
        self.next = next_node

head = Node("A", Node("B"))
print(head.value, head.next.value)

手を動かす課題

単方向リストを走査する関数を作り、空リストと末尾ノードの扱いを確認してください。

参考資料

「データ構造とアルゴリズム」の章一覧へ