Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Шестерёнки алгоритм (графы) кратко

Лекция



Привет, сегодня поговорим про шестерёнки алгоритм графы , обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое шестерёнки алгоритм графы , настоятельно рекомендую прочитать все из категории Алгоритмы и теория алгоритмов.

шестеpенок пpонумеpованы от 0 до N (N<=10). Задана матрица соединений паp шестеpенoк в виде C[i,j]=1, если шестеpня с номеpом i находится в зацеплении с шестеpней j, где 1<=i

Решение

Будем обозначать вращение по часовой стрелке нулем, против единицей. Сначала припишем шестерне с заданным номером число нуль. На следующем шаге всем шестерням, сцепленным с заданной, будут приписаны числа 1 (они будут вращаться в противоположную шестерне 1 сторону). Далее всем шестерням, находящимся в зацеплении с занумерованными на предыдущем шаге, припишем значения 0 и и.т.д.

Процесс будем повторять до тех пор, пока либо на очередном шаге ни одной шестерне не будет приписано новое значение, и тогда шестерню с заданным номером удастся повернуть, и число рассмотренных шестеренок и есть искомое число пришедших в движение, либо на каком-то шаге пометка шестерни изменяется с 1 на 0 или с 0 на 1, и тогда система в движение не придет.

Значение направления поворота шестеренке будем хранить в массиве rotate. Об этом говорит сайт https://intellect.icu . Для обхода шестеренок и присвоения значений массиву rotate будем использовать поиск в ширину.

Формальное описание

Gears()
1. Создать матрицу смежности для графа.
2. Прочитать номер стартовой шестеренки.
3. Произвести поиск в ширину со стартовой вершины (пп.3.1-3.5):
   3.1. Инициализировать значения массива направлений значениями -1.
   3.2. Задать направление вращения стартовой вершины нулем.
   3.3. Добавить стартовую вершину в очередь.
   3.4. Пока очередь не пуста и не произошло замены вращения шестеренки,
        повторять пп. 3.4.1-3.4.5:
        3.4.1. Получить текущую вершину из очереди.
        3.4.2. Найти все инцедентные вершины.
        3.4.3. Если для найденной вершины не было установлено направление
               вращения, то установить вращение отличное от направления
               предыдущей шестеренки и добавить вершину в очередь.
        3.4.4. Если найденная вершина имеет такое же направление вращение,
               как и предыдущая, то считать, что произошла замена вращения
               шестеренки.
        3.4.5. Удалить вершину из очереди.
4. Если замены не произошло, то считать, что система шестеренок будет 
   вращаться и найти количество вращающихся шестеренок; 
   иначе считать, что система вращаться не будет.   


Пример графа из двух компонент связности для задачи "Шестеренки".

Если запустить любую шестеренку из первой компоненты (№0-№6), то система будет вращаться, причем шестеренки с однаковым направлением вращения обозначены одним цветом. Если запустить любую шестеренку из второй компоенты связности (№7-№11), то система вращаться не будет, так как шестеренки 8 и 9 будут иметь одинаковые направления вращения.

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

Из статьи мы узнали кратко, но содержательно про шестерёнки алгоритм графы
создано: 2014-10-13
обновлено: 2021-03-13
132545



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Алгоритмы и теория алгоритмов

Термины: Алгоритмы и теория алгоритмов