Suosikkikurssini, jolla opitaan tietorakenteita ja algoritmeja perusteellisesti

Tietorakenteet ja algoritmit ovat tärkeimpiä aiheita ohjelmoijille sekä työn saamiseksi että työn tekemiseksi hyvin. Hyvä tietorakenteiden ja algoritmien tuntemus on hyvän koodin kirjoittamisen perusta.

Jos olet perehtynyt olennaisiin tietorakenteisiin, kuten taulukko, merkkijono, linkitetty luettelo, puu, kartta ja edistyneet tietorakenteet, kuten kokeilut, ja itsestään tasapainotetut puut, kuten AVL-puut, tiedät, milloin tietorakennetta ja Laske koodisi suorittimen ja muistin hinta.

Vaikka sinun ei tarvitse kirjoittaa omaa taulukkoasi, linkitettyä luetteloasi tai hashtabettiasi, jokaisen suuren ohjelmoivan SDK: n, esimerkiksi JDK- tai C ++ STL -kirjaston, tarjoamat tiedot, sinun on ymmärrettävä ne, jotta voit käyttää niitä oikeassa paikassa .

Oikean tietorakenteen käyttö voi parantaa huomattavasti algoritmin suorituskykyä.

Ihannetapauksessa meidän kaikkien tulisi oppia tietorakenteet ja algoritmit kouluissamme ja korkeakouluissamme, mutta niitä ei koskaan käsitellä. Suurin osa ohjelmoijista, mukaan lukien minä, tutustuvat tietorakenteeseen vain tietojenkäsittelytieteen kursseillamme, mutta emme todellakaan oppineet niiden todellista merkitystä, ja siksi emme ymmärtäneet niitä paremmin.

Meille ne ovat vain algoritmeja ja tietorakenteita, esim. Jokin käsite, ei työkalu, jolla voit kirjoittaa hyviä ohjelmia. Emme tienneet, että Facebook käyttää niitä tietojen säilyttämiseen tai että Google käyttää niitä verkkosivujen tallentamiseen ja linkittämiseen hakulausekkeisiin.

Joka tapauksessa, ei ole koskaan liian myöhäistä.

Jos luulet, että tietorakennetietosi eivät ole par-tasoisia tai haluat parantaa tietorakennetietoasi, olet tullut oikeaan paikkaan.

Aiemmin jaoin joitain ilmaisia ​​kirjoja tietorakenteiden ja algoritmien oppimiseksi, ja tässä artikkelissa opit parhaista tietorakenne- ja algoritmikursseista, jotka ovat saatavilla ilmaiseksi verkossa.

Ilmaisia ​​kursseja tietorakenteiden ja algoritmien oppimiseksi

Tässä on luettelo parhaista kursseista tietorakenteiden ja algoritmien oppimiseksi, jotka ovat myös ilmaisia. Monet ohjelmoijat ajattelevat, että vapaat resurssit eivät ole hyviä, mikä ei ole totta.

Vaikka ne eivät joskus vastaa maksettujen resurssien laatua ja kattavuutta, ne ovat itse asiassa parhaat resurssit alkuun.

Näiden kurssien avulla voit tutustua olennaisiin tietorakenteisiin ja oppia joitain perusteita.

Jotkut heistä ovat erityisen hyviä haastattelun kannalta, joten voit käyttää niitä minkä tahansa kirjan rinnalla, jota käytät valmistautuessasi ohjelmointityöhaastatteluun.

Kurssi # 1: Tietorakenteen käsitteet C.

Tämä on toinen ilmainen online-algoritmi- ja tietorakennekoulutuskurssi, jonka tarkoituksena on opettaa perustietorakenteita tietokoneohjelmoinnissa.

Kurssilla opetetut tietorakenteet sisältävät pinon, jonon ja linkitetyn luettelon C-ohjelmointikielellä.

Kurssin ensisijainen tavoite on saada opiskelijat ja ohjelmistoinsinöörit visualisoimaan, miten erilaiset tietorakenteet toimivat.

Tämä ei ole tyhjentävä kurssi, mutta opit pinosta, jonosta ja linkitetystä luettelosta.

Lyhyesti sanottuna se on loistava kurssi ohjelmoijille, jotka ovat uusia tietorakenteille, ja niille, jotka ovat juuri oppineet ohjelmointikielen ja haluavat oppia tietorakenteiden toiminnan perusteet.

Kurssi # 2: Algoritmit, osa 1 - Coursera

Tämä on Robert Sedgewickin kaksiosainen kurssisarja, joka kattaa Coureran algoritmit ja tietorakenteet.

Tässä osassa opit välttämättömät tietorakenteet, kuten linkitetyt luettelot, pinot, jonot, binaariset puut ja hash-taulukot, sekä haku- ja lajittelualgoritmit, kuten binaarihaku, pikalajittelu, mergesort, lisäyslajittelu jne.

Opit myös päivittäisissä sovelluksissa käytetyistä perustietorakenteista ja algoritmeista sekä ymmärrät kompromisseja, jotka liittyvät kunkin tietorakenteen valintaan sekä läpikulku-, haku- ja päivitysalgoritmeihin.

Kaikki tämän kurssin ominaisuudet ovat käytettävissä ilmaiseksi, mutta se ei tarjoa todistusta suoritettuaan.

Kurssi # 3: Algoritmit - osa 2

Tämä on toinen osa kahden osan ilmaisista Coursera-kursseista, jotka kattavat tietotekniikan professorit Robert Sedgewickin ja Kevin Waynen tietorakenteet ja algoritmit.

Robert Sedgewick on myös kirjoittanut Algorithms 4th Edition -kirjan, joka on yksi suosituimmista algoritmeja koskevista kirjoista Java-kehittäjille.

Tässä osassa opit kaavioiden ja merkkijonojen käsittelyalgoritmeista.

Opit myös joitain kehittyneitä tietorakenteita ja algoritmeja, joita käytetään sovelluskehityksessä.

Sosiaalisesta todistuksesta puhuen, sekä algoritmit osa 1 että algoritmit osa 2 ovat erittäin suositeltavia kursseja, ja niillä on vaikuttavat arvostelut ja arvosanat.

Kurssi # 4. Tietorakenteet Javassa

Tämä on alustava online-kurssi tietorakenteista, algoritmeista ja monimutkaisuusanalyyseistä. Se opettaa sinulle perustietorakenteiden suunnittelun, toteutuksen ja analyysit Java-kieltä käyttäen.

Kurssin paras osa on käytännön esimerkkien määrä ja että se keskittyy intuitioon eikä kaavoihin ja matemaattisiin todisteisiin.

Kurssi tarjoaa hyvän johdannon "monimutkaisuusanalyysiin", mikä antaa mahdollisuuden havaita heikosti (ja hyvin) toimiva ohjelma, jopa ilman tarvetta suorittaa sitä.

Siinä kaikki verkossa olevista ilmaisista tietorakenteista ja algoritmikursseista . Näiden kurssien avulla voit oppia tietorakenteita ja algoritmeja omaan tahtiisi.

Kaikki eivät välttämättä ole kattavia, mutta tarjoavat kuitenkin hyvän esittelyn. Kun olet käynyt nämä kurssit, voit valita hyvän kirjan, kuten Johdatus algoritmeihin , täydentämään tietosi.

Kurssi # 5. Helppo edistyneisiin tietorakenteisiin

Päivitys: tämä kurssi ei ole enää ilmainen, mutta se on hieno kurssi ja voi olla sen arvoinen sinulle. Tämä Udemyn tietorakenne- ja algoritmikurssi on tarkoitettu kaikille ihmisille, jotka haluavat oppia tietorakenteita absoluuttisesta perustasosta edistyneelle tasolle.

Tämä kurssi ei odota teiltä mitään ennakkotietoa tietorakenteista, mutta Java-perustiedot ovat hyödyllisiä.

Kirjoittaja @William Fiset on Googlen ohjelmistosuunnittelija ja entinen ACM-ICPC -finalisti, jolla on erinomaiset ohjelmointi- ja ongelmanratkaisutaidot.

Kurssilla on yli 25 000 opiskelijaa ja keskimäärin 4,1 luokitusta 683-luokituksesta, mikä on vaikuttava.

Lyhyesti sanottuna se on täydellinen opas kaiken tietorakenteista tiedettävän oppimiseen.

Tämä on myös ihanteellinen kurssi tietojenkäsittelytieteen opiskelijoille ja työskenteleville ohjelmistoalan ammattilaisille, jotka haluavat oppia tietorakenteita ja algoritmeja haastattelun näkökulmasta.

Joten, jos haluat saada työtä tuotepohjaisten yritysten, kuten Amazon, Google, Microsoft tai Facebook, kanssa, voit käyttää tätä kurssia aloittaaksesi valmistelut.

Lisäopiskelu

  • Tietorakenteet ja algoritmit: Syvä sukellus Java-sovelluksella
  • Tietorakenne ja algoritmit - osat 1 ja 2
  • 10 kirjaa teknisen ohjelmoinnin valmisteluun / työhaastattelujen koodaamiseen
  • 10 algoritmikirjaa, jotka jokaisen ohjelmoijan tulisi lukea
  • Viisi parasta tietorakenne- ja algoritmikirjaa Java-kehittäjille
  • 0-1: Tietorakenteet ja algoritmit Java: ssa
  • Tietorakenne ja algoritmien analyysi - työhaastattelu

Päätelmät

Kiitos. Teit sen artikkelin loppuun. Onnea matkan suunnittelussa! Se ei todellakaan tule olemaan helppoa, mutta seuraamalla näitä kursseja olet yksi askel lähempänä tietorakenteen ja algoritmien hallintaa kuin muut.

Jos pidät tästä artikkelista, jaa ystävillesi ja kollegoillesi, älä unohda seurata javinpaulia Twitterissä!