Когда следует использовать BFS
График обхода:
1. Иерархия обхода
2. пути и поверхность
3. Топологическая сортировка
Кратчайший путь:
Только простой график (фиг. 1 не в каждой длины стороны, а не направление) кратчайшего пути.
Основная концепция двоичного дерева
понятия двоичного дерева: бинарное дерево представляет собой конечное множество узлов, или множество пусто , либо состоит из корневого узла поддерева плюс два слева и справа состав поддерево
Во-вторых, бинарное дерево характеристики:
1, каждый узел имеет не более двух суб-дерево, бинарный узел дерева, которое не больше, чем 2 присутствует
2, левое и правое поддерево двоичных точек, их порядок не может быть отменено поддерево
В-третьих, бинарная форма дерева:
В-четвертых, полное бинарное дерево: В бинарное дерево, все ветви дерева узлов есть левые и правые суб-суб-дерево, и все листовые узлы находятся на том же уровне
Пять полного бинарное дерево: та же структура, как передняя структура N узлов и полное двоичное дерево, имеющее двоичное дерево, если узлы N
Бинарный характер
(1) непустое бинарное дерево, общее количество узлов и-слоя составляет не более 2 ^ (I-1), I> = 1.
(2) бинарное дерево глубины ч до 2 ^ ч-1 узлы (ч> = 1) (полное бинарное дерево), как минимум узлов ч (одноцепочечного);
(3) Для любого двоичного дерева, если это листовой узел N0 точки, а общее число узлов степени 2 N 2, то N0 = N 2 + 1;
Полное бинарное дерево глубины (4) с п узлами (Примечание: [] означает округление вниз);
(5) полное бинарное дерево имеет N узлов для каждого узла, если сохраненной последовательности, следующее соотношение между точками соединения:
Если я это номер узла, если я> 1, то число родительского узла ввода / 2;
Если 2 * I <= N, то его левый потомок (то есть, корень левого поддерева) пронумерованы 2 * I, если 2 * I> Н, нет левого ребенка;
Если 2 * I + 1 <= N, то его правый дочерние узлы пронумерованы 2 * I + 1, если 2 * I + 1> N, не имеет права ребенка.