Главная Предыд. След. Др. раздел

Тема
"Бинарные поисковые деревья"

Необходимо построить бинарное поисковое дерево для последовательности вводимых чисел (из файла) и
  1. Найти вершины, у которых количество потомков в левом поддереве не равно количеству потомков в правом поддереве.
  2. Найти вершины, для которых высота левого поддерева не равна высоте правого поддерева.
  3. Найти вершины, у которых количество потомков в левом поддереве отличается от количества потомков в правом поддереве на 1.
  4. Найти высоту дерева H и удалить в нем все вершины на уровне H/2.
  5. Найти минимальный путь между листьями и удалить центральную вершину этого пути.
  6. Найти максимальный путь между вершинами дерева и удалить центральную вершину этого пути.
  7. Найти высоту дерева H и удалить в нем все вершины на глубине H/2, у которых высота левого поддерева равна высоте правого поддерева.
  8. Найти максимальный путь между вершинами дерева и удалить самую высокую вершину этого пути (т.е. на минимальной глубине).
  9. Найти вершины, через которые проходят пути максимальной длины, и удалить эти вершины.
  10. Найти вершины, через которые проходят наибольшее количество путей максимальной длины, и удалить эти вершины.
  11. Найти путь максимальной длины и отразить дерево зеркально относительно этого пути.
  12. Найти путь максимальной длины между вершинами с разным числом потомков.
  13. Найти путь максимальной длины между вершинами разной высоты.
  14. Найти пути минимальной длины между корнем и листьями и удалить центральные вершины этих путей.
  15. Определить, являются ли два дерева зеркальным отражением друг друга по структуре.
  16. Определить, можно ли одно дерево получить из второго удалением одной вершины (по структуре).
  17. Найти среднюю по значению вершину в дереве.
  18. Найти вершины, через которые проходит четное число путей максимальной длины, и удалить их.
  19. Найти вершины, через которые проходят пути максимальной длины, и удалить самую высокую из них их.
  20. Найти максимальный путь между вершинами разного уровня и сделать центральную вершину корнем.
  21. Найти вершины, у которых высоты поддеревьев равны, а количество потомков в правом и левом поддеревьях не равны.
  22. Найти вершины, у которых высоты поддеревьев не равны, а количество потомков в правом и левом поддеревьях равны.
  23. Найти вершины, через которые проходят пути длины К между висячими вершинами.
  24. Определить, существует ли путь длины H между висячими вершинами, где H - высота дерева.
  25. Удалить вершины, для которых высоты поддеревьев отличаются наибольшим образом.
  26. Удалить вершины, для которых количество потомков в правом и левом поддеревьях отличается наибольшим образом.
  27. Найти средний из листьев.
  28. Найти среднюю вершину в дереве, у которой высоты поддеревьев равны.
  29. Удалить все вершины, для которых количество потомков в левом поддереве отличается от количества вершин в правом поддереве на 2.
  30. Удалить все вершины, для которых высота левого поддерева отличается от высоты правого поддерева на 2.
    Главная Предыд. След. Др. раздел
    Hosted by uCoz