Struktury danych w JavaScripcie – Graf część 2

W poprzednim poście przedstawiłem z grubsza teorię grafów. Stworzyłem też zalążek implementacji tej struktury danych w JavaScripcie.

Dziś kontynuuję ten temat. Tym razem pokażę jak przeszukiwać grafy. Należy pamiętać, że w grafie przeszukiwanie nie tyle polega na odnalezieniu konkretnego wierzchołka, co na przeanalizowaniu jego układu krawędzi.

Struktury danych w JavaScripcie – Graf Czytaj dalej Struktury danych w JavaScripcie – Graf część 2

Struktury danych w JavaScripcie – Graf część 1

Nadszedł czas na kolejną strukturę danych. Tym razem będzie to graf. Warto poznać tę strukturę ponieważ jest ona naprawdę przydatna i często wykorzystywana. Popularnym przykładem mającym pomóc wyobrazić sobie graf jest siatka miast i łączących je dróg. Miasta to wierzchołki grafu a drogi to krawędzie je łączące.

Przykład bliższy komputerom to komputerowa sieć w domu czy na uczelni. Ją też możemy przedstawić jako graf. Wierzchołkami są wtedy podpięte do sieci urządzenia, a krawędzie to połączenia między nimi. Dzięki tej strukturze można przedstawić w łatwy sposób architekturę takiej sieci.

JavaScript noob struktury danych graf Czytaj dalej Struktury danych w JavaScripcie – Graf część 1

Struktury danych w JavaScripcie – Drzewo Binarne część 2

Czas na dalszy ciąg JavaScriptowej implementacji drzewa binarnego. Ostatnim razem pokazałem jak do drzewa dodawać elementy i jak się po nim przemieszczać.

W tym poście przedstawię techniki przeszukiwania drzewa, oraz usuwania elementów.

JavaScript noob Drzewo Binarne Czytaj dalej Struktury danych w JavaScripcie – Drzewo Binarne część 2

Struktury danych w JavaScripcie – Drzewo Binarne część 1

Drzewo binarne to kolejna struktura danych, którą przedstawię na blogu. Struktury drzew to bardzo rozległy temat w teorii nauk informatycznych. Drzewo binarne jest odmianą raczej prostą w zrozumieniu chociaż może wydawać się bardziej skomplikowane niż wcześniej przedstawiane przeze mnie struktury danych.

Dodatkową atrakcją w drzewach binarnych jest to, że do stworzenia JavaScriptowej implementacji mocno wykorzystam rekurencję. Warto ćwiczyć się w używaniu tej techniki ponieważ dobrze opanowana, daje ogromne możliwości.

Drzewo Binarne Czytaj dalej Struktury danych w JavaScripcie – Drzewo Binarne część 1

Struktury danych w JavaScripcie – Zbiór

W dzisiejszym wpisie pokazuję kolejną strukturę danych. Zaczynam powoli zbliżać się do końca tej serii postów 🙂

Tym razem na tapetę idzie zbiór. Jest to struktura, która powinna być wszystkim znana, choćby z lekcji matematyki w podstawówce 🙂 Według mnie to jedna z prostszych struktur danych do opisania, więc powinno być lekko.

Struktury danych w JavaScripcie – Zbiór Czytaj dalej Struktury danych w JavaScripcie – Zbiór

Struktury danych w JavaScripcie – Tablica z haszowaniem

Pora na kolejną strukturę danych. Tym razem będzie to tablica z haszowaniem, zwana także mapą z haszowaniem. Podobnie jak słownik, jest to sposób na implementację tablicy asocjacyjnej (takiej, w której użytkownik ma dostęp do wartości dzięki kluczom). Atutem tablicy z haszowaniem jest to, że dostęp ten jest bardzo szybki.

Struktury danych w JavaScripcie – Tablica z haszowaniem Czytaj dalej Struktury danych w JavaScripcie – Tablica z haszowaniem

Struktury danych w JavaScripcie – Słownik

Czas najwyższy na kolejny post z serii o strukturach danych. Tym razem bardzo prosta do zaimplementowania struktura – słownik.

Słownik składa się z danych połączonych w pary: klucz i wartość. Klucza używamy aby znaleźć przypisaną do niego wartość. Jak łatwo się domyślić klucze mają unikatowe wartości – nie mogą się powtarzać. Dobrym przykładem (i często przytaczanym), ilustrującym tę strukturę to książka adresowa. Imię i nazwisko to klucz, po którym szukamy w książce adresowej wartości czyli adresu.

Struktury danych w JavaScripcie – Słownik Czytaj dalej Struktury danych w JavaScripcie – Słownik

struktury danych w JavaScripcie – lista dwukierunkowa

Kolejny post i znowu listy. Nie ma się co dziwić, tak jak pisałem, jest to jedna z najpopularniejszych struktur danych. Do tego ich implementacje w JavaScripcie są bardzo ciekawe i mogą wiele nauczyć o działaniu języka. Wersja, która omówię w tym poście w szczególności. Dziś w serii struktury danych w JavaScripcie – lista dwukierunkowa.

struktury danych w JavaScripcie – lista dwukierunkowa Czytaj dalej struktury danych w JavaScripcie – lista dwukierunkowa

struktury danych w JavaScripcie – lista jednokierunkowa

Kolejny post z serii struktury danych w JavaScripcie – lista jednokierunkowa. Podstawy działania listy omówiłem ostatnim razem. Teraz kolej na bardziej rozbudowaną wersję tej struktury danych – listę jednokierunkową.

Struktury danych w JavaScripcie – Lista Czytaj dalej struktury danych w JavaScripcie – lista jednokierunkowa

Struktury danych w JavaScripcie – Lista

Dziś ‚struktury danych w JavaScripcie – Lista’, czyli powrót do serii artykułów o strukturach danych. Listy to tak naprawdę jedna z najczęściej używanych struktur. W JavaScripcie świetnie symuluje ją zwykła tablica. Mimo to w ramach treningu/nauki zbuduję własną klasę tak jak zrobiłem to ze stosem oraz kolejką. Nie będzie to duże wyzwanie, zachowanie listy jest dość proste. Jednak dobre zrozumienie działania tej struktury danych będzie świetnym wstępem do bardziej wymagających wersji, list jedno i dwukierunkowych.

Struktury danych w JavaScripcie – Lista Czytaj dalej Struktury danych w JavaScripcie – Lista