Witamy ponownie w Harvard CS50 i CodeGym. Teraz będziemy pracować nad wykładem z 5 tygodnia. Głównym tematem tego są „Struktury danych”.
Na początku profesor Malan przypomni, czego dowiedzieliśmy się o wskaźnikach, funkcji malloc i innych przydatnych narzędziach do pracy z pamięcią... pokaże również „Zabawa ze wskaźnikami z Binkym”.
Pierwszą strukturą danych, której nauczyliśmy się w 2 tygodniu, były tablice. W tablicach mogliśmy przechowywać ten sam rodzaj wartości na liście, obok siebie. Ale kiedy tworzy się tablice, należy zadeklarować ich rozmiar, a gdy chcemy zwiększyć rozmiar tablicy, otaczająca ją pamięć może zostać zajęta przez inne dane. Co powinniśmy zrobić, aby zmienić rozmiar tablicy? Jasne, że możemy utworzyć nową i skopiować wszystkie dane. Czy to jednak skuteczny sposób rozwiązania problemu? Profesor Malan wyjaśni Ci to.
W tym filmie David Malan kontynuuje temat zmiany rozmiaru tablic i proponuje podejście alternatywne: “zszyć” razem nieco bardziej wyszukane struktury danych zamiast zwykłych tablic.
Struktury danych to konstrukcje programistyczne, które pozwalają nam przechowywać informacje w różnych układach w pamięci naszego komputera.
Aby zbudować strukturę danych, będziemy potrzebować kilku narzędzi, które widzieliśmy:
- struct do tworzenia niestandardowych typów danych
- .aby uzyskać dostęp do właściwości w strukturze
- * aby przejść do adresu w pamięci wskazywanego przez wskaźnik
Pierwszą strukturą danych, której nauczymy się w tym filmie, jest lista połączona. Co jest dobrego w tablicach? Losowy dostęp do ich danych, jest to stały fragment pamięci. Lista połączona zbudowana jest w zupełnie inny sposób.
W jaki sposób dane listy połączonej są przechowywane w pamięci komputera? Różni się to od tablicy, ponieważ nasze wartości nie znajdują się już obok siebie w pamięci. Wskaźniki są wewnątrz samej idei tej struktury danych!
Wraz z Davidem zaczniemy tworzyć strukturę danych listy połączonej używając struct w C. Jest to bardzo korzystne ćwiczenie dla każdego przyszłego programisty, nawet jeśli Twój język posiada już listę połączoną w standardowej bibliotece (takiej jak na przykład Java).
***
Kolejny wykład pojawi się na polskiej grupie CodeGym. Nie przegap!
Jeśli chcesz, żebyśmy do Ciebie wołali, kiedy pojawi się następny odcinek - zaplusuj ten wpis.
Bądź na bieżąco i powodzenia w nauce!
Komentarze (87)
najlepsze
Komentarz usunięty przez moderatora
W skrócie: wszystko jest trudne dopóki nie stanie się latwe
Myślę że kazdy bardziej lub mniej podświadomie w ten sposób programuje; masz problem, wymyślasz rozwiązanie lub je znajdujesz w internecie, problem i rozwiązanie zostaje w głowie, dzięki czemu podobne problemy jesteś w stanie zrobić bez większego trudu. X przerobionych problemów sprawia że z łatwością człowiek jest w stanie programować, bo programowanie to rozwiązywanie problemów.
To miałem na myśli
Zdecydowanie wolę swoją profesję :)
Komentarz usunięty przez moderatora
Komentarz usunięty przez moderatora