Przegląd podstawowych algorytmów

Slides:



Advertisements
Podobne prezentacje
Opracowała: Iwona Bieniek
Advertisements

ALGORYTMY I STRUKTURY DANYCH
Tablice 1. Deklaracja tablicy
Sortowanie przez scalanie
Algorytmy sortowania i porządkowania
Instrukcje - wprowadzenie
Egzamin.
Egzamin. Zasady dopuszczenia do egzaminu 1.Należy z zajęć laboratoryjnych uzyskać co najmniej 35 pkt. za projekt && 65 pkt. za regularne zajęcia. 2.Jeśli.
Opracował: inż. Krzysztof Zawadzki
CIĄGI.
Grażyna Mirkowska PJWSTK 15 listopad 2000
Wprowadzenie do optymalizacji wielokryterialnej.
Techniki konstrukcji algorytmów
Badania operacyjne. Wykład 2
Liniowość - kryterium Kryterium Znane jako zasada superpozycji
Sortowanie Zajęcia 13.
ZŁOŻONOŚĆ OBLICZENIOWA
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 8: Wykorzystanie procedur i funkcji © Jan Kaczmarek.
Podstawy informatyki Rekurencja i rekurencja Grupa: 1A
Model danych oparty na listach
Metody Sztucznej Inteligencji w Sterowaniu 2009/2010Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz,
Elementy Rachunku Prawdopodobieństwa c.d.
Odkrywanie wzorców sekwencji
Algorytmy grafowe Reprezentacja w pamięci
Analiza matematyczna - Ciągi liczbowe wykład I
Temat lekcji: GRANICA CIĄGU.
ALGORYTMY I STRUKTURY DANYCH
Kod Graya.
Minimalne drzewa rozpinające
Podstawy programowania II
Zbiór do posortowania mieści się w pamięci
Rekurencja.
Algorytmy i Struktury Danych Typy algorytmów
IV OTWARTE MISTRZOSTWA OPOLA W PROGRAMOWANIU ZESPOŁOWYM
Algorytmy i struktury danych
Algorytmy i struktury danych
Programowanie liniowe w teorii gier
Algorytmy i struktury danych
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Zadanie programowania liniowego PL dla ograniczeń mniejszościowych
Zakładamy a priori istnienie rozwiązania α układu równań.
Technika optymalizacji
Modelowanie i identyfikacja 2010/2011Optymalizacja miary efektywności działania sztucznych sieci neuronowych Dr hab. inż. Kazimierz Duzinkiewicz, Katedra.
II. Matematyczne podstawy MK
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
Szeregi funkcyjne dr Małgorzata Pelczar.
Ciągi i szeregi liczbowe
Algorytmy i Struktury Danych
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis.
Treści multimedialne - kodowanie, przetwarzanie, prezentacja Odtwarzanie treści multimedialnych Andrzej Majkowski informatyka +
Algorytmy- Wprowadzenie do programowania
WYKŁAD 06 Programowanie dynamiczne Grażyna Mirkowska.
Rekurencja.
Typy liczbowe, zmienne, operatory Zajęcia 4. Zmienne Zmienna – to w programowaniu element programu, który może mieć przypisaną pewną wartość (wartość.
Klasa 3f Gimnazjum nr 1 w Zielonej Górze
NP-zupełność Problemy: rozwiązywalne w czasie wielomianowym - O(nk)
Funkcje - rekurencja Zajęcia 8. Funkcje - definicja Ogólna postać funkcji w C++: typZwracany nazwaFunkcji(listaParametrówWejściowychFunkcji) { ciało funkcji.
„Filtry i funkcje bazodanowe w EXCELU”
Treść dzisiejszego wykładu l Analiza wrażliwości –zmiana wartości współczynników funkcji celu, –zmiana wartości prawych stron ograniczeń. l Podejścia do.
Liczby naturalne i całkowite Spis treści Definicje Działania na liczbach Wielokrotności liczb naturalnych Cechy podzielności Przykłady potęg,potęgi o.
Metody optymalizacji Materiał wykładowy /2017
Rozdział 5 REKURENCJA.
Radosław Hołówko Konsultant: Agnieszka Pożyczka
ALGORYTMY I STRUKTURY DANYCH
Algorytmy i struktury danych
Egzamin.
ALGORYTMY I STRUKTURY DANYCH
ALGORYTMY I STRUKTURY DANYCH
Zapis prezentacji:

Przegląd podstawowych algorytmów zajęcia 1.

Treść kursu Zajęcia 1 Zajęcia 2 Zajęcia 3 Zajęcia 4 Zajęcia 5 i 6 Wprowadzenie Programowanie dynamiczne Zajęcia 2 Sortowanie Wyszukiwanie binarne Zajęcia 3 Sortowanie pozycyjne Algorytmy zachłanne Zajęcia 4 Rekurencja Przeszukiwanie z nawrotami (backtracking) Zajęcia 5 i 6 Grafy — Wprowadzenie Zajęcia 7 Algorytmy tekstowe Zajęcia 8 Algorytmy geometryczne

Programowanie dynamiczne Strategia projektowania algorytmów, która opiera się na obliczaniu wyniku pewnego problemu na podstawie wyników dla tego samego problemu z innymi argumentami.

Definicja 1. Liczby Fibonnaciego Ciąg liczbowy Fn zadany następującymi równościami: 1. F0 = F1 = 1 2. Fn = Fn−1 + Fn−2 dla n >= 2

Wydawanie reszty Mamy dany pewien zbiór monet i/lub banknotów, których możemy użyć do wydania konkretnej kwoty. Pytanie brzmi, jak to zrobić korzystając z najmniejszej możliwej liczby monet lub banknotów.

Wydawanie reszty – rozwiązanie Nie najgorszym pomysłem jest, na przykład, wybieranie zawsze największych nominałów, które mieszczą się w pozostałej do wydania kwocie. Podejście to nazywa się zachłannym. Pytanie: Czy takie rozwiązanie jest zawsze optymalne (tzn. czy zawsze wydaje kwotę minimalną ilością monet)?

Najdłuższy wspólny podciąg Mając dane dwa ciągi an i bn, należy znaleźć ich najdłuższy wspólny podciąg, tzn. takie i1 < i2 < … < ik oraz j1 < j2 < … < jk , że aim = bjm dla każdego m < 1, 2, . . . , k>. W tym celu należy obliczyć kolejne wartości macierzy t, gdzie t[g][h] oznacza najdłuższy wspólny podciąg (a raczej jego długość) spośród pierwszych g wyrazów ciągu an oraz pierwszych h wyrazów ciągu bn. Łatwo wtedy obliczymy kolejne wyrazy t. Jeśli bowiem ag = bh, to t[g][h] = 1+t[g − 1][h − 1] a w przeciwnym wypadku: t[g][h] = max(t[g − 1][h], t[g][h − 1])

NWP - Ćwiczenie Dla podanych ciągów oblicz długość NWP Odpowiedz: 123456, dł:6

NWP Optymalizacja zużycia pamięci // A i B to długości ciągów a i b // tablica t[2][B] jest początkowo wyzerowana for(int g=1; g<=A; g++) for(int h=1; h<=B; h++) if(a[g] == b[h]) t[g % 2][h] = 1 + t[1 - g % 2][h - 1]; else t[g % 2][h] = max(t[1 - g % 2][h], t[g % 2][h - 1]);