Поиск элемента в бинарном дереве начинается с корневого элемента. javarush.com gitverse.ru
Алгоритм поиска: javarush.com
- Если корневой элемент равен искомому значению, то он и есть искомый. javarush.com
- Если нет, то сравниваются значения корневого и искомого элемента. javarush.com
- Если искомый элемент больше, то переходят к правому потомку, если меньше — к левому. javarush.com habr.com
- Если элемент не найден, то повторяют шаги 1 и 2, но уже для потомка (правого или левого). javarush.com
Пример поиска элемента со значением 5 в дереве, где нужно найти элемент со значением 3: javarush.com
- Сравнивают искомое значение с корневым элементом, видим, что корневой больше, поэтому переходят к левому потомку, который имеет значение 3. javarush.com
- Сравнивают искомое значение с элементом со значением 3, видим, что искомое больше, поэтому нужен правый потомок рассматриваемого элемента, а именно — элемент со значением 5. javarush.com
- Сравнивают этого потомка с искомым и видят, что значения равны — элемент найден. javarush.com
Операция поиска длится, пока не будет найден нужный элемент, либо пока не станет возможна констатация его отсутствия. gitverse.ru