Перевод статьи TK: "Everything you need to know about tree data structures" Когда вы впервые учитесь кодировать, общепринято изучать массивы в качестве «основной структуры данных». В конце концов, вы также изучаете хэш-таблицы. Для получения степени по «Компьютерным наукам» (Computer Science) вам придется походить на занятия по структурам данных, на которых вы узнаете о связанных списках, очередях и стеках. Эти структуры данных называются «линейными», поскольку они имеют логические начало и завершение...
Создадим класс Tree. С помощью дандер метода init установим начальные условия для нашего дерева: корень r и два пустых наследника, правый и левый. Пропишем методы вставки значений для каждой ветки, правой insertRight и левой insertLeft: 1) копируем существующее дерево - список-списков, инициализированное в init, забираем первый элемент, для левой ветки, и второй элемент, для правой ветки. 2) Если ветка пустая: то добавляем новое значение и две дополнительных пустых ветки к ней(правую и левую), если же ветка непустая, то добавляем всех родителей добавленного нового значения. Прописываем методы получения значений каждой ветки, корня, и изменения корня...