Мне было интересно, может ли кто-нибудь дать полезную информацию об удалении узлов из двумерного двоичного дерева поиска.
Насколько я понимаю, есть четыре дела, первое из которых я завершил:
- Удаление узла без дочерних элементов (листа) простое, просто установите указатель на этот узел равным нулю.
- Удаление узла с одним дочерним элементом на левом узле и правом узле равно нулю.
- Удаление узла с одним дочерним элементом на правом узле и левом узле равно нулю.
- Удаление узла с двумя дочерними элементами, слева и справа.
Я не уверен, как точно сделать 2,3 и 4. Я пытался сделать это итеративно, однако, похоже, это не работает. Я предполагаю, что это должно быть сделано рекурсивно. Может кто-нибудь, пожалуйста, пролить свет на то, как это будет сделано точно. Это в java, хотя это не имеет значения :)