[6] FINISH

This commit is contained in:
lukovnikovde 2026-05-08 16:50:34 +00:00
parent 608ddb6c48
commit cd70aa81c6

View File

@ -41,11 +41,11 @@
### - Двоичное дерево посика:
Сначала ищем узел, который необходимо удалить, а затем действуем в зависимости от ситуации:
- 1) У узла нет потомков:
- 1 У узла нет потомков:
В такой ситуации просто удаляем наш узел(в данном случае лист)
- 2) У узла нет потомков справа или слева:
- 2 У узла нет потомков справа или слева:
Если у узла есть только правые потомки, то на место этого узела помещаем узел, который расположен справа. Аналогично для случая с наличием левых потомков.
- 3) Если у узла есть и правые и левые потомки:
- 3 Если у узла есть и правые и левые потомки:
Находим самый маленький узел в правом поддереве этого узла, то есть идем сначала вправо от узла, а потом только влево, пока не дойдем до значения None.
Копируем значения этого наименьшего и подставляем эти данные в узел, который хотим удалить, не меняя значения под ключами left и right, а затем удаляем этот наименьший как описано в пунктах (1) и (2), так как этот узел или будет иметь только потомков вправа или не иметь их вообще