Algorytmy w C - Helion
Tytuł oryginału: Mastering Algorithms with C
Tłumaczenie: Tomasz Żmijewski
ISBN: 83-7197-912-6
stron: 508, Format: B5, okładka: miękka
Data wydania: 2003-01-23
Księgarnia: Helion
Cena książki: 55,00 zł
Książka "Algorytmy w C" jest doskonałą pomocą dla programistów, którym w codziennej pracy potrzebne są sprawdzone rozwiązania. Nie ma tu teoretycznych dywagacji tak charakterystycznych dla większości książek o strukturach danych i algorytmach. Znajdziesz w niej za to przystępnie podane informacje i praktyczne techniki programowania.
Wyjątkowo elegancki styl programowania i pisania autora, Kyle'a Loudona, ułatwia poznanie najważniejszych struktur danych, takich jak listy, stosy, kolejki, zbiory, sterty, kolejki priorytetowe i grafy. Autor prezentuje użycie algorytmów sortujących, wyszukiwania, analiz numerycznych, kompresji danych, szyfrowania danych, typowych algorytmów obsługi grafów oraz geometrii analitycznej. W rozdziałach poświęconych kompresji i szyfrowaniu czytelnik znajdzie nie tylko gotowy, szybki w działaniu kod, ale też informacje przydatne dla osób, które nigdy nie miały czasu ani chęci zagłębiać się w omawiane zagadnienia.
W tekście umieszczono także kody wraz z przykładami zastosowania poszczególnych struktur danych i algorytmów. Komplet kodów źródłowych znajduje się na płycie CD-ROM. Kod ten został napisany w taki sposób, byś łatwo mógł go wykorzystać we własnych aplikacjach.
W książce omówiono:
- Wskaźniki
- RekurencjÄ™
- Analizę algorytmów
- Struktury danych (listy, stosy, kolejki, zbiory, tablice asocjacyjne, drzewa, sterty, kolejki priorytetowe i grafy)
- Sortowanie i wyszukiwanie
- Metody numeryczne
- KompresjÄ™ danych
- Szyfrowanie danych
- Algorytmy operujÄ…ce na grafach
- Algorytmy przydatne do obliczeń geometrycznych.
Osoby które kupowały "Algorytmy w C", wybierały także:
- Python na maturze. Kurs video. Algorytmy i podstawy j 139,00 zł, (62,55 zł -55%)
- 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%)
Spis treści
Algorytmy w C -- spis treści
Wstęp (9)
Część I Zagadnienia podstawowe (15)
Rozdział 1. Wprowadzenie (17)
- Wprowadzenie do struktur danych (18)
- Wprowadzenie do algorytmów (19)
- Odrobina inżynierii oprogramowania (22)
- Jak tej książki używać (23)
Rozdział 2. Użycie wskaźników (25)
- Podstawowe informacje o wskaźnikach (26)
- Alokacja pamięci (27)
- Agregaty i arytmetyka wskaźników (29)
- Wskaźniki jako parametry funkcji (31)
- Wskaźniki ogólne i rzutowanie (34)
- Wskaźniki do funkcji (37)
- Pytania i odpowiedzi (38)
- Tematy pokrewne (39)
Rozdział 3. Rekurencja (41)
- Podstawy rekurencji (42)
- Rekurencja prawostronna (46)
- Pytania i odpowiedzi (48)
- Tematy pokrewne (50)
Rozdział 4. Analiza algorytmów (51)
- Analiza najgorszego przypadku (52)
- O-notacja (53)
- Złożoność obliczeniowa (55)
- Przykład analizy: sortowanie przez wstawianie (57)
- Pytania i odpowiedzi (59)
- Tematy pokrewne (60)
Część II Struktury danych (61)
Rozdział 5. Listy powiązane (63)
- Opis list powiÄ…zanych (64)
- Interfejs list powiÄ…zanych (65)
- Implementacja list powiÄ…zanych i analiza kodu (68)
- Przykład użycia list powiązanych: zarządzanie ramkami (75)
- Opis list podwójnie powiązanych (78)
- Interfejs list podwójnie powiązanych (79)
- Implementacja list podwójnie powiązanych i analiza kodu (81)
- Opis list cyklicznych (90)
- Interfejs list cyklicznych (91)
- Implementacja list cyklicznych i analiza kodu (93)
- Przykład użycia list cyklicznych: zamiana stron (98)
- Pytania i odpowiedzi (101)
- Tematy pokrewne (103)
Rozdział 6. Stosy i kolejki (105)
- Opis stosów (106)
- Interfejs stosu (107)
- Implementacja stosu i analiza kodu (108)
- Opis kolejek (111)
- Interfejs kolejek (111)
- Implementacja kolejki i analiza kodu (113)
- Przykład użycia kolejek: obsługa zdarzeń (116)
- Pytania i odpowiedzi (118)
- Tematy pokrewne (119)
Rozdział 7. Zbiory (121)
- Opis zbiorów (122)
- Interfejs zbiorów (124)
- Implementacja zbioru i analiza kodu (127)
- Przykład użycia zbiorów: pokrycie (137)
- Pytania i odpowiedzi (141)
- Tematy pokrewne (143)
Rozdział 8. Tablice asocjacyjne (145)
- Opis łańcuchowych tablic asocjacyjnych (147)
- Interfejs łańcuchowych tablic asocjacyjnych (150)
- Implementacja łańcuchowej tablicy asocjacyjnej i analiza kodu (152)
- Przykład użycia łańcuchowych tablic asocjacyjnych: tablice symboli (159)
- Tablice asocjacyjne z otwartym adresowaniem (162)
- Interfejs tablic asocjacyjnych z otwartym adresowaniem (166)
- Implementacja tablicy asocjacyjnej z otwartym adresowaniem i analiza kodu (167)
- Pytania i odpowiedzi (175)
- Tematy pokrewne (177)
Rozdział 9. Drzewa (179)
- Drzewa binarne (181)
- Interfejs drzew binarnych (184)
- Implementacja drzew binarnych i analiza kodu (187)
- Przykład użycia drzewa binarnego: przetwarzanie wyrażeń (198)
- Binarne drzewa wyszukiwania (201)
- Interfejs binarnych drzew wyszukiwania (203)
- Implementacja binarnych drzew wyszukiwania i analiza kodu (205)
- Pytania i odpowiedzi (227)
- Tematy pokrewne (228)
Rozdział 10. Sterty i kolejki priorytetowe (231)
- Sterty (232)
- Interfejs stert (233)
- Implementacja stert i analiza kodu (235)
- Kolejki priorytetowe (245)
- Interfejs kolejek priorytetowych (245)
- Implementacja kolejek priorytetowych i analiza kodu (247)
- Przykład zastosowania kolejek priorytetowych: sortowanie paczek (248)
- Pytania i odpowiedzi (250)
- Tematy pokrewne (251)
Rozdział 11. Grafy (253)
- Grafy (254)
- Interfejs grafów (260)
- Implementacja grafów i analiza kodu (264)
- Przykład użycia grafów: zliczanie kroków w ruchu po sieci (275)
- Przykład użycia grafów: sortowanie topologiczne (281)
- Pytania i odpowiedzi (285)
- Tematy pokrewne (287)
Część III Algorytmy (289)
Rozdział 12. Sortowanie i przeszukiwanie (291)
- Sortowanie przez wstawianie (293)
- Interfejs sortowania przez wstawianie (293)
- Implementacja sortowania przez wstawianie i analiza kodu (294)
- Quicksort (296)
- Interfejs quicksort (297)
- Implementacja quicksort i analiza kodu (298)
- Przykład użycia quicksort: zawartość katalogu (303)
- Sortowanie przez złączanie (306)
- Interfejs sortowania przez złączanie (307)
- Implementacja sortowania przez złączanie i analiza kodu (307)
- Sortowanie ze zliczaniem (312)
- Interfejs sortowania ze zliczaniem (313)
- Implementacja sortowania ze zliczaniem i analiza kodu (313)
- Sortowanie na bazie (317)
- Interfejs sortowania na bazie (317)
- Implementacja sortowania na bazie i analiza kodu (318)
- Wyszukiwanie binarne (321)
- Interfejs wyszukiwania binarnego (321)
- Implementacja wyszukiwania binarnego i analiza kodu (322)
- Przykład użycia przeszukiwania binarnego: kontrola pisowni (324)
- Pytania i odpowiedzi (326)
- Tematy pokrewne (328)
Rozdział 13. Metody numeryczne (329)
- Przybliżanie wielomianami (330)
- Interfejs interpolacji wielomianowej (334)
- Implementacja interpolacji wielomianowej i analiza kodu (334)
- Oszacowanie najmniejszymi kwadratami (337)
- Interfejs oszacowania najmniejszymi kwadratami (339)
- Implementacja szacowania najmniejszymi kwadratami i analiza kodu (339)
- Rozwiązywanie równań (340)
- Interfejs rozwiązywania równań (345)
- Implementacja rozwiązywania równań i analiza kodu (345)
- Pytania i odpowiedzi (347)
- Tematy pokrewne (348)
Rozdział 14. Kompresja danych (349)
- Operatory bitowe (352)
- Interfejs operacji bitowych (353)
- Implementacja operacji bitowych i analiza kodu (354)
- Kodowanie Huffmana (358)
- Interfejs kodowania Huffmana (362)
- Implementacja kodowania Huffmana i analiza kodu (362)
- Przykład użycia kodowania Huffmana: optymalizacja przesyłania przez sieć (376)
- Algorytm LZ77 (378)
- Interfejs LZ77 (382)
- Implementacja LZ77 i analiza kodu (382)
- Pytania i odpowiedzi (395)
- Tematy pokrewne (397)
Rozdział 15. Szyfrowanie danych (399)
- DES (402)
- Interfejs DES (409)
- Implementacja DES i analiza kodu (410)
- Przykład użycia DES: blokowe tryby szyfrowania (420)
- Algorytm RSA (423)
- Interfejs RSA (426)
- Implementacja RSA i analiza kodu (427)
- Pytania i odpowiedzi (430)
- Tematy pokrewne (432)
Rozdział 16. Algorytmy operujące na grafach (435)
- Drzewa minimalne (438)
- Interfejs drzew minimalnych (439)
- Implementacja i analiza kodu (441)
- Najkrótsze ścieżki (446)
- Interfejs najkrótszych ścieżek (447)
- Implementacja najkrótszej ścieżki i analiza kodu (449)
- Przykład użycia najkrótszych ścieżek: tablic tras (454)
- Problem komiwojażera (457)
- Interfejs problemu komiwojażera (459)
- Implementacja problemu komiwojażera i analiza kodu (460)
- Pytania i odpowiedzi (464)
- Tematy pokrewne (465)
Rozdział 17. Algorytmy geometryczne (467)
- Sprawdzanie, czy odcinki siÄ™ przecinajÄ… (470)
- Interfejs sprawdzania, czy odcinki siÄ™ przecinajÄ… (473)
- Implementacja sprawdzenia, czy odcinki siÄ™ przecinajÄ… i analiza kodu (473)
- Obrys wypukły (475)
- Interfejs obrysów wypukłych (477)
- Implementacja obrysu wypukłego i analiza kodu (478)
- Długość łuku na powierzchniach sferycznych (482)
- Interfejs długości łuku na powierzchniach sferycznych (485)
- Implementacja długości łuku na powierzchniach sferycznych i analiza kodu (485)
- Przykład użycia długości łuku: przybliżone określanie odległości na Ziemi (486)
- Pytania i odpowiedzi (489)
- Tematy pokrewne (492)
Skorowidz (493)