Minu lemmik lemmikkursused andmestruktuuride ja algoritmide põhjalikuks õppimiseks

Andmestruktuurid ja algoritmid on programmeerijate jaoks kõige olulisemad teemad nii töö saamiseks kui ka tööga hästi hakkama saamiseks. Andmekonstruktsioonide ja algoritmide hea tundmine on hea koodi kirjutamise alus.

Kui olete kursis oluliste andmestruktuuridega, nt massiiv, string, lingitud loend, puu, kaart ja täiustatud andmestruktuurid, näiteks proovimised, ja isetasakaalustatud puud, nagu AVL-puud jne, saate teada, millist andmestruktuuri ja arvutage oma koodi protsessor ja mälukulu.

Isegi kui te ei pea kirjutama oma massiivi, lingitud loendit ega hashtabletti, pidage silmas, et kõik suuremad SDK pakutavad programmiprogrammid, nt JDK või C ++ STL-i teek, peate neist aru saama, et saaksite neid õiges kohas kasutada .

Õige andmestruktuuri kasutamine võib algoritmi toimivust drastiliselt parandada.

Ideaalis peaksime kõik oma koolides ja kolledžites õppima andmestruktuure ja algoritme, kuid seda ei käsitleta harva. Enamik programmeerijaid, sealhulgas ka mina, tutvuvad andmestruktuuriga ainult meie arvutiteaduse kursustel, kuid me ei õppinud tegelikult nende tegelikku tähtsust ja seetõttu ei mõistnud me neid paremini.

Meie jaoks on need vaid algoritmid ja andmestruktuurid, nt mingi kontseptsioon, mitte tööriist, mida saate kasutada heade programmide kirjutamiseks. Me ei teadnud, et Facebook kasutab neid meie üksikasjade salvestamiseks või et Google kasutab neid veebilehtede salvestamiseks ja otsingupäringutele linkimiseks.

Igatahes pole kunagi liiga hilja.

Kui arvate, et teie andmestruktuurialased teadmised pole tasemel või soovite oma teadmisi andmete struktuuri kohta täiendada, olete jõudnud õigesse kohta.

Varem jagasin andmekonstruktsioonide ja algoritmide õppimiseks mõningaid tasuta raamatuid ning selles artiklis saate teada mõnest parimast andmekonstruktsiooni ja algoritmikursusest, mis on veebis tasuta saadaval.

Tasuta kursused andmestruktuuride ja algoritmide õppimiseks

Siin on minu loetelu parimatest kursustest andmestruktuuride ja algoritmide õppimiseks, mis on samuti tasuta. Paljud programmeerijad arvavad, et tasuta ressursid pole head, mis pole tõsi.

Ehkki need ei vasta mõnikord tasuliste ressursside kvaliteedile ja katvusele, on nad tegelikult parimad ressursid alustamiseks.

Nende kursuste abil saate tutvuda oluliste andmestruktuuridega ja õppida põhitõdesid.

Mõni neist on intervjuu seisukohast eriti hea, nii et saate neid kasutada koos kõigi raamatutega, mida kasutate programmeerimisintervjuu ettevalmistamiseks.

Kursus nr 1: Andmete struktuuri mõisted C-s

See on veel üks tasuta veebipõhine algoritmide ja andmestruktuuride koolituskursus, mille eesmärk on õpetada põhilisi andmestruktuure arvutiprogrammeerimisel.

Kursusel õpetatavate andmestruktuuride hulka kuuluvad Stack, Queue ja Linked List, kasutades programmeerimiskeelt C.

Selle kursuse esmane eesmärk on panna õpilased ja tarkvarainsenerid visualiseerima, kuidas erinevad andmestruktuurid töötavad.

See ei ole ammendav kursus, kuid saate teada virna, järjekorra ja lingitud loendi kohta.

Lühidalt öeldes on see suurepärane kursus programmeerijatele, kes on uue andmestruktuuride jaoks, ja neile, kes on just programmeerimiskeele õppinud ja soovivad õppida põhistruktuure andmestruktuuride toimimisest.

Kursus nr 2: Algoritmid 1. osa - Coursera

See on Robert Sedgewicki Courera algoritme ja andmestruktuure hõlmava kaheosalise kursuste seeria esimene osa.

Selles osas saate teada olulised andmestruktuurid, nagu lingitud loendid, virnad, järjekorrad, binaarpuud ja räsitabelid, ning otsingu- ja sorteerimisalgoritmid, nagu binaarotsing, kiirkordus, ühinemissort, sisestussorteerimine jne.

Samuti saate teada igapäevastes rakendustes kasutatavate põhiandmete struktuuride ja algoritmide kohta ning mõista kompromisse, mis on seotud iga andmestruktuuri valimise ning läbimise, otsimise ja värskendamise algoritmidega.

Kõik selle kursuse funktsioonid on tasuta saadaval, kuid lõpetamisel ei paku see tunnistust.

Kursus nr 3: Algoritmid - 2. osa

See on teine ​​osa kahest osast koosnevatest tasuta Coursera veebikursustest, mis hõlmavad Robert Sedgewicki ja Kevin Wayne'i, mõlemad arvutiteaduse professorid, andmestruktuure ja algoritme.

Robert Sedgewick on ka algoritmide 4. väljaande raamatu autor, mis on Java-arendajatele üks populaarsemaid algoritme käsitlevaid raamatuid.

Selles osas saate teada graafide ja stringide töötlemise algoritmidest.

Samuti saate teada rakenduse arendamisel kasutatavatest täpsematest andmestruktuuridest ja algoritmidest.

Sotsiaalsest tõest rääkides on nii algoritmide 1. osa kui ka 2. osa väga soovitatavad kursused ning muljetavaldavate arvustuste ja hinnangutega.

Kursus nr 4. Andmestruktuurid Java-s

See on sissejuhatav veebikursus andmestruktuuride, algoritmide ja keerukuse analüüside kohta. See õpetab Java-keelt kasutades põhiliste andmestruktuuride kavandamist, juurutamist ja analüüse.

Selle kursuse parim osa on praktiliste näidete arv ja see keskendub intuitsioonile, mitte valemitele ja matemaatilistele tõestustele.

Kursus annab hea sissejuhatuse "keerukuse analüüsiks", mis võimaldab märgata halvasti (ja suurepäraselt) töötavat programmi, isegi ilma et seda oleks vaja täita.

See kõik puudutab mõnda veebis saadaval olevat tasuta andmestruktuuri ja algoritmikursust . Nende kursuste abil saate oma struktuuris õppida andmestruktuure ja algoritme.

Need ei pruugi kõik olla kõikehõlmavad, kuid pakuvad siiski head sissejuhatust. Kui olete need kursused läbinud, saate oma teadmiste täiendamiseks valida hea raamatu, näiteks Algoritmide sissejuhatus .

Kursus nr 5. Kergesti arenenud andmekonstruktsioonid

Uuendus: see kursus pole enam tasuta, kuid see on suurepärane kursus ja võib teie jaoks seda väärt olla. See Udemy andmestruktuuri ja algoritmikursus on mõeldud kõigile neile inimestele, kes soovivad õppida andmestruktuure absoluutsest põhitasemest kõrgemale tasemele.

See kursus ei eelda, et teil oleks mingeid eelteadmisi andmestruktuuride kohta, kuid põhilised eelteadmised Java-st on kasulikud.

Autor @William Fiset on Google'i tarkvarainsener ja endine ACM-ICPC maailma finalist ning suurepärase arvutiprogrammeerimise ja probleemide lahendamise oskustega.

Sotsiaalsest tõest rääkides on kursusel rohkem kui 25 000 üliõpilast ja keskmiselt 4,1 hinnangut 683 hinnangust, mis on muljetavaldav.

Lühidalt, see on täielik juhend, kuidas õppida kõike, mida andmestruktuuride kohta teada on.

See on ideaalne kursus ka arvutiteaduse üliõpilastele ja töötavatele tarkvaraspetsialistidele, kes soovivad õppida andmestruktuure ja algoritme intervjuu vaatenurgast.

Seega, kui soovite tööd saada tootepõhistes ettevõtetes nagu Amazon, Google, Microsoft või Facebook, võite selle kursuse abil oma ettevalmistust alustada.

Edasine õppimine

  • Andmestruktuurid ja algoritmid: sügav sukeldumine Java abil
  • Andmete struktuur ja algoritmid - 1. ja 2. osa
  • 10 raamatut tööintervjuude tehnilise programmeerimise / kodeerimise ettevalmistamiseks
  • 10 algoritmiraamatut, mida iga programmeerija peaks lugema
  • Viis parimat andmekonstruktsiooni ja algoritmiraamatut Java-arendajatele
  • 0 kuni 1: Java struktuurid ja algoritmid
  • Andmete struktuur ja algoritmide analüüs - tööintervjuu

Lõpumärkused

Aitäh. Sa jõudsid artikli lõpuni. Edu programmeerimisreisil! Kindlasti ei saa see olema lihtne, kuid neid kursusi läbides olete teistest sammu võrra lähemal andmestruktuuri ja algoritmide valdamisele.

Kui teile see artikkel meeldib, siis jagage palun oma sõprade ja kolleegidega ning ärge unustage Twitteris javinpauli jälgida!