Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

J. Добавь узел

Дано BST. Надо вставить узел с заданным ключом. Ключи в дереве могут повторяться.

На вход функции подаётся корень корректного бинарного дерева поиска и ключ, который надо вставить в дерево. Осуществите вставку этого ключа. Если ключ уже есть в дереве, то его дубликаты уходят в правого сына. Таким образом вид дерева после вставки определяется однозначно. Функция должна вернуть корень дерева после вставки вершины.

Ваше решение должно работать за O(h), где h –— высота дерева. На рисунках ниже даны два примера вставки вершин в дерево.

IMG

Формат ввода

Ключи дерева – натуральные числа, не превосходящие 109. Число вершин в дереве не превосходит 105.

**Замечания про отправку решений **

По умолчанию выбран компилятор make.

Шаблон для Go:

package main

/**
Comment it before submitting
type Node struct {
	value    int
	left   *Node
	right  *Node
}
**/

func insert(root *Node, key int) *Node {
	// Your code
	// “ヽ(´▽`)ノ”
}