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:
- Zrozum struktury danych. Algorytmy i praca na danych w Javie 39,67 z艂, (11,90 z艂 -70%)
- Projektowanie oprogramowania dla zupe艂nie pocz膮tkuj膮cych. Owoce programowania. Wydanie V 125,48 z艂, (38,90 z艂 -69%)
- Python na maturze. Kurs video. Algorytmy i podstawy j 139,00 z艂, (62,55 z艂 -55%)
- Algorytmy Data Science. Siedmiodniowy przewodnik. Wydanie II 49,00 z艂, (26,95 z艂 -45%)
- Tablice informatyczne. Algorytmy 17,00 z艂, (9,35 z艂 -45%)
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)