Menu
Coddy logo textTech
Percorso di apprendimento

Algoritmi e strutture dati in R

Chiedi quali sono le strutture dati in R e quasi tutte le risposte elencano vettori, liste, matrici, data frame e fattori. Questo percorso segue l'altro significato: la pila, la coda, la lista concatenata, l'heap, l'albero e il grafo di un corso di algoritmi, nessuno dei quali è presente in R base. Li costruisci tutti in R, poi li usi per ordinare, ricorrere e visitare grafi, e concludi con problemi da colloquio valutati. Gratis, nel browser, con un certificato nella maggior parte dei corsi.

377 lezioni228 sfide702 domande del quiz

Algoritmi e strutture dati in R, passo dopo passo

38 corsi377 lezioni228 sfide702 domande del quiz

Ogni passaggio è un insieme di corsi Coddy già esistenti, e ogni pulsante Inizia li apre in R. I tre corsi non ancora insegnati in R sono elencati dopo i passaggi.

  1. 1
    Inizia questo passoIniziaPila, coda, albero binario, tabella hash e lista concatenata, ognuno costruito da zero in R e poi usato per risolvere problemi. Delle cinque, solo la tabella hash ha un sostituto in R base, l'environment, e dopo questo passaggio sai cosa fa per te.Inizia
  2. 2
    Inizia questo passoIniziaLista doppiamente concatenata, heap e code di priorità, trie, grafi e l'albero AVL autobilanciato. R indicizza da 1, come i libri di testo disegnano un heap, quindi i figli di un nodo stanno in 2 * i e 2 * i + 1 senza alcuno scostamento da ricordare.Inizia
  3. 3
    Inizia questo passoIniziaBubble sort, selection, insertion, merge, quick, heap, counting e radix sort, scritti in R e osservati nel visualizzatore. Lo stesso sort() ti permette di scegliere shell sort, quicksort o radix sort tramite l'argomento method; dopo questo passaggio sai cosa significa quella scelta.Inizia
  4. 4
    Inizia questo passoIniziaSfide di ricorsione in R, dove options(expressions = 5000) limita quanto possono annidarsi le chiamate e Recall permette a una funzione di chiamare sé stessa senza ripetere il proprio nome. Ogni chiamata riceve un nuovo environment, quindi una ricorsione profonda costa memoria oltre che tempo. La programmazione dinamica e la manipolazione dei bit sono elencate dopo i passaggi, perché sono insegnate in Python e in C++.IniziaPagina dedicata
  5. 5
    Inizia questo passoIniziaRicerca in ampiezza e in profondità, Dijkstra, Bellman-Ford, ordinamento topologico, Kruskal e Prim in R, sul grafo che hai costruito nel secondo passaggio. R base non ha una coda di priorità, quindi l'heap del secondo passaggio è quello che serve a Dijkstra, e questi sono gli algoritmi che pacchetti per le reti come igraph eseguono per te.Inizia
  6. 6
Cosa ottieni
Tutto ciò che userai per imparare a programmare

Impara facendo

Scrivi codice vero, interroga database, crea siti web e padroneggia i prompt per l'AI. Le nostre lezioni interattive coprono tutte le competenze di cui ha bisogno uno sviluppatore moderno.

playground.js
Editor di codice
1const greeting = "Hello, Coddy!"
2function sayHi(name) {
3    return greeting + " " + name
4}
5
bottombar Collapse icon
Test #1test Case Success icon
Test #2test Case Success icon
Test #3test Case Failure icon
Input
"Alex"
Output
"Hello, Coddy! Alex"

Costruisci la tua serie

Sii costante e guarda crescere i tuoi progressi! Tieni traccia della tua abitudine quotidiana di programmare, proteggi la tua serie con i giorni di congelamento e guadagna ricompense ogni giorno che ti presenti.

12 giorni di serie

Torna domani per mantenere la tua serie!

fire Filled icon
left icon

January 2026

right icon

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

21

22

23

24

25

26

27

28

29

30

product Double Or Nothing icon

Lascia o raddoppia

Giorno 5 di 7

fire Freeze icon

Congela serie

2 left

Programma ovunque

Porta il tuo percorso di programmazione sempre con te! Niente configurazioni, niente download: apri l'app e inizia a programmare. Disponibile su iOS, Android e Web con valutazioni di 4,9 stelle.

Python
7Serie
250Punteggio
5Energia
Variabili
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Right Done icon
journey Hex Done Base iconjourney Hex Done Shadow iconjourney Hex Done Top iconjourney Lesson Done icon
journey Path Left Done icon
journey Hex Active Base iconjourney Hex Active Shadow iconjourney Hex Active Top iconjourney Lesson Theory Challenge icon
CONTINUA
journey Path Right icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson Theory Challenge icon
journey Path Left icon
journey Hex Locked Base iconjourney Hex Locked Shadow iconjourney Hex Locked Top iconjourney Lesson All icon
Percorso
Obiettivi
Classifica
Profilo
4.9
StellaStellaStellaStellaStella
Valutazione

Non sei solo

Competi nelle classifiche globali, invita gli amici per guadagnare ricompense e festeggiate insieme i vostri successi. Programmare è più bello con gli amici!

Lega Sfidante
Lega SfidanteI primi 7 avanzano
leaderboard First icon1
avatar 1 icon
fire Filled icon
Alex7+ Days
2840
leaderboard Second icon2
avatar 2 icon
fire Filled icon
Jordan7+ Days
2650
leaderboard Third icon3
avatar 3 icon
fire Filled icon
Sam7+ Days
2420
4
avatar 4 icon
Casey
2180
5
avatar placeholder icon
fire Filled icon
Morgan7+ Days
1950
leaderboard Arrow Up iconZona promozioneleaderboard Arrow Up icon

Tutti i modi per imparare

Leggi, ascolta, mettiti alla prova, chiedi all'AI o ripassa qualsiasi cosa tu abbia già visto. Ogni lezione si adatta a te.

Introduzione alle variabili
Audio

Una variabile è un contenitore con un nome che memorizza un valore a cui puoi fare riferimento più avanti nel programma.

In Python la crei scrivendo il nome, un segno di uguale e poi il valore che vuoi memorizzare.

Il valore può cambiare nel tempo: riassegnare il nome lo fa semplicemente puntare a un nuovo valore.

1xSarah

Ottieni un certificato

Ottieni un certificato per ogni corso che completi. Aggiungilo al tuo profilo LinkedIn e al curriculum per mostrare ai datori di lavoro le tue competenze di programmazione.

CoddyCertificato di completamento
Si certifica cheMario Rossiha completato con successo
python iconFondamenti di Python
Verificato
Datagen 2026
LinkedInAggiungi a LinkedIn

Perché imparare algoritmi e strutture dati in R su Coddy

  • Le altre strutture dati. I tipi propri di R sono ciò che la maggior parte dei tutorial su R chiama strutture dati, e il corso di R di Coddy li insegna. Un corso di algoritmi intende pile, code, liste concatenate, heap, alberi e grafi, che R base non fornisce. Costruirli in R è il modo in cui chi analizza dati recupera la metà dell'informatica che il lavoro sui dati tende a saltare.
  • Quanto costa la semantica di R. R copia quando modifichi, quindi un vettore fatto crescere con c(x, value) dentro un ciclo viene copiato a ogni passaggio, tempo quadratico per un lavoro lineare; preallocare risolve il problema. Gli environment hanno semantica per riferimento e ricerca tramite hash, il che li rende la hash map di R e la sede naturale per un nodo che vuoi modificare sul posto.
  • Quasi tutto il percorso in R. Ogni struttura dati, ordinamento, algoritmo sui grafi, sfida di ricorsione e pacchetto da colloquio è insegnato in R. Tre corsi sono insegnati altrove ed elencati dopo i passaggi con un link a ciascuno: la programmazione dinamica e la serie di colloqui in Python, in Python, e la manipolazione dei bit, in C++. Da R la manipolazione dei bit si legge in modo diverso, perché & e | sono operatori logici e le operazioni sui bit sono funzioni come bitwAnd.
  • Valutato come in un colloquio. Ogni lezione termina con una sfida in R verificata da casi di test, e quando una fallisce, Bugsy legge il tuo codice e ti indirizza verso la correzione senza darti la risposta. Un certificato gratuito nella maggior parte dei corsi, ognuno verificabile al proprio URL.

Domande frequenti su algoritmi e strutture dati in R

Questo percorso riguarda le strutture dati di R, come vettori e data frame?

Non principalmente. I tipi di dati propri di R sono vettori atomici, liste (che si annidano), matrici, data frame e fattori; sono ciò che trattano quasi tutte le guide sulle strutture dati in R, e il corso di R di Coddy li insegna. Questo percorso segue il significato informatico: pile, code, liste concatenate, tabelle hash, heap, trie, alberi e grafi, costruiti in R e poi usati per ordinamento, ricorsione e algoritmi sui grafi.

R va bene per algoritmi e strutture dati?

Funziona, con un po' di attrito. R è pensato per la statistica vettorizzata, non per strutture fatte di nodi collegati, quindi una lista concatenata o un albero richiedono più ragionamento che in Python, e i colloqui tecnici si svolgono raramente in R. Per chi analizza dati, quell'attrito è il valore: sapere che far crescere un vettore in un ciclo costa tempo quadratico, o che un environment è una hash map, è ciò che fa scalare il codice R sui dati reali.

Come si crea una hash map in R?

Con un environment: h <- new.env(), poi h[[key]] <- value per memorizzare e h[[key]] per leggere, che restituisce NULL per una chiave mancante. Gli environment usano l'hash, hanno chiavi stringa e semantica per riferimento, quindi una funzione che ne modifica uno lo modifica anche per il chiamante, a differenza di un vettore o di una lista. Una lista con nomi sembra un dizionario ma si comporta come un valore: modificala dentro una funzione e la copia del chiamante resta intatta.

In R la ricorsione profonda fallisce?

Può succedere. Per impostazione predefinita options(expressions = 5000) limita quanto può annidarsi la valutazione, e una ricorsione profonda, come una ricerca in profondità lungo una catena lunga, si ferma con un errore evaluation nested too deeply. Alzare l'opzione ti dà un po' di margine; la soluzione affidabile è una pila esplicita in un ciclo, la struttura che costruisci nel primo passaggio.

Quali corsi di questo percorso non sono insegnati in R?

Tre: la programmazione dinamica e la serie di colloqui in Python, insegnate in Python, e la manipolazione dei bit, insegnata in C++. Sono elencati dopo i passaggi, ognuno con un link che lo apre nel suo linguaggio. La programmazione dinamica si traduce direttamente, dato che in R una tabella di memoizzazione è un vettore preallocato, e i &, |, ^ e << del C++ diventano le funzioni bitwAnd, bitwOr, bitwXor e bitwShiftL.

Devo conoscere R prima di iniziare questo percorso?

Almeno vettori, liste, funzioni, cicli e l'indicizzazione da 1. Se sono argomenti nuovi, il corso di R di Coddy ti porta prima a quel punto, gratis, e questo percorso riprende da dove finisce.

Altri percorsi di apprendimento

Gli stessi corsi, organizzati per un ruolo diverso. I progressi si mantengono: un corso completato in un percorso vale per ogni percorso che lo include.

Tutti i percorsi di apprendimento
Illustrazione dei linguaggi di programmazione di Coddy

Inizia gratis il percorso Algoritmi e strutture dati

Inizia a imparare