Бинарное дерево обхода абстракции - PullRequest
2 голосов
/ 09 марта 2010

Я пытаюсь объяснить студентам, не занимающимся информатикой, много вопросов.

(1) Что пересекает дерево? Это просто логика или фактическое включение выключателя генерирует 1 и 0, перемещая печатную плату? где это дерево и узел существует между процессором / памятью?

(2) Если это 1 с и 0 с, КАК схемы понимают строку, например, p = p.getLeft ();

Я сказал, что искать в Google или вики.

1 Ответ

2 голосов
/ 09 марта 2010

Дерево - это абстракция, которую мы помещаем поверх некоторой коллекции последовательностей 0 и 1, которые могут быть где угодно (в регистрах ЦП, в кеше ЦП, в памяти и т. Д.). Обход этого представляет собой последовательность инструкций процессора, которые инкапсулируют логику, необходимую для обхода дерева.

Что касается того, как схемы понимают строку p = p.getLeft();, компилятор выполнил работу по переводу этой инструкции в необходимые машинные инструкции, которые процессор понимает и выполняет.

Честно говоря, здесь лучше мыслить абстрактно. Если вы хотите понять обход двоичного дерева, подумайте на этом уровне абстракций. Если вы хотите понять, как работают компьютеры на уровне 0 и 1, забудьте о бинарных деревьях и изучите архитектуру компьютера.

Наконец, обратите внимание, что 0 и 1 - это просто абстракция над истинным механизмом.

...