Algorytmy i struktury danych z przykładami w Delphi - Helion

Tytuł oryginału: Delphi 3 Algorithms
Tłumaczenie: Andrzej Grażyński
ISBN: 83-7197-131-1
stron: 380, Format: B5, okładka: miękka
Data wydania: 2000-04-18
Księgarnia: Helion
Cena książki: 80,00 zł
Książka przeznaczona jest dla szerokiego kręgu programistów, szczególnie tych tworzących swe aplikacje za pomocą Delphi. Znajdziesz w niej wiele interesującego materiału związanego z podstawowymi strukturami danych i powszechnie stosowanymi algorytmami. Autor, ceniony programista, wzbogaca prezentowany materiał wieloma ciekawymi spostrzeżeniami, prezentując przy okazji niektóre mniej znane, lecz użyteczne mechanizmy i reprezentacje danych. W kolejnych rozdziałach możesz zapoznasz się między innymi z następującymi zagadnieniami:
- analiza złożoności algorytmów,
- implementacja list, kolejek i stosów,
- tablice nieortogonalne, ich reprezentacje i algorytmy przetwarzania,
- rekurencja, jej zastosowanie i zapobieganie nieuzasadnionemu użyciu,
- różnorodne odmiany drzew i ich zastosowanie do celów sortowania, wyszukiwania i analizy minimaksowej,
- popularne algorytmy sortowania i analiza ich przydatności w konkretnych przypadkach,
- kodowanie mieszające i jego zastosowanie do zarządzania tablicami rozproszonymi,
- algorytmy grafowe: problemy najkrótszej ścieżki, minimalnego drzewa rozpinającego i maksymalnego przepływu,
- realizacja algorytmów z wykorzystaniem paradygmatów programowania zorientowanego obiektowo.
Osoby które kupowały "Algorytmy i struktury danych z przykładami w Delphi", wybierały także:
- Algorytmy kryptograficzne. Przewodnik po algorytmach w blockchain, kryptografii kwantowej, protoko 79,00 zł, (39,50 zł -50%)
- Informatyk samouk. Przewodnik po strukturach danych i algorytmach dla pocz 58,98 zł, (29,49 zł -50%)
- My 89,00 zł, (44,50 zł -50%)
- Nauka algorytm 58,98 zł, (29,49 zł -50%)
- 40 algorytmów, które powinien znać każdy programista. Nauka implementacji algorytmów w Pythonie 77,00 zł, (38,50 zł -50%)
Spis treści
Algorytmy i struktury danych z przykładami w Delphi -- spis treści
Od tłumacza (7)
Wprowadzenie (9)
- Co zawiera niniejsza książka? (10)
Rozdział 1. Pojęcia podstawowe (13)
- Czym są algorytmy? (13)
- Analiza złożoności - jak szybka jest szybkość? (15)
- Kompromisy typu "czas-przestrzeń" (15)
- Notacja "dużego O" (16)
- Szacowanie złożoności - przykłady (18)
- Wywołanie sekwencyjne (19)
- Wywołanie zagnieżdżone (19)
- Wywołanie rekurencyjne (20)
- Złożoność oczekiwana i złożoność pesymistyczna (22)
- Najczęściej spotykane funkcje złożoności obliczeniowej (23)
- Logarytmy w oszacowaniach złożoności (25)
- Chwila prawdy - czyli szybkość kontra SZYBKOŚĆ (25)
- Pamięć wirtualna a szybkość obliczeń (26)
- Podsumowanie (28)
Rozdział 2. Struktury listowe (29)
- "Elastyczne" tablice jako listy (29)
- Klasa TSimpleList (38)
- Listy nieciągłe i odzyskiwanie wolnej przestrzeni (39)
- Listy łączone (43)
- Dodawanie elementów do listy łączonej (45)
- Usuwanie elementów z listy łączonej (46)
- Elementy-wartownicy (48)
- Dostęp do elementów listy łączonej (49)
- Odmiany list łączonych (52)
- Lista cykliczna (52)
- Lista dwukierunkowa (53)
- Lista wielowątkowa (55)
- Inne przykłady struktur łączonych (58)
- Podsumowanie (58)
Rozdział 3. Stosy i kolejki (61)
- Stos w postaci tablicowej (61)
- Stos w reprezentacji listowej (63)
- Kolejka prosta (65)
- Kolejka cykliczna (67)
- Kolejka w postaci listy łączonej (71)
- Kolejka priorytetowa (71)
- Kolejka wieloobsługowa (73)
- Podsumowanie (75)
Rozdział 4. Tablice (77)
- Macierze trójkątne (77)
- Tablice nieregularne (80)
- Reprezentacja forward-star (81)
- Reprezentacja listowa (83)
- Macierze rzadkie (84)
- Indeksowanie macierzy rzadkiej (85)
- Typ Variant i tablice wariantowe (89)
- Zmienna wariantowa jako tablica (91)
- Podsumowanie (93)
Rozdział 5. Rekurencja (95)
- Czym w istocie jest rekurencja? (96)
- Rekurencyjne obliczanie funkcji "silnia" (97)
- Analiza rekurencyjnej funkcji "silnia" (98)
- Największy wspólny podzielnik - rekurencyjny algorytm Euklidesa (99)
- Analiza rekursywnego algorytmu Euklidesa (100)
- Rekursywny ciąg Fibonacciego (102)
- Rekurencyjne wykreślanie wzorów geometrycznych (106)
- Krzywe Hilberta (106)
- Krzywe Sierpińskiego (109)
- Niebezpieczeństwa rekurencji (113)
- Nieskończona rekurencja (113)
- Nadmierne obciążenie stosu (114)
- Nieuzasadniona rekurencja (116)
- Eliminacja rekurencji końcowej (117)
- Nierekurencyjne liczby Fibonacciego (120)
- Ogólne zasady eliminowania rekurencji (122)
- Nierekursywne rysowanie krzywych Hilberta (128)
- Nierekursywne rysowanie krzywych Sierpińskiego (132)
- Podsumowanie (135)
Rozdział 6. Drzewa (137)
- Terminologia (138)
- Reprezentacje drzew (139)
- Technika "grubych węzłów" (140)
- Technika "elastycznych węzłów" (142)
- Reprezentacja "drogowskazowa" (142)
- Drzewa pełne (146)
- Metody przechodzenia drzewa (148)
- Binarne drzewa posortowane (152)
- Binarne drzewa wątkowe (158)
- Utrzymywanie drzewa wątkowego (161)
- Drzewa kwadrantowe (163)
- Drzewa oktantowe (168)
- Podsumowanie (168)
Rozdział 7. Drzewa wyważone (169)
- Wyważenie drzewa (169)
- Drzewa AVL (170)
- Dodawanie węzłów do AVL-drzew (170)
- Usuwanie węzłów z drzew AVL (178)
- B-drzewa (183)
- Wstawianie kluczy do B-drzewa (185)
- Usuwanie kluczy z B-drzewa (186)
- Odmiany B-drzew (187)
- Dyskowe aspekty funkcjonowania B-drzewa (191)
- Przykład zastosowania - baza danych indeksowana za pomocą B+drzew (193)
- Podsumowanie (197)
Rozdział 8. Drzewa decyzyjne (199)
- Drzewa gier (200)
- Strategie minimaksowe (201)
- Techniki usprawniające przeszukiwanie w drzewach gier (204)
- Inne przykłady drzew decyzyjnych (205)
- Inne problemy trudne obliczeniowo (229)
- Spełnialność (229)
- Problem podziału (230)
- Problem znajdowania ścieżki Hamiltona (231)
- Problem komiwojażera (231)
- Problem strażacki (232)
- Podsumowanie (233)
Rozdział 9. Sortowanie (235)
- Zagadnienia ogólne (235)
- Sortowanie wskaźników (236)
- Konkatenowanie i kompresja kluczy (237)
- Sortowanie przez wybór (244)
- Randomizacja ciągu (245)
- Sortowanie przez wstawianie proste (247)
- Wstawianie do posortowanej listy łączonej (248)
- Sortowanie bąbelkowe (249)
- Sortowanie szybkie (253)
- Sortowanie przez łączenie (260)
- Sortowanie stogowe (261)
- Stogi (262)
- Stóg jako realizacja kolejki priorytetowej (265)
- Analiza funkcjonowania stogu (266)
- Sortowanie za pomocą stogu (267)
- Sortowanie przez zliczanie (268)
- Sortowanie przez porcjowanie (269)
- Podsumowanie (272)
Rozdział 10. Wyszukiwanie (275)
- Przeszukiwanie wyczerpujące (276)
- Przeszukiwanie listy łączonej (277)
- Przeszukiwanie binarne (278)
- Wyszukiwanie interpolacyjne (280)
- Dane łańcuchowe (283)
- Poszukiwanie relatywne (284)
- Polowanie binarne (284)
- Polowanie interpolacyjne (285)
- Podsumowanie (285)
Rozdział 11. Kodowanie mieszające (287)
- Łańcuchowanie (288)
- Blokowanie zapisów (292)
- Blokowe tablice rozproszone w pamięciach dyskowych (295)
- Dedykowane bloki nadmiarowe (299)
- Usuwanie elementów z tablic blokowych (300)
- Zalety i wady blokowych tablic rozproszonych (301)
- Adresowanie otwarte (301)
- Próbkowanie liniowe (302)
- Próbkowanie kwadratowe (308)
- Próbkowanie pseudolosowe (311)
- Adresowanie otwarte a usuwanie elementów (314)
- Podsumowanie (315)
Rozdział 12. Grafy (319)
- Definicje (319)
- Reprezentacje grafów (321)
- Przechodzenie grafu (323)
- Minimalne drzewo rozpinające (325)
- Najkrótsza ścieżka w grafie (330)
- Odmiany problemu najkrótszej ścieżki (338)
- Zastosowanie algorytmu obliczania najkrótszych ścieżek (342)
- Przepływy w sieciach (346)
- Zastosowania maksymalnych przepływów (353)
- Podsumowanie (355)
Rozdział 13. Programowanie zorientowane obiektowo (OOP) (357)
- Podstawowe elementy OOP (358)
- Enkapsulacja (358)
- Polimorfizm (360)
- Dziedziczenie i wielokrotne wykorzystanie kodu (362)
- Paradygmaty OOP (362)
- Polecenia (363)
- Wizytatory (364)
- Iteratory (365)
- Obiekt zaprzyjaźniony (366)
- Interfejs (366)
- Fasada (367)
- Producent (368)
- Singleton (368)
- Serializacja (371)
- Model/Widok/Kontroler (MVC) (374)
- Podsumowanie (375)
Skorowidz (377)





