SlideShare a Scribd company logo
ДЕЯКІ КЛАСИЧНІ АЛГОРИТМИ ТА ЇХ РЕАЛІЗАЦІЯ
Бінарні дерева пошуку (Корінь (Ліве-піддерево Праве-піддерево))
Бінарні дерева пошуку (Корінь Ліве-піддерево Праве-піддерево)
Бінарні дерева пошуку (Корінь . (Ліве-піддерево . Праве-піддерево))
Бінарні дерева пошуку (defun insel (n tree) (cond ((null tree) (cons n nil)) ((> n (car tree))  (cons (car tree) (cons (cadr tree) (insel n (cddr tree))))) (t (cons (car tree) (cons (insel n (cadr tree)) (cddr tree)))) ))
Бінарні дерева пошуку > (setq tr (insel 5 nil)) (5) > (setq tr (insel 3 tr)) (5 (3)) > (setq tr (insel 1 tr)) (5 (3 (1))) > (setq tr (insel 4 tr)) (5 (3 (1) 4)) >  (setq tr (insel 7 tr)) (5 (3 (1) 4) 7) > (setq tr (insel 6 tr)) (5 (3 (1) 4) 7 (6)) > (setq tr (insel 13 tr)) (5 (3 (1) 4) 7 (6) 13) > (setq tr (insel 15 tr)) (5 (3 (1) 4) 7 (6) 13 NIL 15) > (setq tr (insel 11 tr)) (5 (3 (1) 4) 7 (6) 13 (11) 15) > (setq tr (insel 17 tr)) (5 (3 (1) 4) 7 (6) 13 (11) 15 NIL 17) 5 3 1 4 7 6 13 15 11 17
Бінарні дерева пошуку (defun pud (tree) (cond  ((null tree)) (t  (format t "~d  " (car tree)) (pud (cadr tree)) (pud (cddr tree)) )) ) >(pud tr) 5  3  1  4  7  6  13  11  15  17 T
Бінарні дерева пошуку (defun plr (tree) (cond  ((null tree)) (t  (plr (cadr tree)) (format t "~d  " (car tree)) (plr (cddr tree)) )) ) >(plr tr) 1  3  4   5   6   7   1 1   1 3   15  17 T
Графи G=(V,E ) V –  множина вершин графу  Е – множина ребер графу е і =( v k , v l )  – v k   та  v l   Є  V Порядок графу Суміжні вершини та ребра Шлях у графі  – ( v 1 ,v 2 ) (v 2 ,v 3 )…(v k+1 ,v k ) Довжина Цикл Зв ’ язаний граф Відстань між вершинами  U  та  V Остове дерево графу
Графи + “ чи існує ребро з  i  в  j ? ” -  один крок - розмір пам ’ яті  NxN G  граф порядку  N, V={1,2,…,N} Матриця суміжності   B =  [B ij ]  NxN. B ij  =1  або  Bij = 0
Графи ((0 1 1 0) (0 0 1 0) (0 0 0 1) (1 0 0 0))
Графи >(neighbour1 2 '((0 1 1 0)(0 0 1 0)(0 0 0 1)(1 0 0 0))) (3) >(neighbour1 4 '((0 1 1 0)(0 0 1 0)(0 0 0 1)(1 0 0 0))) (1)  >(neighbour1 1 '((0 1 1 0)(0 0 1 0)(0 0 0 1)(1 0 0 0))) (2 3) (defun neighbour1 (x graph) (neigb1 1 (nth (- x 1) graph))) (defun neigb1 (i lst) (cond ((null lst) nil) ((eql (car lst) 1)   (cons i (neigb1 (+ i 1) (cdr lst)))) (t (neigb1 (+ i 1) (cdr lst))))
Графи
Графи
Графи (defun neighbour2 (x graph) (cond ((null graph) nil ) ((and (eq l  (caar graph) x) (eq l  (cdar graph)'false)) nil) ((eql (caar graph) x) ( cons (cdar graph) ( neighbour2 x (cdr graph))) ) ((eql(cdar graph) x) ( cons (caar graph) (neighbour2 x (cdr graph))) ) (t  (neighbour2 x (cdr graph)))))
Графи >(neighbour2 2 '((1 . 2) (1 . 3) (2 . 3) (5 . false)))  (1 3)  >(neighbour2 1 '((1 . 2) (1 . 3) (2 . 3) (5 . false)))  (2 3)  >(neighbour2 5 '((1 . 2) (1 . 3) (2 . 3) (5 . false)))  nil
Графи (defun main (x graph) (list-set (neighbour2 x graph)) ) (defun list-set (lst) (cond ((null lst) nil ) ((member (car lst) (cdr lst)) (list-set (cdr lst)) ) (t (cons (car lst) (list-set (cdr lst))) ) ))
Графи > (main 2 '((1 . 2) (1 . 3) (2 . 3) (2 . 1) (3 . 1) (3 . 2) (5 . false))) (1 3)  > (main 1 '((1 . 2) (1 . 3) (2 . 3) (2 . 1) (3 . 1) (3 . 2) (5 . false)))  (2 3)  > main 5 '((1 . 2) (1 . 3) (2 . 3) (2 . 1) (3 . 1) (3 . 2) (5 . false)))  NIL
Графи
Графи (defun neighbour3 (x graph) (cond ( (null (assoc x graph)) nil ) (  t  (cdr (assoc x graph)) ) ) > (neighbour3 2 ' ((1 . (2 3 4)) (2 . (1 3)) (3 . (1 2)) (4 . (1))))  (1 3)   > (neighbour3 1 ' ((1 . (2 3 4)) (2 . (1 3)) (3 . (1 2)) (4 . (1))))  (2 3 4)   > (neighbour3 3 ' ((1 . (2 3 4)) (2 . (1 3)) (3 . (1 2)) (4 . (1))))  (1 2)
Графи (defun depthfirst graph root) (cond ((null graph) nil ) (t (defi graph (list root) (list root))))) (defun defi (graph visited path) (cond ((null path) (reverse visited) ) (t(cond ((null (expnd graph visited (car path))) (defi graph visited(cdr path)) ) (t(defi graph    (cons (expnd graph visited(car path))visited) (cons (expnd graph visited(car path)) path)) )) )))
Графи (defun expnd (graph visited vertex) (cond ((null (neighbour3 vertex graph)) nil ) (t (firstnotvisited visited (neighbour3 vertex graph)))) (defun firstnotvisited (visited vlist) (cond ((null vlist) nil ) (t(cond ((null (member (car vli st) visited)) (car vlist)) (t (firstnotvisited visited(cdr  vlist)) ))))
Графи > (depthfirst '((1 . (2 3 4)) (2 . (3)) (3 . (4))) 1)  (1 2 3 4)  > (depthfirst '((1 . (2 3 4)) (2 . (3)) (3 . (4))) 2) (2 3 4)  > (depthfirst '((1 . (2 3 4)) (2 . (3)) (3 . (4))) 3) (3 4)  > > (depthfirst '((1 . (2 3 4)) (2 . (3 1)) (3 . (4)))   2) (2 3 4 1)
Графи > (depthfirst '((1 . (2 3)) (2 . (4 5)) (3 . (6 7))) 1 ) (1 2 4 5 3 6 7)
Дякую за увагу

More Related Content

PPT
побудова графіків тригонометричних функцій
PPT
Показникова функція
PPT
перетворення графіків функцій
PPTX
Презентація до уроків №7, №8 "Побудова графіків тригонометричних функцій"
PPT
Тригонометричні функції
PPT
PPTX
Показникова функція
PPTX
Презентація до уроку №9 "Властивості тригонометричних функцій"
побудова графіків тригонометричних функцій
Показникова функція
перетворення графіків функцій
Презентація до уроків №7, №8 "Побудова графіків тригонометричних функцій"
Тригонометричні функції
Показникова функція
Презентація до уроку №9 "Властивості тригонометричних функцій"

What's hot (16)

PPT
11 показникова
PPT
Синус
PPSX
Побудова графіків функцій
PPT
Простейшие преобразования графиков функций
PPT
перетворення графіків функцій
PPT
Перетворення графіків
PPTX
урок№12 паскаль
PPTX
урок№11 паскаль
PPT
Похідна. Фізичний і геометричний зміст похідної
PPT
тригон. функції
PPT
інтеграл
PPT
Границі
PPT
Функция y=ax2+bx+c ее свойства и график
PPT
паралельне перенесення по оу
PPT
Grafika VB
PPT
лекция тригонометричні функції
11 показникова
Синус
Побудова графіків функцій
Простейшие преобразования графиков функций
перетворення графіків функцій
Перетворення графіків
урок№12 паскаль
урок№11 паскаль
Похідна. Фізичний і геометричний зміст похідної
тригон. функції
інтеграл
Границі
Функция y=ax2+bx+c ее свойства и график
паралельне перенесення по оу
Grafika VB
лекция тригонометричні функції
Ad

Similar to Lec8 (7)

PPTX
Моделювання на ЕОМ. Задачі з теорії графів. Алгоритми на графах.
PPTX
Моделювання на ЕОМ. Лекція №7. Теорія графів.
PPT
одновимірні масиви
PPT
масиви 7
PPT
мова паскаль 42
PPTX
масиви презентация
Моделювання на ЕОМ. Задачі з теорії графів. Алгоритми на графах.
Моделювання на ЕОМ. Лекція №7. Теорія графів.
одновимірні масиви
масиви 7
мова паскаль 42
масиви презентация
Ad

Lec8

  • 1. ДЕЯКІ КЛАСИЧНІ АЛГОРИТМИ ТА ЇХ РЕАЛІЗАЦІЯ
  • 2. Бінарні дерева пошуку (Корінь (Ліве-піддерево Праве-піддерево))
  • 3. Бінарні дерева пошуку (Корінь Ліве-піддерево Праве-піддерево)
  • 4. Бінарні дерева пошуку (Корінь . (Ліве-піддерево . Праве-піддерево))
  • 5. Бінарні дерева пошуку (defun insel (n tree) (cond ((null tree) (cons n nil)) ((> n (car tree)) (cons (car tree) (cons (cadr tree) (insel n (cddr tree))))) (t (cons (car tree) (cons (insel n (cadr tree)) (cddr tree)))) ))
  • 6. Бінарні дерева пошуку > (setq tr (insel 5 nil)) (5) > (setq tr (insel 3 tr)) (5 (3)) > (setq tr (insel 1 tr)) (5 (3 (1))) > (setq tr (insel 4 tr)) (5 (3 (1) 4)) > (setq tr (insel 7 tr)) (5 (3 (1) 4) 7) > (setq tr (insel 6 tr)) (5 (3 (1) 4) 7 (6)) > (setq tr (insel 13 tr)) (5 (3 (1) 4) 7 (6) 13) > (setq tr (insel 15 tr)) (5 (3 (1) 4) 7 (6) 13 NIL 15) > (setq tr (insel 11 tr)) (5 (3 (1) 4) 7 (6) 13 (11) 15) > (setq tr (insel 17 tr)) (5 (3 (1) 4) 7 (6) 13 (11) 15 NIL 17) 5 3 1 4 7 6 13 15 11 17
  • 7. Бінарні дерева пошуку (defun pud (tree) (cond ((null tree)) (t (format t "~d " (car tree)) (pud (cadr tree)) (pud (cddr tree)) )) ) >(pud tr) 5 3 1 4 7 6 13 11 15 17 T
  • 8. Бінарні дерева пошуку (defun plr (tree) (cond ((null tree)) (t (plr (cadr tree)) (format t "~d " (car tree)) (plr (cddr tree)) )) ) >(plr tr) 1 3 4 5 6 7 1 1 1 3 15 17 T
  • 9. Графи G=(V,E ) V – множина вершин графу Е – множина ребер графу е і =( v k , v l ) – v k та v l Є V Порядок графу Суміжні вершини та ребра Шлях у графі – ( v 1 ,v 2 ) (v 2 ,v 3 )…(v k+1 ,v k ) Довжина Цикл Зв ’ язаний граф Відстань між вершинами U та V Остове дерево графу
  • 10. Графи + “ чи існує ребро з i в j ? ” - один крок - розмір пам ’ яті NxN G граф порядку N, V={1,2,…,N} Матриця суміжності B = [B ij ] NxN. B ij =1 або Bij = 0
  • 11. Графи ((0 1 1 0) (0 0 1 0) (0 0 0 1) (1 0 0 0))
  • 12. Графи >(neighbour1 2 '((0 1 1 0)(0 0 1 0)(0 0 0 1)(1 0 0 0))) (3) >(neighbour1 4 '((0 1 1 0)(0 0 1 0)(0 0 0 1)(1 0 0 0))) (1) >(neighbour1 1 '((0 1 1 0)(0 0 1 0)(0 0 0 1)(1 0 0 0))) (2 3) (defun neighbour1 (x graph) (neigb1 1 (nth (- x 1) graph))) (defun neigb1 (i lst) (cond ((null lst) nil) ((eql (car lst) 1) (cons i (neigb1 (+ i 1) (cdr lst)))) (t (neigb1 (+ i 1) (cdr lst))))
  • 15. Графи (defun neighbour2 (x graph) (cond ((null graph) nil ) ((and (eq l (caar graph) x) (eq l (cdar graph)'false)) nil) ((eql (caar graph) x) ( cons (cdar graph) ( neighbour2 x (cdr graph))) ) ((eql(cdar graph) x) ( cons (caar graph) (neighbour2 x (cdr graph))) ) (t (neighbour2 x (cdr graph)))))
  • 16. Графи >(neighbour2 2 '((1 . 2) (1 . 3) (2 . 3) (5 . false))) (1 3) >(neighbour2 1 '((1 . 2) (1 . 3) (2 . 3) (5 . false))) (2 3) >(neighbour2 5 '((1 . 2) (1 . 3) (2 . 3) (5 . false))) nil
  • 17. Графи (defun main (x graph) (list-set (neighbour2 x graph)) ) (defun list-set (lst) (cond ((null lst) nil ) ((member (car lst) (cdr lst)) (list-set (cdr lst)) ) (t (cons (car lst) (list-set (cdr lst))) ) ))
  • 18. Графи > (main 2 '((1 . 2) (1 . 3) (2 . 3) (2 . 1) (3 . 1) (3 . 2) (5 . false))) (1 3) > (main 1 '((1 . 2) (1 . 3) (2 . 3) (2 . 1) (3 . 1) (3 . 2) (5 . false))) (2 3) > main 5 '((1 . 2) (1 . 3) (2 . 3) (2 . 1) (3 . 1) (3 . 2) (5 . false))) NIL
  • 20. Графи (defun neighbour3 (x graph) (cond ( (null (assoc x graph)) nil ) ( t (cdr (assoc x graph)) ) ) > (neighbour3 2 ' ((1 . (2 3 4)) (2 . (1 3)) (3 . (1 2)) (4 . (1)))) (1 3) > (neighbour3 1 ' ((1 . (2 3 4)) (2 . (1 3)) (3 . (1 2)) (4 . (1)))) (2 3 4) > (neighbour3 3 ' ((1 . (2 3 4)) (2 . (1 3)) (3 . (1 2)) (4 . (1)))) (1 2)
  • 21. Графи (defun depthfirst graph root) (cond ((null graph) nil ) (t (defi graph (list root) (list root))))) (defun defi (graph visited path) (cond ((null path) (reverse visited) ) (t(cond ((null (expnd graph visited (car path))) (defi graph visited(cdr path)) ) (t(defi graph (cons (expnd graph visited(car path))visited) (cons (expnd graph visited(car path)) path)) )) )))
  • 22. Графи (defun expnd (graph visited vertex) (cond ((null (neighbour3 vertex graph)) nil ) (t (firstnotvisited visited (neighbour3 vertex graph)))) (defun firstnotvisited (visited vlist) (cond ((null vlist) nil ) (t(cond ((null (member (car vli st) visited)) (car vlist)) (t (firstnotvisited visited(cdr vlist)) ))))
  • 23. Графи > (depthfirst '((1 . (2 3 4)) (2 . (3)) (3 . (4))) 1) (1 2 3 4) > (depthfirst '((1 . (2 3 4)) (2 . (3)) (3 . (4))) 2) (2 3 4) > (depthfirst '((1 . (2 3 4)) (2 . (3)) (3 . (4))) 3) (3 4) > > (depthfirst '((1 . (2 3 4)) (2 . (3 1)) (3 . (4))) 2) (2 3 4 1)
  • 24. Графи > (depthfirst '((1 . (2 3)) (2 . (4 5)) (3 . (6 7))) 1 ) (1 2 4 5 3 6 7)