Informatyk samouk. Przewodnik po strukturach danych i algorytmach dla początkujących - ebook
Informatyk samouk. Przewodnik po strukturach danych i algorytmach dla początkujących - ebook
Niektórzy twierdzą, że kiedyś po ukończeniu dobrej szkoły nie było potrzeby, by się dalej uczyć. Dziś każdy informatyk albo programista, który chce sobie zagwarantować dobrą posadę, musi przyjąć postawę zawsze się uczę. Jeśli nie masz za sobą studiów informatycznych, ale bardzo chcesz pracować jako inżynier oprogramowania, musisz poznać podstawy informatyki, jakimi są struktury danych i algorytmika. Znajomość tych zagadnień jest potrzebna każdemu programiście!
Ta książka jest kontynuacją bestsellera Programista samouk. Dzięki niej zrozumiesz najważniejsze koncepcje związane z różnymi algorytmami i strukturami danych, a to z kolei pozwoli Ci na profesjonalne podejście do tworzenia kodu. Przystępnie opisano tu różne algorytmy, w tym wyszukiwania liniowego i binarnego, a także służące do pracy na ciągach znaków i do wykonywania obliczeń. Zaprezentowano również najważniejsze struktury danych, w tym tablice, listy połączone, tablice mieszające, drzewa i wiele innych. Poszczególne zagadnienia zostały pokazane od strony praktycznej, co sprawi, że bez trudu zastosujesz zdobytą wiedzę w codziennej pracy. W efekcie lektury poszerzysz swoje umiejętności, a jeśli zechcesz, przygotujesz się do kariery skutecznego programisty - nawet jeśli nie masz dyplomu inżyniera!
W książce między innymi:
- algorytm i związane z nim pojęcia
- rekurencja i jej zastosowanie
- działanie najważniejszych algorytmów
- listy, stosy i kolejki
- drzewa binarne, kopce binarne i grafy
Możesz zostać profesjonalnym informatykiem!
Spis treści
O autorze
O redaktorze merytorycznym
Podziękowania
Wprowadzenie
Część I. Wprowadzenie do algorytmów
Rozdział 1. Czym jest algorytm
- Analiza algorytmów
- Czas stały
- Czas logarytmiczny
- Czas liniowy
- Czas logarytmiczno-liniowy
- Czas kwadratowy
- Czas sześcienny
- Czas wykładniczy
- Porównanie złożoności optymistycznej i pesymistycznej
- Złożoność pamięciowa
- Dlaczego to ma znaczenie
- Słownictwo
- Wyzwanie
Rozdział 2. Rekurencja
- Kiedy używać rekurencji
- Słownictwo
- Wyzwanie
Rozdział 3. Algorytmy wyszukiwania
- Wyszukiwanie liniowe
- Kiedy używać wyszukiwania liniowego
- Wyszukiwanie binarne
- Kiedy używać wyszukiwania binarnego
- Poszukiwanie znaków
- Słownictwo
- Wyzwanie
Rozdział 4. Algorytmy sortowania
- Sortowanie bąbelkowe
- Kiedy używać sortowania bąbelkowego
- Sortowanie przez wstawianie
- Kiedy używać sortowania przez wstawianie
- Sortowanie przez scalanie
- Kiedy używać sortowania przez scalanie
- Algorytmy sortowania w Pythonie
- Słownictwo
- Wyzwanie
Rozdział 5. Algorytmy operujące na łańcuchach
- Wykrywanie anagramów
- Wykrywanie palindromów
- Ostatnia cyfra
- Szyfr Cezara
- Słownictwo
- Wyzwanie
Rozdział 6. Obliczenia matematyczne
- Liczby dwójkowe
- Operatory bitowe
- FizzBuzz
- Największy wspólny czynnik
- Algorytm Euklidesa
- Liczby pierwsze
- Słownictwo
- Wyzwanie
Rozdział 7. Inspiracje dla samouków: Margaret Hamilton
Część II. Struktury danych
Rozdział 8. Czym są struktury danych
- Słownictwo
- Wyzwanie
Rozdział 9. Tablice
- Wydajność operacji na tablicach
- Tworzenie tablic
- Przesuwanie zer
- Łączenie dwóch list
- Znajdowanie powtórzeń na listach
- Znajdowanie części wspólnej dwóch list
- Słownictwo
- Wyzwanie
Rozdział 10. Listy połączone
- Wydajność działania list połączonych
- Tworzenie list połączonych
- Przeszukiwanie list połączonych
- Usuwanie wierzchołka z listy
- Znajdowanie cyklu w liście połączonej
- Słownictwo
- Wyzwania
Rozdział 11. Stosy
- Kiedy używać stosów
- Tworzenie stosu
- Używanie stosów do odwracania kolejności znaków w łańcuchach
- Wartość minimalna stosu
- Umieszczanie nawiasów na stosie
- Słownictwo
- Wyzwania
Rozdział 12. Kolejki
- Kiedy używać kolejek
- Tworzenie kolejki
- Wbudowana klasa Queue Pythona
- Tworzenie kolejki przy użyciu dwóch stosów
- Słownictwo
- Wyzwanie
Rozdział 13. Tablice mieszające
- Kiedy używać tablic mieszających
- Znaki w łańcuchu
- Suma dwóch
- Słownictwo
- Wyzwanie
Rozdział 14. Drzewa binarne
- Kiedy używać drzew
- Tworzenie drzewa binarnego
- Przechodzenie drzewa wszerz
- Inne sposoby przechodzenia drzew
- Odwracanie drzewa binarnego
- Słownictwo
- Wyzwania
Rozdział 15. Kopce binarne
- Kiedy używać kopców
- Tworzenie kopca
- Łączenie lin minimalnym kosztem
- Słownictwo
- Wyzwanie
Rozdział 16. Grafy
- Kiedy używać grafów
- Tworzenie grafu
- Algorytm Dijkstry
- Słownictwo
- Wyzwanie
Rozdział 17. Inspiracja dla samouków: Elon Musk
Rozdział 18. Dalsze kroki
- Co dalej
- Wspinaczka po drabinie freelancerów
- Jak umówić się na rozmowę kwalifikacyjną
- Jak przygotować się na rozmowę kwalifikacyjną
- Zasoby dodatkowe
- Przemyślenia końcowe
Kategoria: | Programowanie |
Zabezpieczenie: |
Watermark
|
ISBN: | 978-83-283-9195-6 |
Rozmiar pliku: | 7,1 MB |