自己参照リスト構造 (C, Java, Python)

林です。

プログラミング言語を独習するときに、自分がそのプログラミング言語の文法や言語仕様を理解できているのか否かを自己評価するために必ず作るプログラムがある。

一つは「3×3の表でプレイする〇×ゲーム」、もう一つは「自己参照リスト構造」だ。

今回は、Pythonで上記の自己参照リスト構造を作成した。

Pythonは組み込み型としてリストを持っているので、わざわざ自力でリストを作成するのは無駄なのだが、今回は練習も兼ねてあえて自作した。

他のプログラミング言語で作成した場合とのステップ数の比較も行いたかったので、CとJavaでも自己参照リスト構造を作成した。

以下が、Cで作成した自己参照リスト構造とその実行結果である(Cには色々な処理系があるが、今回はフリーのBorland C++ Compilerを使用した。ついでにmakefileも作成したので載せておく)。

以下が、Javaで作成した自己参照リスト構造とその実行結果である。

以下が、Pythonで作成した自己参照リスト構造とその実行結果である。

上記のCとJavaとPythonのコードをフリーのステップカウンタ「かぞえチャオ!」を用いてそれぞれのステップ数を算出した。

以下が、それぞれのステップ数である。

Pythonのステップ数が圧倒的に少ない。

C言語の実ステップ数57に対して、Javaの実ステップ数53は対C比率92.9%、Pythonの実ステップ数30は対C比率52.6%だ。

PythonはCと比べると半分近くまでステップ数が減っている。