← Tutti i video

Alberi Binari in C

Guarda su YouTube → 50:06 1 maggio 2024

Descrizione

Salve, e benvenuti in questo nuovo video. L'obiettivo di questo video è portare un po' di intuizione rispetto a come trattare gli alberi binari tramite il linguaggio di programmazione C. L'albero binario è una delle strutture più importanti presenti nell'informatica, ed è fondamentale per un informatico conoscerlo e saper scrivere degli algoritmi che vanno a visitare i vari nodi dell'albero per calcolare una determinata funzione. Nel video mostro come definire una semplice struttura che ci permette di codificare alberi binari che contengono valori interi, e successivamente mostro tre diversi scenari in cui interagiamo con la struttura appena definita. Nel primo scenario ci occupiamo di calcolare l'altezza dell'albero, nel secondo di calcolare la somma dei nodi che compongono l'albero, ed infine nel terzo ci occupiamo di visualizzare l'albero tramite un tool di visualizzazione chiamato graphviz. Spero che il video sia stimolante e lasciare pure del feedback nei commenti! ------------------------- TIMESTAMP 00:00 Introduzione 03:40 Che cos'è un albero? 07:48 Che cos'è un albero binario? 09:45 Albero binario in C 22:50 Scenario 1 – Calcolo altezza 33:25 Scenario 2 – Calcolo somma 36:40 Scenario 3 – Visualizziamo un albero binario 44:35 Utilizziamo gli indirizzi dei nodi come identificatori 48:20 Conclusione ------------------------- RIFERIMENTI - Material: https://github.com/LeonardoE95/yt-it/tree/main/src/2024-05-02-programmazione-C-binary-trees - Graphviz: https://graphviz.org/ ------------------------- CONTATTI - Blog: https://blog.leonardotamiano.xyz/ - Github: https://github.com/LeonardoE95?tab=repositories - Support: https://www.paypal.com/donate/?hosted_button_id=T49GUPRXALYTQ

Commenti 12

I commenti vengono da YouTube e sono aggiornati periodicamente.

  1. @LucaCanali 2 maggio 2024
    Molto bello ed approfondito come al solito :D
  2. @eliogabalo_00 3 maggio 2024
    un video come questo sulle liste dinamiche in c non sarebbe male
    1 risposta
    1. @esadecimale Autore 4 maggio 2024 1
      e anche questa è una bella idea che sicuramente porterò sul canale 👍🏻
  3. @mikidk2986 6 aprile 2025
    per la maggior parte del video hai spiegato (perfettamente) l'allocazione dinamica della memoria, mi aspettavo di vedere qualcosina in più sugli alberi e le varie funzioni (inserimento, cancellazione, ricerca..) in ogni caso ottima spiegazione della gestione della memoria :)
    2 risposte
    1. @esadecimale Autore 6 aprile 2025 1
      In futuro faro contenuti molto più strutturati su alberi, grafi, stack, queue, etc, insomma le strutture dati fondamentali
    2. @lostinthefaq 1 maggio 2025 1
      Personalmente parlando non ho ancora visto il video ma mi fido della tua osservazione. Riporto la mia esperienza con il corso che ho seguito di strutture dati in C (secondo me fatto molto bene, ma che puntava alle basi basi) ma da profano del C e della gestione della memoria ho trovato più difficoltà a seguire quella parte che la logica dietro alle strutture dati ahahaha quindi apprezzo in realtà questo tipo di video. Aggiungo anche che è difficile trovare persone preparate e competenti (in italiano quasi un miraggio) che spiegano questo tipo di concetti con il linguaggio C. Quasi sempre sono in python o java o altri interpretati. Quindi grazie @esadecimale
  4. @giovannisardisco4541 12 maggio 2024
    Sei meraviglioso nelle spiegazioni. Non conosco C, ma sto guardando il tuo video perché è soddisfacente la precisione delle spiegazioni. Se posso, ti farei una domanda: ho in mente una struttura molto complessa da rappresentare e vorrei confrontarmi con qualcuno di esperto. Si tratta di rappresentare dei Deck di Flashcard. Credo che per questo vada bene una lista di liste. La complessità è quella di voler rappresentare lo score ottenuto su ogni carta, durante l'interrogazione. Vorrei evitare di includerlo nella rappresentazione della carta. Ulteriore complessità è che se lo score è al primo livello, vorrei rappresentare delle risposte multiple alla soluzione della carta. Ulteriore complessità è che vorrei avere più facce e più dorsi della stessa carta, e qui forse potrei risolverla con altre liste. Sarò felice se vorrai dedicare del tempo a rispondermi, anche solo per darmi degli spunti al ragionamento. Grazie 😊
    1 risposta
    1. @esadecimale Autore 15 maggio 2024
      Consiglio: non complicarti la vita se possibile. Da quello che ho capito dici di non voler includere lo score nella rappresentazione, perché? Anche se dovesse cambiare di volta in volta, puoi aggiornare il relativo campo. Quando vuoi fare una scelta piuttosto che un altra, cercala sempre di motivare, ovvero trova un motivo ragionevole per non scegliere una soluzione già esistente. Non ho capito bene la storia dei livelli multipli delle carte. In generale, la descrizione che hai dato è abbstanza ambigua e necessità di più contesto. Cosa contiene una carta a livello informativo? E come viene processata? A prescindere da questo, puoi fare una struttura che contiene più campi, e a seconda del valori di alcuni, questo andrà a determinare il significato che dai agli altri e al modo in cui li processi. Anche questo significa studiare informatica: cercare di rimuovere il più possibile le ambiguità da ciò che scriviamo, andando ad esplicitare tutte le assunzioni che facciamo implicitamente e di cui non ce ne accorgiamo.
  5. @shinyhunter4797 7 maggio 2024
    Secondo me anche un video sulle altre strutture dati astratte come lista, pila, coda, insieme e iteratore è una buona idea
    1 risposta
    1. @esadecimale Autore 15 maggio 2024
      arriveranno
  6. @samuelevilla03 17 giugno 2024
    Ottimo video! Avrei una domanda Come si chiama il tool per disegnare sullo schermo? grazie
    1 risposta
    1. @esadecimale Autore 17 giugno 2024
      gromit-mpx è il nome del software, invece come hardware utilizzo un wacom tablet