Категорії
Електронні книги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комп'ютер в офісі
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Мультимедійне навчання
- Нерухомість
- Переконання та НЛП
- Податки
- Соціальна політика
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Звіти, аналізи
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Електронна преса
- Architektura i wnętrza
- Biznes i Ekonomia
- Будинок та сад
- Електронний бізнес
- Фінанси
- Особисті фінанси
- Бізнес
- Фотографія
- Інформатика
- Відділ кадрів та оплата праці
- Комп'ютери, Excel
- Бухгалтерія
- Культура та література
- Наукові та академічні
- Охорона навколишнього середовища
- Впливові
- Освіта
- Податки
- Подорожі
- Психологія
- Релігія
- Сільське господарство
- Ринок книг і преси
- Транспорт та спедиція
- Здоров'я та краса
-
Історія
-
Інформатика
- Офісні застосунки
- Бази даних
- Біоінформатика
- Бізнес ІТ
- CAD/CAM
- Digital Lifestyle
- DTP
- Електроніка
- Цифрова фотографія
- Комп'ютерна графіка
- Ігри
- Хакування
- Hardware
- IT w ekonomii
- Наукові пакети
- Шкільні підручники
- Основи комп'ютера
- Програмування
- Мобільне програмування
- Інтернет-сервери
- Комп'ютерні мережі
- Стартап
- Операційні системи
- Штучний інтелект
- Технологія для дітей
- Вебмайстерність
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Оповідна поезія
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Шкільні підручники
-
Науково-популярна та академічна
- Археологія
- Bibliotekoznawstwo
- Кінознавство / Теорія кіно
- Філологія
- Польська філологія
- Філософія
- Finanse i bankowość
- Географія
- Економіка
- Торгівля. Світова економіка
- Історія та археологія
- Історія мистецтва і архітектури
- Культурологія
- Мовознавство
- літературні студії
- Логістика
- Математика
- Ліки
- Гуманітарні науки
- Педагогіка
- Навчальні засоби
- Науково-популярна
- Інше
- Психологія
- Соціологія
- Театральні студії
- Богослов’я
- Економічні теорії та науки
- Transport i spedycja
- Фізичне виховання
- Zarządzanie i marketing
-
Порадники
-
Ігрові посібники
-
Професійні та спеціальні порадники
-
Юридична
- Безпека життєдіяльності
- Історія
- Дорожній кодекс. Водійські права
- Юридичні науки
- Охорона здоров'я
- Загальне, компендіум
- Академічні підручники
- Інше
- Закон про будівництво і житло
- Цивільне право
- Фінансове право
- Господарське право
- Господарське та комерційне право
- Кримінальний закон
- Кримінальне право. Кримінальні злочини. Кримінологія
- Міжнародне право
- Міжнародне та іноземне право
- Закон про охорону здоров'я
- Закон про освіту
- Податкове право
- Трудове право та законодавство про соціальне забезпечення
- Громадське, конституційне та адміністративне право
- Кодекс про шлюб і сім'ю
- Аграрне право
- Соціальне право, трудове право
- Законодавство Євросоюзу
- Промисловість
- Сільське господарство та захист навколишнього середовища
- Словники та енциклопедії
- Державні закупівлі
- Управління
-
Путівники та подорожі
- Африка
- Альбоми
- Південна Америка
- Центральна та Північна Америка
- Австралія, Нова Зеландія, Океанія
- Австрія
- Азії
- Балкани
- Близький Схід
- Болгарія
- Китай
- Хорватія
- Чеська Республіка
- Данія
- Єгипет
- Естонія
- Європа
- Франція
- Гори
- Греція
- Іспанія
- Нідерланди
- Ісландія
- Литва
- Латвія
- Mapy, Plany miast, Atlasy
- Мініпутівники
- Німеччина
- Норвегія
- Активні подорожі
- Польща
- Португалія
- Інше
- Росія
- Румунія
- Словаччина
- Словенія
- Швейцарія
- Швеція
- Світ
- Туреччина
- Україна
- Угорщина
- Велика Британія
- Італія
-
Психологія
- Філософія життя
- Kompetencje psychospołeczne
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Аудіокниги
-
Бізнес та економіка
- Біткойн
- Ділова жінка
- Коучинг
- Контроль
- Електронний бізнес
- Економіка
- Фінанси
- Фондова біржа та інвестиції
- Особисті компетенції
- Комунікація та переговори
- Малий бізнес
- Маркетинг
- Мотивація
- Нерухомість
- Переконання та НЛП
- Податки
- Порадники
- Презентації
- Лідерство
- Зв'язки з громадськістю
- Секрет
- Соціальні засоби комунікації
- Продаж
- Стартап
- Ваша кар'єра
- Управління
- Управління проектами
- Людські ресурси (HR)
-
Для дітей
-
Для молоді
-
Освіта
-
Енциклопедії, словники
-
Історія
-
Інформатика
-
Інше
-
Іноземні мови
-
Культура та мистецтво
-
Шкільні читанки
-
Література
- Антології
- Балада
- Біографії та автобіографії
- Для дорослих
- Драми
- Журнали, щоденники, листи
- Епос, епопея
- Нарис
- Наукова фантастика та фантастика
- Фельєтони
- Художня література
- Гумор, сатира
- Інше
- Класичний
- Кримінальний роман
- Нехудожня література
- Художня література
- Mity i legendy
- Лауреати Нобелівської премії
- Новели
- Побутовий роман
- Okultyzm i magia
- Оповідання
- Спогади
- Подорожі
- Поезія
- Політика
- Науково-популярна
- Роман
- Історичний роман
- Проза
- Пригодницька
- Журналістика
- Роман-репортаж
- Romans i literatura obyczajowa
- Сенсація
- Трилер, жах
- Інтерв'ю та спогади
-
Природничі науки
-
Соціальні науки
-
Науково-популярна та академічна
-
Порадники
-
Професійні та спеціальні порадники
-
Юридична
-
Путівники та подорожі
-
Психологія
- Філософія життя
- Міжособистісне спілкування
- Mindfulness
- Загальне
- Переконання та НЛП
- Академічна психологія
- Психологія душі та розуму
- Психологія праці
- Relacje i związki
- Батьківство та дитяча психологія
- Вирішення проблем
- Інтелектуальний розвиток
- Секрет
- Сексуальність
- Спокушання
- Зовнішній вигляд та імідж
- Філософія життя
-
Релігія
-
Спорт, фітнес, дієти
-
Техніка і механіка
Відеокурси
-
Бази даних
-
Big Data
-
Biznes, ekonomia i marketing
-
Кібербезпека
-
Data Science
-
DevOps
-
Для дітей
-
Електроніка
-
Графіка / Відео / CAX
-
Ігри
-
Microsoft Office
-
Інструменти розробки
-
Програмування
-
Особистісний розвиток
-
Комп'ютерні мережі
-
Операційні системи
-
Тестування програмного забезпечення
-
Мобільні пристрої
-
UX/UI
-
Веброзробка, Web development
-
Управління
Подкасти
- Електронні книги
- Програмування
- Алгоритми
- PHP 7. Algorytmy i struktury danych
Деталі електронної книги
Algorytmy i struktury danych leżą u podstaw programowania. Zrozumienie zasad rządzących tymi zagadnieniami jest koniecznym warunkiem opracowania prawidłowej i efektywnej aplikacji. Niestety, wielu programistów uznaje tę tematykę za zbyt złożoną czy zbyt banalną i nie poświęca jej wystarczającej uwagi. Takie podejście często się mści: modne narzędzia, frameworki czy technologie deweloperskie nie zapewnią sukcesu, jeśli projektant nie przemyśli zastosowanych algorytmów i struktur danych. Z tego obowiązku nie zwalniają nawet narzędzia wbudowane w język PHP!
Jeśli chcesz biegle posługiwać się algorytmami, wziąłeś do ręki właściwą książkę! Przedstawiono tu podstawy implementacji algorytmów i struktur danych w PHP, dzięki czemu poznasz rodzaje struktur i powody, dla których warto je wybierać, a także dowiesz się, gdzie i kiedy należy stosować poszczególne algorytmy. Znajdziesz tu dużo praktycznych przykładów, które uzupełniono rysunkami i wyczerpującym komentarzem. Przystępne i zrozumiałe wyjaśnienia ułatwią Ci szybkie przyswojenie prezentowanych koncepcji, nawet tak złożonych, jak programowanie dynamiczne, algorytmy zachłanne, algorytmy z nawrotami czy funkcyjne struktury danych.
Najważniejsze zagadnienia:
- podstawy analizy algorytmów i struktur danych,
- tablice, listy i drzewa,
- stosy, kolejki i algorytmy rekurencyjne,
- sortowanie, wyszukiwanie, sterty i kopce,
- wsparcie ze strony PHP, w tym biblioteki PECL i Tarsana.
Algorytmy: poznaj, zrozum, stosuj!
Mizanur Rahman od 14 lat rozwija aplikacje w PHP. Jest znawcą Laravela, CodeIgnitera, Symfony, JavaScriptu, C, C++, Javy, Node.js, Socket.io i React.js. Jest właścicielem dwóch startupów technologicznych. Jest osobą niezwykle zaangażowaną w życie kilku społeczności programistycznych, takich jak PHPXperts, Agile Bangladesh czy Project Euler. Regularnie wygłasza referaty na różnych konferencjach i seminariach technologicznych. Wraz z żoną Nishą i dwoma synami, Adiyanem i Mikhaelem, mieszka w Dhace w Bangladeszu. Jego pasją są podróże po świecie.
Wstęp (15)
Rozdział 1. Wprowadzenie do algorytmów i struktur danych (19)
- Znaczenie algorytmów i struktur danych (20)
- Znaczenie abstrakcyjnych typów danych (ADT) (23)
- Różne struktury danych (24)
- Struktura (25)
- Tablica (25)
- Lista jednokierunkowa (26)
- Lista dwukierunkowa (26)
- Stos (27)
- Kolejka (27)
- Zbiór (28)
- Mapa (tablica asocjacyjna) (28)
- Drzewo (28)
- Graf (29)
- Sterta (kopiec) (29)
- Rozwiązywanie problemu - podejście algorytmiczne (30)
- Pisanie pseudokodu (31)
- Przekształcanie pseudokodu w prawdziwy kod (32)
- Analiza algorytmu (33)
- Obliczanie złożoności (34)
- Zrozumienie notacji dużego O (35)
- Standardowa biblioteka PHP (SPL) i struktury danych (37)
- Podsumowanie (38)
Rozdział 2. Zrozumienie tablic PHP (39)
- Zrozumienie tablic PHP w lepszy sposób (39)
- Tablica liczbowa (41)
- Tablica asocjacyjna (42)
- Tablica wielowymiarowa (43)
- Używanie tablicy jako elastycznego sposobu przechowywania danych (44)
- Używanie wielowymiarowych tablic do reprezentowania struktur danych (45)
- Tworzenie tablic o stałym rozmiarze za pomocą klasy SplFixedArray (47)
- Porównanie wydajności zwykłych tablic PHP oraz tablic SplFixedArray (48)
- Więcej przykładów zastosowania tablicy SplFixedArray (51)
- Zrozumienie tablic mieszających (53)
- Implementacja struktury przy użyciu tablicy PHP (54)
- Implementacja zbioru przy użyciu tablicy PHP (55)
- Najlepsze zastosowanie tablicy PHP (57)
- Czy tablica PHP jest zabójcą wydajności? (57)
- Podsumowanie (58)
Rozdział 3. Używanie list (59)
- Czym jest lista? (59)
- Różne typy list (63)
- Lista dwukierunkowa (63)
- Lista cykliczna (63)
- Lista wielokierunkowa (64)
- Wstawianie, usuwanie i wyszukiwanie elementu (64)
- Wstawianie węzła na pierwszej pozycji (65)
- Wyszukiwanie węzła (65)
- Wstawianie przed określonym węzłem (66)
- Wstawianie po określonym węźle (67)
- Usuwanie pierwszego węzła (67)
- Usuwanie ostatniego węzła (68)
- Wyszukiwanie i usuwanie jednego węzła (69)
- Odwracanie listy (69)
- Pobieranie elementu z n-tej pozycji (70)
- Zrozumienie złożoności list (71)
- Sprawianie, aby lista była iterowalna (72)
- Budowanie listy cyklicznej (73)
- Implementacja listy dwukierunkowej w PHP (75)
- Operacje na liście dwukierunkowej (75)
- Wstawianie węzła na pierwszej pozycji (76)
- Wstawianie węzła na ostatniej pozycji (76)
- Wstawianie przed określonym węzłem (77)
- Wstawianie po określonym węźle (78)
- Usuwanie pierwszego węzła (78)
- Usuwanie ostatniego węzła (79)
- Wyszukiwanie i usuwanie jednego węzła (79)
- Wyświetlanie listy od początku do końca (80)
- Wyświetlanie listy od końca do początku (80)
- Złożoność list dwukierunkowych (80)
- Używanie obiektów klasy PHP SplDoublyLinkedList (81)
- Podsumowanie (82)
Rozdział 4. Konstruowanie stosów i kolejek (83)
- Zrozumienie stosu (83)
- Implementacja stosu za pomocą tablicy PHP (84)
- Zrozumienie złożoności operacji na stosie (87)
- Implementacja stosu za pomocą listy (88)
- Używanie klasy SplStack należącej do SPL (90)
- Rzeczywiste zastosowanie stosu (90)
- Dopasowywanie zagnieżdżonych nawiasów (91)
- Zrozumienie kolejki (93)
- Implementacja kolejki za pomocą tablicy PHP (94)
- Implementacja kolejki za pomocą listy (95)
- Używanie klasy SplQueue należącej do SPL (96)
- Zrozumienie kolejki priorytetowej (96)
- Sekwencja uporządkowana (97)
- Sekwencja nieuporządkowana (97)
- Implementacja kolejki priorytetowej za pomocą listy (97)
- Implementacja kolejki priorytetowej za pomocą klasy SplPriorityQueue (99)
- Implementacja kolejki cyklicznej (100)
- Tworzenie kolejki dwustronnej (102)
- Podsumowanie (105)
Rozdział 5. Stosowanie algorytmów rekurencyjnych (107)
- Zrozumienie rekurencji (108)
- Właściwości algorytmów rekurencyjnych (109)
- Algorytmy rekurencyjne kontra algorytmy iteracyjne (110)
- Implementacja ciągu Fibonacciego za pomocą rekurencji (111)
- Implementacja obliczania NWD za pomocą rekurencji (111)
- Różne rodzaje rekurencji (112)
- Rekurencja liniowa (112)
- Rekurencja binarna (112)
- Rekurencja ogonowa (112)
- Rekurencja wzajemna (113)
- Rekurencja zagnieżdżona (113)
- Budowanie N-poziomowego drzewa kategorii za pomocą rekurencji (114)
- Budowanie systemu zagnieżdżonych odpowiedzi na komentarze (116)
- Wyszukiwanie plików i katalogów za pomocą rekurencji (120)
- Analizowanie algorytmów rekurencyjnych (122)
- Maksymalna głębokość rekurencji w PHP (123)
- Używanie rekurencyjnych iteratorów SPL (124)
- Używanie wbudowanej funkcji PHP array_walk_recursive (125)
- Podsumowanie (126)
Rozdział 6. Zrozumienie i implementacja drzew (127)
- Definicja i właściwości drzewa (128)
- Implementacja drzewa przy użyciu języka PHP (130)
- Różne typy struktur drzewiastych (132)
- Drzewo binarne (132)
- Drzewo binarne poszukiwań (133)
- Samorównoważące się drzewo binarne poszukiwań (133)
- B-drzewo (135)
- Drzewo N-arne (135)
- Zrozumienie drzewa binarnego (135)
- Implementacja drzewa binarnego (136)
- Tworzenie drzewa binarnego za pomocą tablicy PHP (138)
- Zrozumienie binarnego drzewa poszukiwań (140)
- Wstawianie nowego węzła (141)
- Wyszukiwanie węzła (141)
- Wyszukiwanie wartości minimalnej (142)
- Wyszukiwanie wartości maksymalnej (142)
- Usuwanie węzła (142)
- Konstruowanie binarnego drzewa poszukiwań (143)
- Przechodzenie przez drzewo (151)
- Przechodzenie bezpośrednie (151)
- Przechodzenie z wyprzedzeniem (152)
- Przechodzenie z opóźnieniem (153)
- Złożoność różnych drzewiastych struktur danych (154)
- Podsumowanie (155)
Rozdział 7. Używanie algorytmów sortowania (157)
- Zrozumienie sortowania i jego rodzajów (157)
- Zrozumienie sortowania bąbelkowego (158)
- Implementacja sortowania bąbelkowego za pomocą języka PHP (159)
- Złożoność sortowania bąbelkowego (161)
- Poprawianie algorytmu sortowania bąbelkowego (161)
- Zrozumienie sortowania przez wybieranie (165)
- Implementacja sortowania przez wybieranie (167)
- Złożoność sortowania przez wybieranie (167)
- Zrozumienie sortowania przez wstawianie (168)
- Implementacja sortowania przez wstawianie (170)
- Złożoność sortowania przez wstawianie (171)
- Zrozumienie technik sortowania wykorzystujących metodę dziel i zwyciężaj (171)
- Zrozumienie sortowania przez scalanie (171)
- Implementacja sortowania przez scalanie (173)
- Złożoność sortowania przez scalanie (174)
- Zrozumienie sortowania szybkiego (175)
- Implementacja sortowania szybkiego (176)
- Złożoność sortowania szybkiego (178)
- Zrozumienie sortowania kubełkowego (178)
- Używanie wbudowanych funkcji sortujących PHP (179)
- Podsumowanie (180)
Rozdział 8. Poznawanie technik wyszukiwania (181)
- Wyszukiwanie liniowe (181)
- Wyszukiwanie binarne (183)
- Analiza algorytmu wyszukiwania binarnego (187)
- Algorytm powtarzalnego wyszukiwania binarnego (187)
- Przeszukiwanie nieposortowanej tablicy - czy należy ją najpierw posortować? (190)
- Wyszukiwanie interpolacyjne (191)
- Wyszukiwanie wykładnicze (192)
- Wyszukiwanie przy użyciu tablicy mieszającej (193)
- Wyszukiwanie w drzewach (194)
- Przeszukiwanie wszerz (194)
- Przeszukiwanie w głąb (198)
- Podsumowanie (203)
Rozdział 9. Włączanie grafów do akcji (205)
- Zrozumienie właściwości grafów (205)
- Wierzchołek (206)
- Krawędź (206)
- Sąsiedztwo (207)
- Incydencja (208)
- Stopień wchodzący i stopień wychodzący (208)
- Ścieżka (208)
- Typy grafów (209)
- Grafy skierowane (209)
- Grafy nieskierowane (209)
- Grafy ważone (210)
- Skierowane grafy acykliczne (210)
- Reprezentowanie grafów w PHP (211)
- Algorytmy BFS i DFS dla grafów (212)
- Przeszukiwanie wszerz (212)
- Przeszukiwanie w głąb (214)
- Sortowanie topologiczne przy użyciu algorytmu Kahna (216)
- Wyznaczanie najkrótszej ścieżki za pomocą algorytmu Floyda-Warshalla (218)
- Wyznaczanie najkrótszej ścieżki z pojedynczego źródła za pomocą algorytmu Dijkstry (221)
- Wyznaczanie najkrótszej ścieżki za pomocą algorytmu Bellmana-Forda (224)
- Zrozumienie minimalnego drzewa rozpinającego (227)
- Wyznaczanie minimalnego drzewa rozpinającego za pomocą algorytmu Prima (228)
- Wyznaczanie minimalnego drzewa rozpinającego za pomocą algorytmu Kruskala (231)
- Podsumowanie (233)
Rozdział 10. Zrozumienie i używanie stert (235)
- Czym jest sterta? (235)
- Operacje na stercie (236)
- Implementacja kopca binarnego w języku PHP (237)
- Analiza złożoności operacji na stercie (241)
- Używanie sterty jako kolejki priorytetowej (242)
- Używanie sortowania przez kopcowanie (245)
- Używanie klas SplHeap, SplMaxHeap oraz SplMinHeap (248)
- Podsumowanie (248)
Rozdział 11. Rozwiązywanie problemów za pomocą technik zaawansowanych (249)
- Memoizacja (250)
- Algorytmy dopasowania do wzorca (252)
- Implementacja algorytmu Knutha-Morrisa-Pratta (253)
- Algorytmy zachłanne (255)
- Implementacja algorytmu kodowania Huffmana (256)
- Zrozumienie programowania dynamicznego (260)
- Dyskretny problem plecakowy (261)
- Znajdowanie długości najdłuższego wspólnego podciągu (262)
- Sekwencjonowanie DNA przy użyciu programowania dynamicznego (264)
- Używanie algorytmu z nawrotami do rozwiązywania zagadek (267)
- System rekomendacji używający wspólnego filtrowania (271)
- Używanie filtrów Blooma i macierzy rzadkich (274)
- Podsumowanie (277)
Rozdział 12. Obsługa algorytmów i struktur danych przez język PHP (279)
- Wbudowane w język PHP możliwości związane ze strukturami danych (279)
- Używanie tablicy PHP (280)
- Klasy SPL (283)
- Algorytmy wbudowane (284)
- Mieszanie (287)
- Wbudowane możliwości dostępne dzięki PECL (288)
- Instalacja (289)
- Interfejsy (290)
- Wektor (290)
- Mapa (291)
- Zbiór (291)
- Stos i kolejka (293)
- Kolejka dwustronna (294)
- Kolejka priorytetowa (294)
- Podsumowanie (295)
Rozdział 13. Funkcyjne struktury danych w języku PHP (297)
- Zrozumienie programowania funkcyjnego w języku PHP (298)
- Funkcje pierwszej klasy (299)
- Funkcje wyższego rzędu (299)
- Funkcje czyste (299)
- Funkcje lambda (300)
- Domknięcia (300)
- Rozwijanie funkcji (300)
- Wykonania częściowe (301)
- Rozpoczęcie pracy z biblioteką Tarsana (302)
- Implementacja stosu (303)
- Implementacja kolejki (304)
- Implementacja drzewa (305)
- Podsumowanie (306)
Skorowidz (307)
- Назва: PHP 7. Algorytmy i struktury danych
- Автор: Mizanur Rahman
- Оригінальна назва: PHP 7 Data Structures and Algorithms
- Переклад: Łukasz Suma
- ISBN: 978-83-283-4086-2, 9788328340862
- Дата видання: 2018-01-07
- Формат: Eлектронна книга
- Ідентифікатор видання: php7al
- Видавець: Helion