Skip to content

samvel63/recount_of_great_trees

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Подсчет количества прадеревьев в графе и построение графа

Определение прадерева

Прадеревом с корнем A называется граф G = (E, Г), если существует единственная вершина А, в которую не заходит ни одна дуга; в каждую другую вершину заходит в точности одна дуга; граф не имеет контуров.

На картинке пример с прадеревом:

Image alt


Алгоритм вычисления

  1. Найти матрицу связности.
  2. Найти матрицу вхождений.
  3. Посчитать разность матрицы вхождений и матрицы связности.
  4. У полученной матрицы удалить k-ую строку и столбец, k - это корень прадерева.
  5. Посчитать детериминант у обработанной матрицы. Полученное число будет количеством частичных прадеревьев на графе.

Инструкция по запуску

  1. Сначала необходимо установить фласк и его виртуальное окружение:

Image alt

  1. Далее файлы с репозитория нужно поместить в папку flask_simple_ajax(название может быть любым).
  2. Открыть и запустить файл.
  3. В любом браузере заходим по ссылке localhost:5000 и пользуемся программой.

Инструкция по использованию программы

  • Чтобы соединить графы проведите зажатой левой кнопкой мышь от первой вершины до второй.
  • Чтобы сделать цикл, необходимо выделить вершину левой кнопкой мышь и нажать 'R' - вершина будет выделена черной линией.
  • Чтобы удалить вершину или дугу, выделите её и нажмите 'Delete'.
  • Если выделить дугу, то при нажатии кнопки 'R' дуга будет направлена вправо.
  • Если выделить дугу, то при нажатии кнопки 'L' дуга будет направлена влево.
  • Если выделить дугу, то при нажатии кнопки 'B' дуга будет направлена в обе стороны.
  • Если зажать ctrl + левая кнопка мыши, то можно сменить место вершины.
  • About

    No description, website, or topics provided.

    Resources

    Stars

    Watchers

    Forks

    Releases

    No releases published

    Packages

    No packages published