Algorytmy i struktury danych - Wykład 4
8 Questions
0 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Jaką wysokość ma drzewo decyzyjne o m liściach?

  • m log m
  • 2m
  • m
  • log m (correct)

Ile porównań wykonuje każdy algorytm sortujący za pomocą porównań dla ciągu n-elementowego?

  • c n log n (correct)
  • n!
  • n
  • c n^2

Która z poniższych metod nie jest algorytmem dziel i zwyciężaj?

  • Sortowanie szybkie
  • Sortowanie przez scalanie
  • Sortowanie bąbelkowe (correct)
  • Sortowanie przez wstawianie

Jakie równanie ma rekurencja typu „dziel i rządź”?

<p>T(n) = aT(n/b) + c (D)</p> Signup and view all the answers

Jakie jest ogólne rozwiązanie jednorodnej rekurencji liniowej?

<p>Wyrażenie zamknięte w zależności od n (C)</p> Signup and view all the answers

Jakie są warunki dla n w rekurencji typu „dziel i rządź”?

<p>n &gt; 1 i n jest potęgą b (B)</p> Signup and view all the answers

Jaką złożoność czasową ma algorytm sortowania przez scalanie?

<p>O(n log n) (C)</p> Signup and view all the answers

Jak można przedstawić proces decyzyjny w algorytmach?

<p>Dzięki grafom decyzji (D)</p> Signup and view all the answers

Flashcards

Drzewo decyzyjne

Graficzna metoda przedstawiania procesu decyzyjnego, gdzie każdy węzeł reprezentuje pytanie lub kryterium, a gałęzie odpowiadają możliwym wynikom. Używane do wizualnego przedstawienia decyzji i ich zależności.

Wysokość drzewa decyzyjnego

Minimalna wysokość drzewa decyzyjnego o m liściach to log m. Drzewo binarne o wysokości h może mieć co najwyżej 2h liści. Drzewo decyzyjne algorytmu sortującego n elementów ma co najmniej n! liści.

Dolne ograniczenie złożoności sortowania

Każdy algorytm sortujący za pomocą porównań potrzebuje co najmniej Ω(n log n) porównań dla ciągu n-elementowego. To wynika z faktu, że drzewo decyzyjne sortujące n elementów ma co najmniej n! liści, a log(n!) ≈ n log n.

Algorytmy „dziel i zwyciężaj”

Strategia rozwiązywania problemów poprzez rekurencyjny podział na mniejsze, podobne podproblemy, które są następnie rozwiązywane i łączone, by otrzymać rozwiązanie problemu głównego. Rozwiązanie każdego podproblemu wykorzystuje rezultat rozwiązań innych podproblemów.

Signup and view all the flashcards

Sortowanie przez scalanie

Algorytm sortujący, który dzieli listę na dwie połowy, sortuje każdą połowę rekurencyjnie, a następnie scalane je w jedną posortowaną listę. Nie jest sortowaniem in-place, ponieważ wymaga dodatkowej pamięci do scalania.

Signup and view all the flashcards

Rekurencja liniowa

Równanie rekurencyjne, w którym każdy człon jest liniową kombinacją poprzednich członów. Współczynniki kombinacji są stałymi wartościami. Dzieli się na równania jednorodne i niejednorodne.

Signup and view all the flashcards

Rekurencja typu „dziel i rządź”

Równanie rekurencyjne, w którym każdy człon jest liniową kombinacją poprzednich członów, przy czym stałe współczynniki a i b są dodatnie, a liczba podproblemów a oraz rozmiar każdego podproblemu n/b są stałymi wartościami.

Signup and view all the flashcards

Równanie rekurencyjne

Równanie rekurencyjne, które opisuje relację rekurencyjną dla danego problemu, gdzie każdy kolejny element ciągu jest uzależniony od poprzedniego elementu lub kilku poprzednich elementów.

Signup and view all the flashcards

Study Notes

Algorytmy i struktury danych - Wykład 4

  • Tematem wykładu 4 są algorytmy i struktury danych.
  • Slajdy zostały przygotowane przez mgr inż. Patryka Mendonia oraz zaktualizowane przez Dr. Gleba Polevoya.

Drzewo decyzyjne

  • Drzewo decyzyjne to graficzna metoda przedstawiania procesu decyzyjnego.
  • Pokazuje możliwe opcje i warianty w procesie decyzyjnym.

Sortowanie za pomocą porównań

  • Metoda sortowania polegająca na porównywaniu elementów.
  • Drzewo decyzyjne "sortujące" trzy elementy ilustruje proces porównań.
  • Kierunek "tak" w drzewie decyzyjnym wskazuje odpowiedni warunek porównania.
  • Każdy algorytm sortujący za pomocą porównań wymaga co najmniej log(n!) porównań, aby posortować n elementów.

Dziel i zwyciężaj

  • Strategia algorytmiczna, która podziela problem na mniejsze podproblemy, rozwiązuje je osobno, a następnie łączone wyniki w rozwiązanie problemu głównego.
  • Faza I (dziel): podział zadania rozmiaru n na k podzadań.
  • Faza II (zwyciężaj): osobne rozwiązanie każdego podzadania.
  • Faza III (łącz): połączenie wyników podzadań w jedno rozwiązanie.

Sortowanie przez scalanie

  • Algorytm sortujący wykorzystujący strategię "dziel i zwyciężaj".
  • Algorytm dzieli ciąg na dwa podciągi i sortuje je osobno.
  • Następnie scala posortowane podciągi, aby utworzyć posortowany ciąg.
  • Metoda nie jest "in-place".

Złożoność czasowa algorytmu sortowania przez scalanie

  • Czas działania algorytmu sortowania przez scalanie jest proporcjonalny do n log(n), gdzie n jest liczbą elementów do posortowania.
  • Rozwiązanie rekurencyjnego równania ilustruje ten związek.

Rozwiązywanie równań rekurencyjnych

  • Metody rozwiązywania rekurencji liniowej: rekurencja liniowa ze stałymi współczynnikami, jednorodna i niejednorodna.
  • Metoda wielokrotnego podstawiania: do rozwiązania rekurencji typu "dziel i zwyciężaj".
  • Wyznaczanie współczynników z warunków początkowych: do uzyskania konkretnego rozwiązania.

Przykład obliczania złożoności jednorodnej rekurencji liniowej

  • Przykład obliczania złożoności czasowej dla rekurencji liniowej.
  • Wyznaczenie złożoności rekurencji na podstawie podanego wzoru rekurencyjnego.

Rekurencja typu "dziel i rządź"

  • Opis rekurencji z podziałem na podproblemy (a podproblemów o rozmiarze n/b).
  • Równość rekurencyjna i jej rozwiązanie.
  • Dla rekurencji w konkretnych przypadkach.

Porównanie złożoności czasowej algorytmów sortujących

  • Porównanie złożoności optymistycznej i pesymistycznej kilku algorytmów sortujących (przez scalanie, kopcowanie, szybkie, bąbelkowe, wstawianie, wybieranie).
  • Podsumowanie złożoności czasowej różnych algorytmów w kontekście ich efektywności obliczeniowej.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Wykład 4 dotyczący algorytmów i struktur danych omawia kluczowe koncepcje, takie jak drzewa decyzyjne oraz metody sortowania przy użyciu porównań. Zawiera także wprowadzenie do strategii 'dziel i zwyciężaj', która jest istotna w rozwiązywaniu złożonych problemów. Prowadzący zajęcia to mgr inż. Patryk Mendonia oraz Dr. Gleb Polevoy.

More Like This

Use Quizgecko on...
Browser
Browser