Учебная страница курса биоинформатики,
год поступления 2011
Графы
(0.5) Дан граф (см. пример графов 1). Напишите для этого графа представление в виде матрицы смежности, списка смежных вершин, в виде таблицы соседей.
(0.5) Для графа из примера 1 продемонстрируйте поиск пути от вершины d до вершины l с помощью поиска вглубь. Выбирать очередного соседа нужно в лексикографическом порядке.
(0.5)Для графа из примера 1 продемонстрируйте поиск кратчайшего пути от вершины k до вершины e.
(2) Напишите программу, которая получает на вход описание графа в виде списка смежности (файл, в котором на каждой строке через пробел написаны два имени вершины: вершина, из которой исходит ребро, и вершина, в которую входит ребро), получает с командной строки имена вершины отправления и вершины назначения, и выписывает какой-либо путь от вершины отправления в вершину назначения с помощью поиска вглубь.
(2) Напишите программу, которая получает на вход описание графа в виде списка смежности (см. выше), получает с командной строки имена вершины отправления и вершины назначения, и выписывает кратчайший путь от вершины отправления в вершину назначения с помощью поиска вширь.
(1.5) Для последовательности ATCAGATAGGAC продемонстрируйте алгоритм сборки генома: разбейте последовательность на перекрывающиеся участки длиной 3, преобразуйте граф и найдите в нем эйлеров цикл.
Примеры графов
- Ориентированный граф:
digraph { a -> b -> c -> d; a -> d -> c -> b; f -> e -> b -> a; e -> g -> h -> c; c -> h -> g -> b; i -> j -> b -> e -> f -> j -> p -> c; k -> l -> a; i -> b; k -> b; j -> m -> n -> o -> c; m -> o; }