Algorytmy i struktury danych
Kurs na temat algorytmów i struktur danych w języku Python.
Spis lekcji
1
Wprowadzenie do algorytmów i struktur danych
2
Złożoność obliczeniowa - notacja Big O
3
Analiza czasu i pamięci algorytmów
4
Listy - operacje i zastosowania
5
Tuple - niezmienność i użycie
6
Słowniki - tablice mieszające
7
Zbiory - operacje na zbiorach
8
Porównanie struktur danych
9
Listy jednokierunkowe
10
Listy dwukierunkowe
11
Stos LIFO
12
Kolejka FIFO
13
Kolejka priorytetowa
14
Wprowadzenie do rekurencji
15
Rekurencja vs iteracja
16
Stos wywołań i debugowanie rekurencji
17
Rekurencja ogonowa
18
Fibonacci
19
Silnia i potęgowanie rekurencyjne
20
Problem wież Hanoi
21
Wprowadzenie do sortowania
22
Sortowanie bąbelkowe
23
Sortowanie przez wybieranie
24
Sortowanie przez wstawianie
25
Sortowanie przez scalanie
26
Sortowanie szybkie
27
Sortowanie przez kopcowanie
28
Porównanie algorytmów sortowania
29
Wyszukiwanie liniowe
30
Wyszukiwanie binarne
31
Wyszukiwanie interpolacyjne
32
Wyszukiwanie skokowe
33
Drzewa binarne - podstawy
34
Drzewo binarne wyszukiwań
35
Przechodzenie drzew
36
Drzewa AVL
37
Kopce binarne
38
Podstawy przetwarzania tekstów
39
Palindrom
40
Anagram
41
Wyszukiwanie wzorca
42
Algorytm Knuth-Morris-Pratt
43
Algorytm Rabin-Karp
44
Algorytm Boyer-Moore
45
Szyfr Cezara
46
Wprowadzenie do programowania dynamicznego
47
Memoization
48
Tabulation (podejście tabelaryczne)
49
Problem pakowania plecaka
50
Plecak - metoda zachłanna
51
Plecak - programowanie dynamiczne
52
Najdłuższy wspólny podciąg (LCS)
53
Najdłuższy rosnący podciąg (LIS)
54
Podstawy teorii grafów
55
Reprezentacje grafów
56
Przeszukiwanie wszerz (BFS)
57
Przeszukiwanie w głąb (DFS)
58
Algorytm Dijkstry
59
Minimalne drzewo rozpinające
60
Systemy liczbowe
61
Przeliczanie BIN -> DEC
62
Przeliczanie DEC-> HEX
63
Przeliczanie między dowolnymi systemami
64
Operacje bitowe w algorytmach
65
Liczby pierwsze
66
Sito Eratostenesa
67
Algorytm Euklidesa - NWD
68
NWD i NWW - zastosowania
69
Rozkład na czynniki pierwsze
70
Liczby doskonałe
71
Pierwiastkowanie - metoda Newtona
72
Szybkie potęgowanie
73
Wprowadzenie do strategii zachłannej
74
Problem wydawania reszty
75
Problem planowania zadań
76
Kompresja Huffmana
77
Algorytmy Divide and Conquer
78