• Nie Znaleziono Wyników

Struktury danych

N/A
N/A
Protected

Academic year: 2021

Share "Struktury danych"

Copied!
38
0
0

Pełen tekst

(1)

Struktury danych

i złożoność obliczeniowa Wykład 6

Prof. dr hab. inż. Jan Magott

(2)
(3)
(4)
(5)
(6)
(7)
(8)

Problemami NP-zupełnymi są:

• Problem podziału,

• Problem komiwojażera,

• Problem cyklu Hamiltona.

(9)
(10)

Zasadnicze techniki dowodzenia NP-zupełności problemów decyzyjnych:

• Ograniczanie,

• Lokalna zamiana,

• Projektowanie części składowych.

Którą z technik zastosowano dowodząc NP-zupełności Problemu plecakowego poprzez przetransformowanie do niego Problemu podziału?

(11)
(12)
(13)

Twierdzenie

Problemy cyklu Hamiltona i ścieżki Hamiltona są NP-zupełne.

(14)
(15)

Zasadnicze techniki dowodzenia NP-zupełności problemów decyzyjnych:

• Ograniczanie,

• Lokalna zamiana,

• Projektowanie części składowych.

(16)

Twierdzenie

Problem najdłuższej ścieżki jest NP- zupełny.

Dowód wykonany techniką ograniczania.

Jako znany problem NP-zupełny przyjmiemy Problem ścieżki Hamiltona.

(17)

NDMT dla Problemu najdłuższej ścieżki

Sterowanie

Głowica

odczytująco-zapisująca Moduł

zgadujący Głowica

zapisująca

-4 -3 -2 -1 0 1 2 3 4

Dane wejściowe ……..

Dane wejściowe

(18)
(19)
(20)
(21)
(22)
(23)

?

(24)

Testy izomorfizmu grafów

?

(25)

Testy izomorfizmu grafów

• Liczba wierzchołków

• Liczba krawędzi

• Stopnie wierzchołków

(26)
(27)
(28)
(29)
(30)

Kryteria kosztów operacji elementarnych

(zapisania, dodawania, odejmowania, porównania dwu liczb, itp.)

Logarytmiczne kryterium kosztów

Czas wykonania elementarnej operacji zależy liniowo od długości łańcucha danych kodujących liczby, a zatem od logarytmów liczb.

Analiza teoretyczna z użyciem DMT prowadzona jest przy tym kryterium.

Jednorodne kryterium kosztów

Czas wykonania elementarnej operacji jest jednostkowy.

Analiza praktyczna często oparta jest na tym kryterium.

(31)
(32)
(33)

NDMT dla Problemu najdłuższej ścieżki

Sterowanie

Głowica

odczytująco-zapisująca Moduł

zgadujący Głowica

zapisująca

-4 -3 -2 -1 0 1 2 3 4

Dane wejściowe ……..

Dane wejściowe

(34)
(35)
(36)
(37)
(38)

Cytaty

Powiązane dokumenty

czyli takie drzewo binarne (prawie) peªne, w którym warto±¢ rodzica jest zawsze nie mniejsza (nie wi¦ksza) od obu potomków (w przypadku ele- mentu bn/2c i nieparzystej liczby

przedostatniego węzła (ostatniego węzła, którego wskaźnik next jest niepusty) (3) ustawiamy dedykowany wskaźnik (killer) na ostatni węzeł używając adresu. zapisanego we

(1) powołujemy dwa pomocnicze wskaźniki: pred ustawiamy na pusty adres, a succ na adres pierwszego węzła (head) i przechodzimy nimi w kierunku końca listy tak, aby wskaźnik

(1) powołujemy dwa pomocnicze wskaźniki: pred ustawiamy na pusty adres, a succ na adres pierwszego węzła (head) i przechodzimy nimi w kierunku końca listy tak, aby wskaźnik pred

(2) za pomocą pary pomocniczych wskaźników pred i succ wybieramy węzeł do przeniesienia i przenosimy go do listy tymczasowej za pomocą wskaźnika mover (aktulizując wskaźniki head

● szablony pozwalają na wielokrotne wykorzystanie istniejącego kodu źródłowego struktury danych dla wielu wersji tej struktury z tym samym interfejsem, ale różnymi typami

● strumienie wejścia/wyjścia: iostream, fstream, sstream, iomanip. ●

(3) przestawiamy wskaźnik next w węźle wskazywanym przez pred (lub wskaźnik head gdy pred jest pusty) oraz wskaźnik prev w węźle wskazywanym przez succ (lub wskaźnik tail gdy