Граф се представя с асоциативен списък, в който върховете са ключове, а стойностите са списък от децата им.

  1. Да се напише функция (nodes g), която намира всички върхове на графа
  2. Да се напише функция (children n g), която намира всички деца на върха n в графа
  3. Да се напише функция (parents n g), която намира всички родители на върха n в графа
  4. Да се напише функция (oriented? g), която проверява дали графът е строго ориентиран, т.е. дали има дъга, за която няма обратна.
  5. Да се напише функция (succs n g), която намира всички наследници на n в ацикличен граф g.
  6. Да се напише функция (paths-len n k g), която намира всички пътища в графа g от възела n с дължина k. Да се промени програмата така, че да намира само ацикличните пътища.
  7. Да се напишат функции (dfs-paths n g) и (bfs-paths n g), които намират всички аицклични пътища от възела n в графа g съответно с търсене в ширина и с търсене в дълбочина. Упътване: използвайте map и accumulate.
Последно модифициране: събота, 12 ноември 2011, 17:38