Mine foretrukne gratis kurser til at lære datastrukturer og algoritmer i dybden

af javinpaul

Datastrukturer og algoritmer er nogle af de mest essentielle emner for programmører, både for at få et job og for at klare sig godt i et job. Godt kendskab til datastrukturer og algoritmer er grundlaget for at skrive god kode.

Hvis du er bekendt med væsentlige datastrukturer, f.eks. array, string, linked list, tree, map, og avancerede datastrukturer som tries, og selvbalancerede træer som AVL-træer, osv, vil du vide, hvornår du skal bruge hvilken datastruktur og beregne CPU- og hukommelsesomkostningerne ved din kode.

Selv om du ikke behøver at skrive dit eget array, linked list eller hashtable, da alle større programmerings-SDK’er indeholder dem, f.eks. JDK eller C++ STL-biblioteket, skal du forstå dem, så du kan bruge dem på det rigtige sted.

Brug af den rigtige datastruktur kan drastisk forbedre en algoritmes ydeevne.

I virkeligheden burde vi alle lære datastrukturer og algoritmer i vores skoler og gymnasier, men det bliver sjældent dækket. De fleste programmører, inklusive mig selv, bliver kun introduceret til en datastruktur i vores datalogi kurser, men vi lærte ikke rigtig den reelle betydning af dem, og derfor forstod vi dem ikke bedre.

For os er de bare algoritmer og datastrukturer f.eks. et eller andet koncept, ikke et værktøj, som man kan bruge til at skrive gode programmer. Vi vidste ikke, at Facebook ville bruge dem til at gemme vores oplysninger, eller at Google ville bruge dem til at gemme websider og linke til søgeforespørgsler.

Det er alligevel aldrig for sent.

Hvis du mener, at din viden om datastrukturer ikke er i orden, eller hvis du ønsker at forbedre din viden om datastrukturer, så er du kommet til det rette sted.

Tidligere delte jeg nogle gratis bøger til at lære datastrukturer og algoritmer, og i denne artikel vil du lære om nogle af de bedste datastruktur- og algoritmekurser, der er tilgængelige gratis online.

Gratis kurser til at lære datastrukturer og algoritmer

Her er min liste over nogle af de bedste kurser til at lære datastrukturer og algoritmer, som også er gratis. Mange programmører tror, at gratis ressourcer ikke er gode, hvilket ikke er sandt.

Selv om de nogle gange ikke matcher kvaliteten og dækningen af betalte ressourcer, er de faktisk de bedste ressourcer at starte med.

Du kan bruge disse kurser til at gøre dig bekendt med de væsentlige datastrukturer og lære nogle grundlæggende ting.

Nogle af dem er særligt gode ud fra et interviewperspektiv, så du kan bruge dem sammen med en hvilken som helst bog, du bruger til at forberede dig til din jobsamtale i programmering.

Kursus #1: Data Structure Concepts in C

Dette er endnu et gratis, online kursus i algoritme- og datastrukturer, som har til formål at lære grundlæggende datastrukturer i computerprogrammering.

De datastrukturer, der undervises i på kurset, omfatter Stack, Queue og Linked List ved hjælp af programmeringssproget C.

Det primære mål med dette kursus er at få studerende og softwareingeniører til at visualisere, hvordan forskellige datastrukturer fungerer.

Datastrukturer Koncepter i C

Det er ikke et udtømmende kursus, men du vil lære om Stack, Queue og Linked List.

Kort sagt er det et godt kursus for programmører, der er nybegyndere inden for datastrukturer, og dem, der lige har lært et programmeringssprog og ønsker at lære det grundlæggende om, hvordan datastrukturer fungerer.

Kursus nr. 2: Algoritmer del 1 – Coursera

Dette er første del af en todelt kursusrække, der dækker algoritmer og datastrukturer på Coursera af Robert Sedgewick.

I denne del vil du lære væsentlige datastrukturer som linkede lister, stakke, køer, binære træer og hashtabeller samt søge- og sorteringsalgoritmer som binær søgning, quicksort, mergesort, insertionssortering osv.

Algoritmer del 1

Du vil også lære om centrale datastrukturer og algoritmer, der anvendes i dagligdags applikationer, og forstå de afvejninger, der er involveret i valget af hver datastruktur sammen med traversal-, hentnings- og opdateringsalgoritmer.

Alle funktioner i dette kursus er tilgængelige gratis, men det giver ikke et certifikat efter afslutning.

Kursus nr. 3: Algoritmer – Del 2

Dette er anden del af en todelt serie af gratis online Coursera-kurser, der dækker datastrukturer og algoritmer, af Robert Sedgewick og Kevin Wayne, der begge er professorer i datalogi.

Robert Sedgewick er også forfatter til bogen Algorithms 4th Edition, en af de mest populære bøger om algoritmer for Java-udviklere.

I denne del vil du lære om algoritmer til graf- og strengbehandling.

Du vil også lære nogle avancerede datastrukturer og algoritmer, der bruges i applikationsudvikling.

Som vi taler om det sociale bevis, er både Algorithms Part 1 og Algorithms Part 2 stærkt anbefalede kurser og har imponerende anmeldelser og vurderinger.

Algoritmer – Del 2

Kursus #4. Datastrukturer i Java

Dette er et indledende onlinekursus om datastrukturer, algoritmer og kompleksitetsanalyser. Det vil lære dig design, implementering og analyser af grundlæggende datastrukturer ved hjælp af sproget Java.

Det bedste ved dette kursus er antallet af praktiske eksempler, og at det fokuserer på intuition snarere end på formler og matematiske beviser.

Datastruktur i Java

Kurset giver en god introduktion til “kompleksitetsanalyse”, som gør det muligt at spotte et dårligt (og et godt) præsterende program, selv uden at det er nødvendigt at udføre det.

Det er alt om nogle af de gratis kurser i datastruktur og algoritmer, der er tilgængelige online. Du kan bruge disse kurser til at lære datastrukturer og algoritmer i dit eget tempo.

De er måske ikke alle omfattende, men de giver en god introduktion. Når du har gennemgået disse kurser, kan du vælge en god bog som Introduction to Algorithms for at supplere din viden yderligere.

Kursus #5. Easy to Advanced Data Structures

Opdatering: Dette kursus er ikke længere gratis, men det er et godt kursus, og det kan være det værd for dig. Dette datastruktur- og algoritmekursus fra Udemy er for alle de mennesker, der ønsker at lære datastrukturer fra et absolut grundlæggende til avanceret niveau.

Dette kursus forventer ikke, at du har nogen forudgående viden om datastrukturer, men et grundlæggende forudgående kendskab til Java er nyttigt.

Forfatteren @William Fiset er softwareingeniør hos Google og tidligere ACM-ICPC verdensfinalist og har fremragende computerprogrammering og problemløsningsevner.

Talking about social proof, kurset har mere end 25K studerende og en gennemsnitlig 4.1 ratings fra 683 rating, hvilket er imponerende.

Kort sagt er det en komplet guide til at lære alt, hvad der er værd at vide om datastrukturer.

Easy to Advanced Data Structures

Det er også et ideelt kursus for datalogistuderende og arbejdende softwareprofessionelle, der ønsker at lære datastrukturer og algoritmer fra et interviewperspektiv.

Så hvis du ønsker at få et job i produktbaserede virksomheder som Amazon, Google, Microsoft eller Facebook, kan du bruge dette kursus til at kickstarte din forberedelse.

Videregående læring

  • Datastrukturer og algoritmer: Deep Dive Using Java
  • Datastruktur og algoritmer – del 1 og 2
  • 10 bøger til forberedelse af jobsamtaler om teknisk programmering/kodning
  • 10 algoritmebøger, som enhver programmør bør læse
  • Top 5 datastruktur- og algoritmebøger for Java-udviklere
  • Fra 0 til 1: Datastrukturer & Algoritmer i Java
  • Analyse af datastruktur og algoritmer – jobsamtale

Sluttende noter

Tak. Du nåede frem til slutningen af artiklen. Held og lykke med din programmeringsrejse! Det bliver bestemt ikke let, men ved at følge disse kurser er du et skridt tættere på at mestre datastruktur og algoritmer end andre.

Hvis du kan lide denne artikel, så del den med dine venner og kolleger, og glem ikke at følge javinpaul på Twitter!

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.