Преимущество и недостаток связующего дерева с равномерным расстоянием - PullRequest
2 голосов
/ 01 января 2011

Это новый год, и я до сих пор не могу решить мою проблему с алгоритмом связующего дерева.Я пока не могу вставить изображение, поэтому мне нужно попытаться объяснить окружающую среду словами.

Это 36 узлов, а расстояние до каждого узла четное.Вопрос в том, является ли расстояние четным, не имеет значения, какой способ передачи сообщения от узла с идентификатором 1 (корень) к последнему узлу с идентификатором 36. Поскольку расстояние даже не существует, нет экономии времени, экономии энергии или сообщенияалгоритм сохранения верно?Я надеюсь, что кто-то понимает мой вопрос

отредактировано:

  1. Окружающая среда

    1 - 2 - 3 - 4 - 5 - 6
    |   |   |   |   |   |
    7   8   9  10  11  12
    |   |   |   |   |   |
    13  14  15  16  17  18
    |   |   |   |   |   |
    19  20  21  22  23  24
    |   |   |   |   |   |
    25  26  27  28  29  30
    |   |   |   |   |   |
    31  32  33  34  35  36
    

Это мой выбор связующего дерева.Узел с ID 36 отправляет ему информацию через 30,24,18,12,6,5,4,3,2,1 (один является корнем), а затем узел 1 отправляет информацию в базовую станцию.Поскольку это не требует каких-либо затрат, на самом деле не имеет значения, какой путь я выберу для отправки информации с узла 36 на узел 1. Потому что стоимость все равно будет такой же.

  1. МойАлгоритм связующего дерева

    • При запуске помечается только корень.
    • Корень отправляет сообщение о поиске соседу
    • Если узел не помечен, когда онполучает поисковые сообщения от других узлов:
    • помечает себя
    • Выберите узлы с наименьшим идентификатором как «родительский» и отвечает «не родительский» другим узлам
    • Если узел уже помечен, он отвечает «не родительский»
    • Если узел уже помечен и получает родительское сообщение, он помечает отправителя как дочернего
  2. Я не могу показать вам, ребята, блок-схему, потому что у меня нет привилегии вставлять изображения.

  3. Псевдокод (еще не сделал)

  4. Заключение - здесь я должен записать преимущества и недостатки моего алгоритма, ноight теперь я не могу думать о преимуществах и недостатках

1 Ответ

0 голосов
/ 14 октября 2011

Под «четным» я думаю, что вы имеете в виду «Независимо от того, где я начинаю, расстояние для горизонтального перемещения одного узла на моей диаграмме всегда равно 1, а расстояние для вертикального перемещения - всегда 6».

Ваш вопрос звучит так: «Все ли пути от верхнего левого до нижнего правого имеют одинаковую общую длину?»Если мы ограничим наше внимание путями, которые на каждом шаге всегда перемещаются либо вниз, либо вправо, то ответ «да».

Чтобы увидеть это, обратите внимание, что нам нужно всего сделать 5 прыжков внизи 5 прыжков направо.Предположим, мы выбрали путь, который делает это (но не обязательно в этом порядке). Поскольку все переходы вниз имеют одинаковую стоимость, а все переходы вправо имеют одинаковую стоимость, мы можем найти общую стоимость пути, рассматривая каждый переход в порядке, написав 6 для каждого нисходящего перехода и 1 для каждого правого перехода, и сложим список вместе.

Например, стоимость пути RRDDRDRDDR равна 1 + 1 + 6 + 6 + 1 + 6 + 1 + 6 + 6 + 1.

Теперь мыможно увидеть что-то интересное.Другой путь с 5 переходами вниз и 5 переходами справа будет иметь один и тот же список 5 6 с и 5 1 с, только что суммированные в другом порядке.Теперь мы можем наблюдать, что сложение коммутативно, и сделать вывод, что эти две суммы должны быть равны.То есть любой путь, движущийся вниз и вправо, имеет ту же общую длину (35), что и любой другой.

Учитывая, что ваше связующее дерево так же хорошо, как и любое другое, предполагая, что базовый граф действительносетка.

...