
Tečaj podatkovnih struktur in algoritmov v Pythonu
Obvladaj Python in podatkovne strukture ter algoritme od samih osnov — brez bližnjic, brez praznega balasta. Ta tečaj te popelje od pisanja prve Python skripte do reševanja kompleksnih problemov z grafi in dinamičnim programiranjem. Ne glede na to, ali ciljaš na vodilna tehnološka podjetja ali dviguješ svoje inženirske spretnosti, je to popolna tehnična osnova, ki jo potrebuješ.
Kaj se boste naučili:
Zgradil/-a boš trdne temelje Pythona, ki pokrivajo sintakso, zbirke in objektno-usmerjeno načrtovanje, preden se premakneš k osrednjim temam DSA. Popolnoma iz nič boš izvedel/-a polja, povezane sezname, sklade, vrste, drevesa in grafe. Analiziral/-a boš časovno in prostorsko zahtevnost z uporabo notacije veliki O za vsak pomembnejši algoritem. Obvladal/-a boš urejanje, iskanje, rekurzijo in dinamično programiranje s pravo kodo. Vadil/-a boš tudi vzorce tekmovalnega programiranja in tehnike simuliranih intervjujev, zasnovane za pripravo na tehnične zaposlitvene postopke v vodilnih tehnoloških podjetjih.
Kako praktično študirate Tečaj podatkovnih struktur in algoritmov v Pythonu
Kako vadite Tečaj podatkovnih struktur in algoritmov v Pythonu
Za vas, ki ste podjetje in želite usposobiti svojo ekipo
Na Dedika za podjetja je tečaj prilagojen z vajami in primeri iz vašega lastnega poslovanja, tako kot vaša podjetja potrebujejo.
Vsebina tečaja
8 Poglavji • 40 Uč lekcijeTrajanje med 4 in 360 urami (vi se odločite)
Poglavje 1SkrijSkrij podrobnostiPoglej podrobnostiOsnove programiranja v Pythonu
Osnove programiranja v Pythonu
Uč lekcija 1 • Funkcije in doseg
Opredeljuje funkcije za večkratno uporabo s parametri, povratnimi vrednostmi in pravili dosega. Pripravi udeležence na enkapsulacijo logike DSA v čistih, preizkusljivih enotah.
Uč lekcija 2 • Krmilni tok in iteracija
Uči vejanje if/elif/else, zanke for in while ter stavke za nadzor zanke. Udeležencem omogoča izražanje algoritmične logike v Pythonu.
Uč lekcija 3 • Obravnava napak in razhroščevanje
Uvede izjeme, bloke try/except in orodja za razhroščevanje. Udeležence opremi za pisanje robustne kode in diagnosticiranje napak v kompleksnih programih.
Uč lekcija 4 • Osnovni podatkovni tipi in spremenljivke
Obravnava cela števila, števila s plavajočo vejico, nize, logične vrednosti in pretvorbo tipov. Zagotavlja podatkovne primitive, uporabljene v vsaki algoritmični implementaciji v nadaljevanju.
Uč lekcija 5 • Priprava okolja Python
Namesti Python, konfiguriraj navidezno okolje in izberi IDE. Vzpostavi orodno verigo, od katere je odvisno vsako naslednje poglavje.
Poglavje 2SkrijSkrij podrobnostiPoglej podrobnostiKolekcije in razumevanja v Pythonu
Kolekcije in razumevanja v Pythonu
Uč lekcija 1 • Iteratorji, generatorji in leno vrednotenje
Pojasnjuje protokol iteratorja, generatorske funkcije in yield. Omogoča pomnilniško učinkovito obdelavo velikih podatkovnih nizov pri problemih DSA.
Uč lekcija 2 • Seznami in terke poglobljeno
Raziskuje indeksiranje, rezinjenje, spreminjanje in nespremenljivost terk. Ti sekvenčni tipi podpirajo podatkovne strukture na osnovi polj, ki so obravnavane kasneje.
Uč lekcija 3 • Slovarji in množice
Obravnava shranjevanje na osnovi zgoščevanja, operacije ključ-vrednost in algebro množic. Neposredno podpira implementacije zgoščevalnih tabel in sosednosti grafov.
Uč lekcija 4 • Razumevanja seznamov in slovarjev
Uči jedrnato sintakso razumevanj za filtriranje in preoblikovanje kolekcij. Zmanjšuje količino ponavljajoče se kode v algoritmičnih implementacijah skozi celoten tečaj.
Uč lekcija 5 • Razvrščanje, iskanje in vgrajeni algoritmi
Uporablja sorted(), min(), max() in ključne funkcije za obdelavo kolekcij. Povezuje vgrajene zmogljivosti Pythona z algoritmi za razvrščanje po meri, ki jih obravnavamo v nadaljevanju.
Poglavje 3SkrijSkrij podrobnostiPoglej podrobnostiAnaliza algoritmov in zahtevnost
Analiza algoritmov in zahtevnost
Uč lekcija 1 • Uvod v analizo algoritmov
Opredeljuje pravilnost algoritma, učinkovitost in potrebo po formalni analizi. Postavi analitično miselnost, ki se uporablja za vsako podatkovno strukturo in algoritem v nadaljevanju.
Uč lekcija 2 • Veliki O, velika Omega in velika Theta
Formalizira asimptotično notacijo in pogoste razrede zahtevnosti. Zagotovi besednjak, uporabljen za opis vsakega algoritma v naslednjih poglavjih.
Uč lekcija 3 • Analiza zank in rekurzivnih klicev
Uči štetje korakov za zanke in rekurenčne relacije za rekurzijo. Neposredno pripravi udeležence na analizo algoritmov za razvrščanje in dreves.
Uč lekcija 4 • Profiliranje kode Python
Uporablja timeit, cProfile in memory_profiler za merjenje dejanskega delovanja. Povezuje teoretično zahtevnost z merljivim izvajalnim vedenjem Pythona.
Uč lekcija 5 • Prostorska zahtevnost in kompromisi
Razlikuje pomožni prostor od celotnega prostora in raziskuje kompromise med časom in prostorom. Usmerja oblikovalske odločitve, ko so pomnilniške omejitve pomembne.
Poglavje 4SkrijSkrij podrobnostiPoglej podrobnostiLinearne podatkovne strukture
Linearne podatkovne strukture
Uč lekcija 1 • Primerjava zahtevnosti linearnih struktur
Primerja časovno in prostorsko zahtevnost vseh obravnavanih linearnih struktur. Omogoča informirano izbiro strukture za probleme načrtovanja algoritmov.
Uč lekcija 2 • Enojno in dvojno povezani seznami
Gradi razrede vozlišč in operacije seznama, vključno z vstavljanjem, brisanjem in prehajanjem. Uvede razmišljanje na osnovi kazalcev, bistveno za drevesa in grafe.
Uč lekcija 3 • Skladi: implementacija in uporaba
Implementira sklade z uporabo seznamov in povezanih seznamov, nato jih uporabi na resničnih problemih. Prikazuje semantiko LIFO, uporabljeno pri rekurziji, razčlenjevanju in vračanju.
Uč lekcija 4 • Vrste, dvostranske vrste in prioritetne vrste
Obravnava vrste FIFO, dvostranske vrste in prioritetne vrste s kopico. Pripravi udeležence za probleme BFS, razporejanja in požrešnih algoritmov.
Uč lekcija 5 • Polja in dinamična polja
Obravnava statična polja, sezname Python kot dinamična polja in amortizirano spreminjanje velikosti. Vzpostavi osnovno strukturo, ki jo razširjajo vsi drugi linearni tipi.
Poglavje 5SkrijSkrij podrobnostiPoglej podrobnostiRekurzija in algoritmi za razvrščanje
Rekurzija in algoritmi za razvrščanje
Uč lekcija 1 • Kvadratični algoritmi za razvrščanje
Implementira razvrščanje z mehurčki, izbiranjem in vstavljanjem z analizo korak za korakom. Zagotovi izhodišče O(n²), v primerjavi s katerim merimo hitrejše metode.
Uč lekcija 2 • Algoritmi za iskanje
Implementira linearno iskanje in binarno iskanje z dokazi zahtevnosti. Povezuje iskanje z zahtevami urejenih podatkov in resničnimi težavami na razgovorih.
Uč lekcija 3 • Osnove rekurzije
Opredeljuje osnovne primere, rekurzivne primere in klicni sklad. Gradi miselni model, potreben za prehajanje dreves in algoritme deli in vladaj.
Uč lekcija 4 • Linearno-časovno in hibridno razvrščanje
Obravnava razvrščanje s štetjem, korensko razvrščanje in Timsort, uporabljen v vgrajenem razvrščanju Pythona. Razširi udeleženčevo orodjarno onkraj primerjalnega razvrščanja.
Uč lekcija 5 • Razvrščanje deli in vladaj
Implementira razvrščanje z zlivanjem in hitro razvrščanje, izpelje njuno zahtevnost O(n log n). Prikazuje, kako rekurzija omogoča učinkovito razvrščanje v velikem obsegu.
Poglavje 6SkrijSkrij podrobnostiPoglej podrobnostiDrevesa in hierarhične podatkovne strukture
Drevesa in hierarhične podatkovne strukture
Uč lekcija 1 • Binarna iskalna drevesa
Implementira vstavljanje, iskanje in brisanje v BST s povprečno analizo O(log n). Prikazuje urejeno shranjevanje in pridobivanje podatkov z uporabo drevesne strukture.
Uč lekcija 2 • Drevesa prefixov in predponska drevesa
Konstruira trie za vstavljanje, iskanje in ujemanje predpon nizov. Omogoča učinkovite rešitve za samodejno dokončanje in iskanje v slovarju.
Uč lekcija 3 • Binarna drevesa in prehajanja
Opredeljuje terminologijo dreves in implementira prehode in-order, pre-order in post-order. Vzpostavi vzorec rekurzivnega prehajanja, uporabljen v vseh drevesnih algoritmih.
Uč lekcija 4 • Kopice in operacije s kopicami
Gradi maksimalno in minimalno kopico, implementira heapify in urejanje s kopicami. Neposredno podpira implementacije prioritetnih vrst in požrešnih algoritmov.
Uč lekcija 5 • Uravnotežena drevesa: AVL in rdeče-črna
Razlaga uravnoteženje z rotacijami v drevesih AVL in barvna pravila v rdeče-črnih drevesih. Zagotavlja zahtevnost O(log n) v najslabšem primeru za dinamične podatkovne nize.
Poglavje 7SkrijSkrij podrobnostiPoglej podrobnostiGrafi in algoritmi na grafih
Grafi in algoritmi na grafih
Uč lekcija 1 • Napredni grafovni problemi
Obravnava močno povezane komponente, preverjanje dvodelnosti in osnove omrežnih pretokov. Razširi grafične spretnosti na kompleksne kategorije problemov iz resničnega sveta.
Uč lekcija 2 • Predstavitve grafov in terminologija
Opredeljuje usmerjene, neusmerjene, utežene in ciklične grafe s predstavitvami s seznami sosednosti in matrikami. Vzpostavi temelj za vse implementacije algoritmov na grafih.
Uč lekcija 3 • Algoritmi najkrajših poti
Implementira Dijkstrov in Bellman-Fordov algoritem za utežene grafe. Opremi udeležence za reševanje problemov usmerjanja in minimizacije stroškov.
Uč lekcija 4 • Minimalna vpeta drevesa
Implementira Kruskalov in Primov algoritem z uporabo union-find in prioritetnih vrst. Rešuje probleme načrtovanja omrežij, ki zahtevajo povezljivost z minimalnimi stroški.
Uč lekcija 5 • Iskanje v širino in globino
Implementira BFS z vrsto in DFS z rekurzijo ter skladom. Obravnava povezane komponente, zaznavanje ciklov in topološko urejanje.
Poglavje 8SkrijSkrij podrobnostiPoglej podrobnostiDinamično programiranje in napredne tehnike
Dinamično programiranje in napredne tehnike
Uč lekcija 1 • Požrešni algoritmi in vračanje
Implementira požrešne strategije za razporejanje intervalov in Huffmanovo kodiranje ter vračanje za problem N-kraljic in podmnožice. Zaokroži osrednjo orodjarno za oblikovanje algoritmov.
Uč lekcija 2 • Tabulacija in DP od spodaj navzgor
Gradi tabele DP iterativno za problem vračanja kovancev, vzpenjanja po stopnicah in poti po mreži. Odpravlja režijski čas rekurzije in pojasnjuje logiko prehajanja stanj.
Uč lekcija 3 • Uvod v dinamično programiranje
Opredeljuje prekrivajoče se podprobleme in optimalno podstrukturo kot predpogoja za DP. Primerja DP z deli in vladaj, da pojasni, kdaj se posamezna metoda uporablja.
Uč lekcija 4 • Memoizacija in DP od zgoraj navzdol
Pretvarja naivno rekurzijo v memoizirane rešitve z uporabo slovarjev in functools.lru_cache. Prikazuje dramatično zmanjšanje zahtevnosti pri Fibonaccijevih in podobnih problemih.
Uč lekcija 5 • Klasični vzorci DP
Rešuje problem nahrbtnika, najdaljšega skupnega podzaporedja in razdalje urejanja. Uči predloge DP za večkratno uporabo, ki so uporabne za širok nabor vprašanj na razgovorih.
Vaš veljaven certifikat o zaključku
Ta tečaj je namenjen vam:
Menjalec kariere: želi si strukturirane tehnične osnove za vstop v vloge programskega inženirstva.
Študent računalništva: potrebuje praktično vadbo kodiranja, ki presega tisto, kar nudijo predavanja.
Samouk razvijalec: zna graditi (programsko) aplikacije, a ima težave z algoritmičnim reševanjem problemov pod pritiskom.
Podatkovni analitik: pripravljen poglobiti programske veščine proti odgovornostim na inženirski ravni.
Nedavni diplomant: pripravlja se na tehnične razgovore v konkurenčnih tehnoloških podjetjih kmalu.
Programer hobist: radoveden, kako so profesionalni programski sistemi dejansko zasnovani navznotraj.
Kaj pravijo naši učenci
Vaše predavanja so popolna. Kupil sem enoletni paket in končno imam priložnost spremljati različne teme, ki me zanimajo, ne da bi moral menjati platformo... hvala za vse, kar počnete, že sem vas priporočil drugim ljudem...

Všeč mi je, kako so lekcije neposredne in kako lahko spreminjam poglavja ter preskočim vsebino, ki je ne potrebujem.

Všeč mi je vsebina in način predstavitve ter prepis videoposnetkov, kar pospeši proces!

Platforma je hitra in enostavna za uporabo. Raznolikost vsebine in dopolnilni videoposnetki zelo pomagajo pri učenju.

Glavne usposobitve
Pogosta vprašanja
Kdo je Dedika?
Ali potrdilo velja v Slovenija?
Ali so tečaji brezplačni?
Kakšna je obremenitev tečaja?
Kakšni so tečaji?
Kako potekajo tečaji?
Kakšno je trajanje tečajev?
Kakšna je cena tečajev?
Kaj je EAD ali spletni tečaj in kako deluje?
PDF tečaj




















