我试图向非计算机科学专业的学生解释很多问题。
(1)什么遍历树?它只是逻辑还是实际的开关会在电路板上产生 1 和 0?这棵树和节点之间的 CPU/内存在哪里?
(2)如果是 1s 和 0s 电路如何理解这一行,例如 p=p.getLeft();
我说搜索谷歌或维基。
我试图向非计算机科学专业的学生解释很多问题。
(1)什么遍历树?它只是逻辑还是实际的开关会在电路板上产生 1 和 0?这棵树和节点之间的 CPU/内存在哪里?
(2)如果是 1s 和 0s 电路如何理解这一行,例如 p=p.getLeft();
我说搜索谷歌或维基。
树是一种抽象,我们将其置于可能位于任何位置(在 CPU 的寄存器中、在 CPU 的缓存中、在内存中等)的特定 0 和 1 序列集合之上。这样的遍历是封装了遍历树所需逻辑的一系列 CPU 指令。
至于电路如何理解线路p = p.getLeft();
,编译器已经完成了将该指令转换为 CPU 理解和执行的必要机器指令的工作。
老实说,最好在这里抽象地思考。如果您想了解二叉树遍历,请考虑该抽象级别。如果您想了解计算机如何在 0 和 1 级别上工作,请忘记二叉树并转而研究计算机体系结构。
最后请注意,0 和 1 也只是对真实机制的抽象。