Красно-Черные Деревья - PullRequest
       72

Красно-Черные Деревья

54 голосов
/ 21 августа 2008

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

Я проверил типичные источники (Википедия, Google) и большинство описаний полезности и реализации (в частности) красно-черных деревьев оказались плотными и трудными для понимания. Я уверен, что для кого-то с необходимым фоном, это имеет смысл, но в настоящее время это читает почти как иностранный язык.

Так что же делает бинарные деревья полезными в некоторых общих задачах, которые вы выполняете во время программирования? Помимо этого, какие деревья вы предпочитаете использовать (пожалуйста, включите пример реализации) и почему?

Ответы [ 12 ]

0 голосов
/ 25 марта 2009

IME, почти никто не понимает алгоритм дерева RB. Люди могут повторить правила обратно к вам, но они не понимают почему эти правила и откуда они берутся. Я не исключение: -)

По этой причине я предпочитаю алгоритм AVL, потому что легко понять . Как только вы поймете это, вы сможете закодировать его с нуля, потому что это имеет смысл для вас.

0 голосов
/ 08 декабря 2008

Если вы хотите посмотреть, как красно-черное дерево должно выглядеть графически, я написал код реализации красно-черного дерева, который вы можете скачать здесь

...