Come Migliorare Con Gli Algoritmi Javascript

Come imparare gli algoritmi di scrittura

Gli algoritmi di scrittura possono essere travolgenti, anche per lo sviluppatore più esperto. Molti di loro memorizzano tutti i diversi approcci a un particolare problema. Tuttavia, cosa succede se invece guardiamo un diagramma guidato su come esaminare un problema in modo da poterlo risolvere?

Questo articolo esamina gli algoritmi: cosa sono, a cosa servono le risorse e come iniziare a imparare a scrivere algoritmi.

Cos`è un algoritmo?

Un algoritmo è un insieme di istruzioni. Se confronti un algoritmo con una ricetta, puoi vedere come appare un algoritmo:


Ricetta hamburger

Tempo di preparazione: 10 min

Input:

Ingredienti [] - un elenco di articoli che contengono il nome dell`articolo e la quantità necessaria

Es: [{nome: " manzo, 85/15 ", quantità: "2 libbre" }, {nome : "formaggio americano, quantità:" 8 fette "}, ecc.]

Indicazioni [] - un elenco di stringhe che descrivono i passaggi per finire e presentare gli hamburger ai mangiatori affamati

Es: ["Getta la carne e separala in 8 diverse sezioni ‚"," Arrotola le sezioni in una palla ‚"," Appiattisci ciascuna pallina a forma di disco. Tutti i dischi devono essere della stessa dimensione, "ecc.]

Resa: 8 porzioni


An algoritmo, quando scritto nel codice, presuppone che tu conosca almeno un linguaggio di programmazione e i suoi metodi popolari, le sue strutture dati e come usarlo. Il concetto è simile a come una ricetta presuppone che tu conosca determinati metodi di cottura e come utilizzare gli accessori da cucina.

Un algoritmo ha un input e un output. Il risultato (risoluzione di un grosso problema) deriva dalla risoluzione di piccoli problemi lungo il percorso.

A cosa serve un algoritmo?

Gli algoritmi sono usati ovunque perché risolvono problemi. computer e sviluppo web vengono utilizzati durante la scrittura di codice per dire al computer di fare qualcosa.

Se avessimo un elenco di nomi, ad esempio, possiamo utilizzare un algoritmo di ordinamento come bubble sort per ordina i nomi in base al nome o al cognome. Possiamo anche utilizzare un algoritmo di ricerca binaria per cercare un nome in questo stesso elenco. Questi sono solo alcuni degli algoritmi standard che puoi sfruttare.

Tieni presente che non hai mai veramente finito di imparare a scrivere algoritmi dopo aver completato un corso e ndash; semplicemente migliorerai. Vedremo un modo per avvicinarti alla scrittura di algoritmi nella prossima sezione.

Come imparare a scrivere un algoritmo: passo dopo passo

Ecco i suggerimenti passo passo consigliati per imparare a scrivere algoritmi.

1. Impara un linguaggio di programmazione
Java, JavaScript e Python sono tutti linguaggi popolari ‚Äã‚Ä ãusato per scrivere algoritmi informatici. Scegli una lingua e imparala a fondo.

Incorpora questi concetti nella tua comprensione della lingua che scegli:

  • Tipi di dati - Numero, booleano , stringhe
  • Variabili
  • Condizionale - affermazioni if-else, affermazioni ternarie
  • Funzioni - funzioni anonime, con nome e di ordine superiore
  • Oggetti - essere in grado di creare oggetti, manipolare oggetti e utilizzare metodi oggetto
  • Array o liste - essere in grado di creare array/liste, manipolarli e utilizzare i metodi associati
  • Loop - entrambi tradizionali per loop e array / metodi di elenco avanzati
  • Classi

2. Strutture dati

Devi avere una buona padronanza delle strutture dati per rendere i tuoi algoritmi più efficienti . Assicurati di sapere a cosa serve ogni struttura di dati e come funziona.

  • Tabelle/elenchi. Scopri come manipolare un array/elenco e qual è la O maiuscola dei diversi metodi di inserimento, eliminazione e recupero. È importante sapere come funzionano gli array/le liste nascoste per poter comprendere la complessità temporale e spaziale di un algoritmo.
  • Elenco collegato . Per essere in grado di spiegare lo scopo di un elenco collegato e come differisce da un array. Dovresti anche conoscere la Big O dai suoi metodi comuni.
  • Tabella hash. Comprendi come funziona una tabella hash e qual è la O grande quando lavori con una tabella hash.
  • Stack / code . Essere in grado di discutere le differenze e le somiglianze tra uno stack e una coda e quali strutture di dati possono essere utilizzate per questo tipo speciale di dati astratti.
  • Alberi . L`uso degli alberi per ridurre il tempo di esecuzione di un algoritmo è un buon metodo. Gli alberi binari sono uno strumento molto popolare nella manipolazione degli algoritmi.
  • Grafici. Che cosa potrebbe rappresentare la grafica e perché la grafica potrebbe essere utilizzata nella creazione di un algoritmo.

3. Algoritmi di scrittura: il processo di risoluzione dei problemi

Hai imparato un linguaggio di programmazione di base e strutture di dati sufficienti per iniziare. Congratulazioni! Inizia.

Inizia in piccolo. È importante comprendere i quattro concetti nel trattato di George Pòlya sulla risoluzione dei problemi (vedi Risorse . Anche in questo caso sono stati aggiunti alcuni passaggi per analizzare il suo approccio generale:

George Pòlya guida alla risoluzione dei problemi

  1. Capire il problema
  2. Cosa stai cercando?
  3. Prendi il problema e spiegalo con le tue stesse parole, prova a spiegare a qualcuno che tecnicamente non è bravo.
  4. Inserisci le parole chiave del problema per aiutarti a costruire un piano di base: nessun codice. Solo i passaggi necessari per ottenere una risposta.
  5. Ripeti questo piano per creare una soluzione di codice.
    1. Se non riesci a trovare una soluzione, torna al passaggio n. assicurati di aver compreso il problema. Stai restituendo l`output corretto? c`è qualcosa che potresti esserti perso nel prompt di codifica?
  6. Qual è la valutazione Big O della vostra soluzione? C`è qualcosa che puoi fare per rendere la soluzione un algoritmo più efficiente con riferimento alla complessità spaziale o complessità temporale ?

4. Inizia in piccolo

Inizia con un algoritmo di ricerca di base che scorre una stringa o un array per trovare una voce. Se la voce non viene trovata, restituisce false. Se viene trovato, restituisce true.

Sviluppare questo algoritmo per principianti e utilizzare altre strutture di dati per vedere come altri potrebbero aver bisogno di un processo diverso. Prova a ordinare le voci per utilizzare algoritmi di ricerca più efficienti.

Utilizza i siti per esercitarti con algoritmi come quelli elencati nella sezione delle risorse per migliorare le tue abilità.

5. Passa ad algoritmi più difficili

strong>

Dopo diverse iterazioni, puoi passare ad algoritmi più difficili. A questo punto, dovresti essere in grado di ricreare alcuni degli algoritmi di ordinamento, inclusi l`ordinamento a bolle e l`ordinamento unione. Anche la ricerca binaria dovrebbe far parte della tua esperienza di programmazione quotidiana.

Continua a utilizzare i siti per esercitarti con gli algoritmi per migliorare le tue abilità. Mettiti alla prova con problemi etichettati leggermente più difficili per vedere come te la cavi.

I migliori corsi e formazione sugli algoritmi

Ognuno impara in modo leggermente diverso. Ecco alcuni dei migliori corsi e training algoritmici disponibili. Alcuni sono a pagamento, ma ce ne sono anche di gratuiti. Questo elenco non è in un ordine particolare.

Corsi di algoritmi online

Ecco alcuni dei migliori corsi di algoritmi disponibili online:

Specializzazione in algoritmi, Stanford University

  • Coursera
  • 4 corsi:
    • Dividi per regola, ordina e cerca e algoritmi casuali
    • Ricerca grafica, percorsi più brevi e strutture dati
    • Algoritmo avido, alberi di copertura minima e pianificazione dinamica
    • Percorsi più brevi rivisitati, problemi NP-Completi e cosa fare sulla loro materia
  • 4 mesi
  • Prerequisiti: Il corso è indipendente dalla lingua, ma presuppone che tu conosca almeno un linguaggio di programmazione, dati di base e matematica sufficiente per sapere quali sono le prove.
  • Certificato: $ 49 / mese fino al completamento; Audit: GRATUITO

Il professor Tim Roughgarden della Stanford University insegna corsi di laurea in Algoritmi su Coursera. Questi corsi tratteranno praticamente tutto ciò di cui hai bisogno per avere una buona comprensione degli algoritmi in modo da poter fare bene nei colloqui tecnici.

Algoritmi, IIT Bombay

  • edX
  • 6 settimane, 6-8 ore / settimana
  • Prerequisiti: Conoscenza di base delle strutture dati
  • Certificato verificato: $ 149; Nessun certificato: GRATIS

Questo corso fa parte del programma IIT Bombay Fundamentals of Computer Science XSeries. Gli argomenti trattati qui includono ordinamento e ricerca, algoritmi numerici, algoritmi di stringa, algoritmi geometrici e algoritmi grafici.

Corsi gratuiti sugli algoritmi

Introduzione agli algoritmi

  • Udacity
  • California. 4 mesi, autodidatta
  • Prerequisiti: almeno un linguaggio di programmazione; Il corso utilizza Python negli esempi
  • GRATIS

Questo è un corso intensivo gratuito sugli algoritmi di Michael Littman di Udacity. Usa i sei gradi del fenomeno Kevin Bacon per mostrare come funzionano gli algoritmi. Pensa ai sei gradi di separazione: è stato detto che tutti sono sei o meno legami sociali separati l`uno dall`altro. Usa lo stesso concetto ma con i film e gli attori di Kevin Bacon.

FreeCodeCamp, script algoritmo di base

  • FreeCodeCamp
  • Autoapprendimento
  • Prerequisito: conoscenza di base di JavaScript e dati
  • GRATIS

Questa serie di esercizi di FreeCodeCamp ti aiuterà a risolvere piccoli problemi prima di passare a quelli difficili. Gli esercizi di autoapprendimento utilizzano la piattaforma di apprendimento FreeCodeCamp per testare il tuo codice.

A introduzione visiva agli algoritmi

  • Didattico
  • Autoapprendimento, principalmente basato su testo ed esempi
  • Prerequisiti: JavaScript, Python, C ++ o Java
  • GRATIS

In questo corso gratuito vengono utilizzati ausili visivi e video per illustrare come funzionano gli algoritmi. Gli ambienti di codice integrati rendono l`esperienza dell`utente abbastanza buona. Sono incluse potenziali soluzioni.

Libri di algoritmi

Ci sono diversi libri che ti aiutano nel tuo viaggio per diventare uno scrittore di algoritmi migliore. Molti di questi sono disponibili in una libreria locale e su Amazon.

`Algoritmi di Grokking`

` Una guida illustrata per programmatori e curiosi `

Di Aditya Bhargava

algoritmi di copertura Grokking

Grokking Algorithms è uno dei migliori libri sugli algoritmi stampati. Creato da un artista diventato sviluppatore di software, Bhargava adotta un approccio illustrato per aiutarti a comprendere o utilizzare in modo intuitivo algoritmi. Gli esercizi alla fine di ogni capitolo aiutano a consolidare il contenuto del libro.

`Algoritmi in breve , 2nd ed. `

` Una guida pratica `

Di George T. Heineman, Gary inch, Stanley Selkow

 Algoritmi in breve cover di

Questo libro adotta un approccio basato su modelli alla progettazione per impara quando implementare algoritmi estratti. Imparerai a codificare le soluzioni e quindi a migliorarle utilizzando strutture di dati avanzate. Le soluzioni sono in Ruby, Java, C++ e C, ma sono facilmente traducibili nelle tue lingue preferite.

`Algoritmi, 4a ed. `

Di Robert Sedgwick e Kevin Wayne

 Algoritmi copertina quarta edizione

La quarta edizione degli algoritmi di Sedgewick e Wayne è una fantastica introduzione al mondo degli algoritmi. Gli autori esaminano oltre 50 degli algoritmi più importanti per farti notare. Gli educatori Princeton hanno sviluppato un online corso che integra bene questo testo.

Risorsa

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