Se hai partecipato alle edizioni passate delle Next Battle, le coding challenge organizzate da Tutored per la propria community di studenti di informatica o, più in generale, appassionati di programmazione, questi consigli potrebbero tornarti utili.
In questo #TutoredWebinar, Fabrizio, vincitore di due Next Battle, analizzerà tre problemi informatici e proverà a dare una o più soluzioni possibili per ognuno di essi utilizzando strategie, linguaggi e/o framework diversi.
Tra gli argomenti trattati
- analisi temporale (tempo impiegato) e spaziale (memoria utilizzata) di un algoritmo, in modo da essere in grado di poter confrontare le varie soluzioni ai problemi proposti;
- esposizione di due soluzioni al primo problema (https://www.hackerrank.com/contests/tutored-nextbattle/challenges/trd03): una con ordinamento e una senza ordinamento (se necessario posso descrivere i dettagli);
- spiegazione delle strutture dati std::map e std::set della libreria standard del c++ (ma il concetto vale anche per qualunque altro linguaggio), servirà per il terzo problema;
- esposizione della soluzione del secondo problema (https://www.hackerrank.com/contests/nextbattle-online-2/challenges/progetto-scheduler)
- introduzione al terzo problema proposto da me (https://leetcode.com/problems/find-the-duplicate-number/description/) e spiegazione di una soluzione lenta
- utilizzo di map e set per risolvere il terzo problema in modo più efficiente
- breve introduzione alla teoria dei grafi, descrizione dell'algoritmo di floyd per il rilevamento dei cicli (https://it.m.wikipedia.org/wiki/Rilevamento_dei_cicli) e come applicarlo per risolvere il terzo problema in maniera ancora più efficiente.
Nel corso dell’evento, sarà possibile interagire con lo speaker per capire e ragionare insieme sulle possibilità di risoluzione proposte.
Fabrizio Brioni
Studente di Informatica @ UniMi
Vincitore della Next Battle
Il webinar si terrà martedì 20 aprile alle ore 16:00.
L’evento è aperto a tutti gli studenti e neolaureati appassionati di sviluppo informatico.