Street of Code

Ep. 46 – Dátové štruktúry


Listen Later

Dátové štruktúry sú základným stavebným prvkom programovania. Predstavujú rôzne spôsoby reprezentácie dát. Opíšeme si najzákladnejšie dátové štruktúry a rozdiely medzi nimi. Keďže sme sa o dátových štruktúrach celkom rozkecali, tak algoritmy spomínať nebudeme, to až v ďalšej epizóde.

Stiahnuť
https://wp.streetofcode.sk/wp-content/uploads/2020/09/StreetOfCode-Ep46.mp3

(00:00 – 02:34) – Úvod

(02:35 – 05:58) – Čo su dátové štruktúry?
(05:59 – 12:38) – Pole (Arrayy)
(12:39 – 19:45) – Zreťazený zoznam (Linked list)
(19:46 – 27:43) – Hash set
(27:44 – 32:33) – Hash map / Dictionary
(32:34 – 35:16) – Zásobník (Stack)
(35:17 – 37:25) – Rada (Queue)
(37:26 – 43:06) – Graf
(43:07 – 44:58) – Strom
(44:59 – 46:46) – Nečakaná zmena plánov
(46:47 – 47:24) – Záver

Pole (Array)
  • Skupina prvkov (väčšinou toho istého typu)
  • Ku prvkom pristupujeme podľa indexov (indexy väčšinou začínajú od 0)
  • Statická / Nemeniteľná veľkosť
  • LIST
    • To isté ako pole, ale veľkosť je dynamická
    • Zreťazený zoznam (Linked List)
      • Reprezentuje sekvenciu uzlov (nodes)
      • Každý node obsahuje svoju hodnotu (môže byť čokoľvek) a referenciu na ďalší node
      • Referenciu môže obsahovať aj na predošlí node, vtedy je zoznam obojsmerný (inak jednosmerný)
      • Konštantná O(1) zložitosť vkladania/odstraňovania prvkov.
      • Hash Mapa / Dictionary
        • Mapuje kľúče na hodnoty
        • Používa hashovaciu funkciu na kľúče
        • Konštantná O(1) zložitosť prístupu k prvkom podľa key
        • Zásobník (stack)
          • LIFO (last-in first-out)
          • Vieme si to predstaviť ako taniere – posledný vložený na kopu bude použitý ako prvý
          • Obsahuje funkcie:
            • pop() – odstráni prvok na vrchole
            • push(item) – pridá prvok na vrchol
            • peek() – vráti prvok na vrchole (neodstraňuje)
            • isEmpty()
            • Rad (Queue)
              • FIFO (first-in first-out)
              • Vieme si to predstaviť ako rad v obchode- prvý čo sa postaví do radu bude aj prvý obslúžený
              • Obsahuje funkcie:
                • remove() – odstráni prvok na vrchole
                • add(item) – pridá prvok na koniec
                • peek() – vráti prvok na vrchole (neodstraňuje)
                • isEmpty()
                • Graf
                  • Má vrcholy a hrany. Hranami sa spájajú jednotlivé vrcholy
                  • Pomocou tejto dátovej štruktúry sa rieši mnoho problémov z reálneho života (napr. Google maps, Sociálne siete)
                  • Susedia vrcholu (alebo nazývame aj node) A, sú všetky vrcholy, ktoré majú s vrcholom A spojenie
                  • Spojenia/Hrany môzu byť orientované alebo neorientované
                  • Môže obsahovať cykly, vtedy je graf cyklický (inak acyklický)
                  • Strom
                    • Stromy sú typy grafov
                    • Každý strom ma root node (prvý node na vrchole stromu)
                    • Každý node ma 0 alebo N detí (child nodes)
                    • Binárny strom je typ stromu, v ktorom každý node ma 0 až 2 detí
                    • Binárny vyhľadávací strom je taký, v ktorom platí usporiadané také, že pre každý node platí, že naľavo od tohto node sú prvky menšie a napravo väčšie
                    • The post Ep. 46 – Dátové štruktúry appeared first on Street of Code.

                      ...more
                      View all episodesView all episodes
                      Download on the App Store

                      Street of CodeBy Street of Code


                      More shows like Street of Code

                      View all
                      Dobré ráno | Denný podcast denníka SME by SME.sk

                      Dobré ráno | Denný podcast denníka SME

                      32 Listeners

                      DEEP TALKS [CZE] by Petr Ludwig

                      DEEP TALKS [CZE]

                      19 Listeners

                      Denník N Newsfilter by Denník N

                      Denník N Newsfilter

                      33 Listeners

                      Index by SME.sk

                      Index

                      7 Listeners

                      Lužifčák podcast by Lužifčák

                      Lužifčák podcast

                      15 Listeners

                      PETR MÁRA PODCAST by Petr Mára

                      PETR MÁRA PODCAST

                      7 Listeners

                      Rozhovory ZKH by SME.sk

                      Rozhovory ZKH

                      13 Listeners

                      Piatoček by SME.sk

                      Piatoček

                      12 Listeners

                      Diagnóza Podnikateľ by Edita Angyalová

                      Diagnóza Podnikateľ

                      0 Listeners

                      V redakcii by Denník N

                      V redakcii

                      16 Listeners

                      Mozgová Atletika by Denis a Patrik Kováč

                      Mozgová Atletika

                      10 Listeners

                      Michal Truban Podcast by Michal Truban

                      Michal Truban Podcast

                      3 Listeners

                      Mentalita Foundera by ZAPO

                      Mentalita Foundera

                      0 Listeners

                      tak bolo by ZAPO

                      tak bolo

                      4 Listeners

                      Ekonómia ľudskou rečou by skpodcasty.sk

                      Ekonómia ľudskou rečou

                      1 Listeners