Hoe u beter kunt worden in Javascript-algoritmen

Hoe schrijfalgoritmen te leren

Schrijfalgoritmen kunnen overweldigend zijn, zelfs voor de meest ervaren ontwikkelaar. Velen van hen onthouden alle verschillende benaderingen van een bepaald probleem. Maar wat als we in plaats daarvan kijken naar een begeleid diagram van hoe we naar een probleem kunnen kijken, zodat we het kunnen oplossen?

Dit artikel onderzoekt algoritmen: wat zijn ze, waar worden ze voor gebruikt? en hoe u algoritmen kunt leren schrijven.

Wat is een algoritme?

Een algoritme is een reeks instructies. Als je een algoritme vergelijkt met een recept, kun je zien hoe een algoritme eruitziet:


Hamburgerrecept

Bereidingstijd: 10 min

Invoer:

Ingrediënten [] - een lijst met artikelen die de naam van het artikel en de hoeveelheid noodzakelijke bevatten em>

Bijvoorbeeld: [{name: " beef, 85/15 ", hoeveelheid: "2 lb" }, {name : "Amerikaanse kaas, Hoeveelheid:" 8 plakjes "}, Etc.]

Routebeschrijving [] - een lijst met strings die de stappen beschrijven om de hamburgers af te maken en te presenteren aan hongerige eters

Bijvoorbeeld: ["Gooi het vlees weg en verdeel het in 8 verschillende secties ‚"," Rol de secties in een bal ‚"," Maak elke bal plat tot een schijfvorm. Alle schijven moeten dezelfde grootte hebben, "etc.]

Opbrengst: 8 porties


Een algoritme, wanneer het in code is geschreven, gaat ervan uit dat u ten minste één programmeertaal en de populaire methoden, de gegevensstructuren en het gebruik ervan kent. Het concept is vergelijkbaar met hoe een recept ervan uitgaat dat je bepaalde kookmethodes kent en hoe je keukenaccessoires moet gebruiken.

Een algoritme heeft een invoer en een uitvoer. Het resultaat (groot probleem oplossen) komt voort uit het onderweg oplossen van kleine problemen.

Waar dient een algoritme voor?

Algoritmen worden overal gebruikt omdat ze problemen oplossen. computer- en webontwikkeling ze worden gebruikt bij het schrijven van code om de computer te vertellen iets te doen.

Als we bijvoorbeeld een lijst met namen hadden, kunnen we een sorteeralgoritme gebruiken zoals bubble sort naar sorteer namen op voor- of achternaam. We kunnen ook een binair zoekalgoritme gebruiken om naar een naam in dezelfde lijst te zoeken. Dit zijn slechts enkele van de standaardalgoritmen waarvan u kunt profiteren.

Houd er rekening mee dat je nooit echt klaar bent met het leren schrijven van algoritmen na het voltooien van een cursus & ndash; je wordt alleen maar beter. We zullen in het volgende gedeelte een manier zien om je dichter bij het schrijven van algoritmen te brengen.

Hoe u een algoritme leert schrijven: stap voor stap

Hier zijn de aanbevolen stapsgewijze tips voor het leren schrijven van algoritmen.

1. Leer een programmeertaal
Java, JavaScript en Python zijn allemaal populaire talen ‚Äã‚Ä ãgebruikt om computeralgoritmen te schrijven. Kies een taal en leer deze van binnen en van buiten.

Neem deze concepten op in uw begrip van de taal die u kiest:

2. Datastructuren

U moet een goede beheersing van gegevensstructuren hebben om uw algoritmen efficiënter te maken. Zorg ervoor dat u weet waar elke gegevensstructuur voor dient en hoe deze werkt.

3. Schrijfalgoritmen: het proces voor het oplossen van problemen

Je hebt een basisprogrammeertaal en voldoende gegevensstructuren geleerd om aan de slag te gaan. Gefeliciteerd ! Ga aan de slag.

Begin klein. Het is belangrijk om de vier concepten in George Pòlya`s verhandeling over het oplossen van problemen te begrijpen (zie Bronnen . Ook hier zijn enkele stappen toegevoegd om ook de algemene aanpak te analyseren:

George Pòlya`s gids voor het oplossen van problemen

  1. Het probleem begrijpen
  2. Waar ben je naar op zoek?
  3. Neem het probleem en leg het uit met je eigen woorden - probeer iemand uit te leggen dat ze technisch niet goed zijn.
  4. Voer trefwoorden voor het probleem in om je te helpen een basisplan op te stellen - geen code. Alleen de stappen die nodig zijn om een antwoord te krijgen.
  5. li>
  6. Herhaal dit plan om een code-oplossing te maken.
    1. Als u geen oplossing kunt vinden, gaat u terug naar stap nr. Zorg ervoor dat u het probleem begrijpt. Geeft u de juiste uitvoer terug? Is is er iets dat je misschien hebt gemist in de coderingsprompt?
  7. Wat is de Big O-classificatie van uw oplossing? Er is iets dat u kunt doen om van de oplossing een efficiënter algoritme te maken met verwijzing naar ruimtelijke complexiteit of tijdscomplexiteit ?

4. Begin klein

Het begint met een basiszoekalgoritme dat een reeks of array doorloopt om een item te vinden. Als het item niet wordt gevonden, wordt false geretourneerd. Als het wordt gevonden, retourneert het waar.

Ontwikkel dit algoritme voor beginners en gebruik andere gegevensstructuren om te zien hoe anderen een ander proces nodig hebben. Probeer de items te sorteren om efficiëntere zoekalgoritmen te gebruiken.

Gebruik sites om algoritmen te oefenen, zoals die vermeld in de sectie bronnen, om uw vaardigheden te verbeteren.

5. Overschakelen naar moeilijkere algoritmen

strong>

Na verschillende iteraties kunt u overschakelen naar moeilijkere algoritmen. Op dit punt zou u enkele van de sorteeralgoritmen opnieuw moeten kunnen maken, inclusief bellensorteren en samenvoegen. Binair onderzoek zou ook deel moeten uitmaken van uw dagelijkse programmeerervaring.

Blijf sites gebruiken om algoritmen te oefenen om uw vaardigheden te verbeteren. Test jezelf met iets moeilijker gelabelde problemen om te zien hoe het je vergaat.

De beste cursussen en training over algoritmen

Iedereen leert een beetje anders. Hier zijn enkele van de beste algoritmische cursussen en trainingen die beschikbaar zijn. Sommige zijn betaald, maar er zijn ook gratis. Deze lijst is in willekeurige volgorde.

Online algoritmencursussen

Hier zijn enkele van de beste algoritmecursussen die online beschikbaar zijn:

Specialisatie in algoritmen, Stanford University

Professor Tim Roughgarden van Stanford University geeft graduate cursussen in algoritmen op Coursera. Deze cursussen behandelen vrijwel alles wat je nodig hebt om een goed begrip van algoritmen te hebben, zodat je het goed kunt doen in technische interviews.

Algoritmen, IIT Bombay

Deze cursus maakt deel uit van het IIT Bombay Fundamentals of Computer Science XSeries-programma. Onderwerpen die hier worden behandeld, zijn onder meer sorteren en zoeken, getalalgoritmen, tekenreeksalgoritmen, geometrische algoritmen en grafische algoritmen.

Gratis cursussen over algoritmen

Inleiding tot algoritmen

Dit is een gratis spoedcursus over algoritmen door Michael Littman van Udacity. Gebruik de Six Degrees of the Kevin Bacon Phenomenon om te laten zien hoe algoritmen werken. Denk aan de zes graden van scheiding - er is gezegd dat ze allemaal zes of minder sociale banden van elkaar zijn. Gebruik hetzelfde concept, maar dan met de films en acteurs van Kevin Bacon.

FreeCodeCamp, basis algoritmescript

Deze reeks FreeCodeCamp-oefeningen zal u helpen slagen door kleine problemen op te lossen voordat u doorgaat naar de lastige. Oefeningen in uw eigen tempo gebruiken het FreeCodeCamp-leerplatform om uw code te testen.

A visuele introductie tot algoritmen

In deze gratis cursus worden visuele en videohulpmiddelen gebruikt om te illustreren hoe algoritmen werken. De geïntegreerde code-omgevingen maken de gebruikerservaring behoorlijk goed. Mogelijke oplossingen zijn inbegrepen.

Algoritmeboeken

Er zijn verschillende boeken die u kunnen helpen op uw reis om een betere algoritmeschrijver te worden. Veel hiervan zijn verkrijgbaar bij een plaatselijke boekhandel en op Amazon.

`Grokking-algoritmen`

` Een geïllustreerde gids voor programmeurs en nieuwsgierigen `

Door Aditya Bhargava

Cover Grokking algoritmen

Grokking Algorithms is een van de beste boeken over gedrukte algoritmen. Gemaakt door een kunstenaar die softwareontwikkelaar is geworden, hanteert Bhargava een geïllustreerde benadering om u te helpen algoritmen intuïtief te begrijpen of te gebruiken. De oefeningen aan het einde van elk hoofdstuk helpen de inhoud van het boek te consolideren.

`Algoritmen in een notendop , 2e ed. `

` Een praktische gids `

Door George T. Heineman, Gary inch, Stanley Selkow

 Algorithms in het kort Cover of

Dit boek gebruikt een modelgebaseerde benadering van ontwerpen om leer wanneer u gedolven algoritmen moet implementeren. Je leert de oplossingen te coderen en vervolgens te verbeteren met behulp van geavanceerde datastructuren. De oplossingen zijn in Ruby, Java, C ++ en C, maar zijn gemakkelijk te vertalen naar uw favoriete talen.

`Algoritmen, 4e druk. `

Door Robert Sedgwick en Kevin Wayne

 Algorithms vierde editie dekking

De vierde editie van de Sedgewick en Wayne-algoritmen is een fantastische introductie in de wereld van algoritmen. De auteurs beoordelen meer dan 50 van de belangrijkste algoritmen om u op te laten vallen.Princeton-docenten hebben online een ontwikkeld cursus die deze tekst goed aanvult.

Bron

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method