質問が多い非コンピュータサイエンス専攻の学生に説明しようとしています。
(1)木を横切るのは? 回路基板を移動する 1 と 0 を生成するのは単なるロジックですか、それとも実際のオンオフ スイッチですか? このツリーはどこにあり、ノードはその間に CPU/メモリが存在しますか?
(2) 1 と 0 の場合、回路はたとえば p=p.getLeft(); などの行を理解します。
私はグーグルやウィキを検索すると言いました。
質問が多い非コンピュータサイエンス専攻の学生に説明しようとしています。
(1)木を横切るのは? 回路基板を移動する 1 と 0 を生成するのは単なるロジックですか、それとも実際のオンオフ スイッチですか? このツリーはどこにあり、ノードはその間に CPU/メモリが存在しますか?
(2) 1 と 0 の場合、回路はたとえば p=p.getLeft(); などの行を理解します。
私はグーグルやウィキを検索すると言いました。
ツリーとは、どこにでもある可能性のある 0 と 1 のシーケンスの特定のコレクションの上に配置する抽象化です (CPU のレジスタ、CPU のキャッシュ、メモリなど)。そのようなトラバーサルは、ツリーをトラバースするために必要なロジックをカプセル化する一連の CPU 命令です。
回路が行をどのように理解するかについてはp = p.getLeft();
、コンパイラは、その命令を、CPU が理解して実行する必要なマシン命令に変換する作業を行いました。
正直、ここは抽象的に考えたほうがいいです。二分木トラバーサルを理解したい場合は、そのレベルの抽象化で考えてください。コンピューターが 0 と 1 のレベルでどのように機能するかを理解したい場合は、バイナリ ツリーのことは忘れて、代わりにコンピューター アーキテクチャを勉強してください。
最後に、0 と 1 も真のメカニズムの単なる抽象化であることに注意してください。