Scarica il pdf
1) Spiega cos'è un algoritmo in informatica?
Un algoritmo è una procedura di calcolo ben definita che prende un valore come input e genera un valore come output. In parole semplici, è una sequenza di passaggi computazionali che converte l'input in output.
2) Spiegare cos'è l'algoritmo di ordinamento rapido?
L'algoritmo di ordinamento rapido ha la capacità di ordinare rapidamente elenchi o query. Si basa sul principio dello scambio di partizioni sort o Divide and conquer. Questo tipo di algoritmo occupa meno spazio e separa l'elenco in tre parti principali
- Elementi inferiori all'elemento Pivot
- Elemento pivot
- Elementi maggiori dell'elemento Pivot
3) Spiegare cos'è la complessità temporale dell'algoritmo?
La complessità temporale di un algoritmo indica il tempo totale necessario al programma per essere eseguito fino al completamento. Di solito è espresso utilizzando la notazione O grande.
4) Indica quali sono i tipi di notazione utilizzati per la complessità temporale?
I tipi di notazioni utilizzate per Time Complexity includono
- Big Oh: indica "meno o uguale a" iterazioni
- Big Omega : indica "più o uguale a" iterazioni
- Big Theta: indica "lo stesso di" iterazioni
- Little Oh: indica "meno di" iterazioni
- Little Omega: indica "più di" iterazioni
5) Spiega come funziona la ricerca binaria?
Nella ricerca binaria, confrontiamo la chiave con l'elemento nella posizione centrale dell'array. Se la chiave è minore dell'elemento cercato, deve trovarsi nella metà inferiore dell'array, se la chiave è maggiore dell'elemento cercato di quanto dovrebbe essere nella metà superiore dell'array.
6) Spiegare se è possibile utilizzare la ricerca binaria per elenchi concatenati?
Poiché l'accesso casuale non è accettabile nell'elenco collegato, è impossibile raggiungere l'elemento centrale del tempo O (1). Pertanto, la ricerca binaria non è possibile per l'elenco collegato.
7) Spiega cos'è l'ordinamento heap?
L'ordinamento dell'heap può essere definito come un algoritmo di ordinamento basato sul confronto. Divide il suo input nella regione non ordinata e ordinata, finché non riduce la regione non ordinata eliminando l'elemento più piccolo e spostandolo nella regione ordinata.
8) Spiega cos'è la lista da saltare?
Salta l'elenco il metodo per la strutturazione dei dati, dove consente all'algoritmo di cercare, eliminare e inserire elementi in una tabella dei simboli o in un dizionario. In un elenco da saltare, ogni elemento è rappresentato da un nodo. La funzione di ricerca restituisce il contenuto del valore relativo alla chiave. L'operazione di inserimento associa una chiave specificata a un nuovo valore, mentre la funzione di eliminazione elimina la chiave specificata.
9) Spiegare qual è la complessità spaziale dell'algoritmo di ordinamento per inserzione?
L'ordinamento di inserzione è un algoritmo di ordinamento sul posto, il che significa che non richiede extra o poco. Conservazione. Per l'ordinamento per inserzione, richiede che solo i singoli elementi dell'elenco vengano memorizzati all'esterno dei dati iniziali, rendendo la complessità dello spazio 0 (1).
10) Spiegare cos'è un "algoritmo hash" e a cosa serve?
"Hash Algorithm" è una funzione hash che accetta una stringa di qualsiasi lunghezza e la riduce a una stringa di lunghezza fissa univoca. Viene utilizzato per la validità della password, l'integrità dei messaggi e dei dati e per molti altri sistemi crittografici.
11) Spiegare come scoprire se la lista collegata ha un ciclo?
Per sapere se l'elenco collegato ha un ciclo, utilizzeremo un approccio a due puntatori. Se manteniamo due puntatori e aumentiamo un puntatore dopo aver elaborato due nodi e un altro dopo aver elaborato ogni nodo, è probabile che ci imbattiamo in una situazione in cui entrambi i puntatori punteranno allo stesso nodo. Ciò si verificherà solo se l'elenco collegato ha un ciclo.
12) Spiegare come funziona l'algoritmo di crittografia?
La crittografia è il processo di conversione del testo in chiaro in un formato di codice segreto denominato "Testo cifrato". Per convertire il testo, l'algoritmo utilizza una stringa di bit denominata "chiavi" per i calcoli. Più grande è la chiave, maggiore è il numero di potenziali modelli per la creazione di testo cifrato. La maggior parte degli algoritmi di crittografia utilizza codici fissi di blocchi di input che hanno una lunghezza compresa tra 64 e 128 bit, mentre alcuni utilizzano il metodo del flusso.
13) Elenca alcuni degli algoritmi crittografici comunemente usati?
Alcuni degli algoritmi crittografici comunemente usati sono
- 3 vie
- Blowfish
- CAST
- CMEA
- GOST
- DES e Triple DES
- IDEA
- LOKI e così via
14) Spiegare qual è la differenza tra lo scenario migliore e lo scenario peggiore di un algoritmo?
-
Scenario migliore : lo scenario migliore per un algoritmo è spiegato come la disposizione dei dati per i quali l'algoritmo funziona meglio. Ad esempio, prendiamo una ricerca binaria, per la quale lo scenario migliore sarebbe se il valore target fosse al centro dei dati che stai cercando. La migliore complessità temporale del caso sarebbe 0 (1)
- Scenario peggiore: si riferisce al peggior set di input per un dato algoritmo. Ad esempio quicksort, che può dare i risultati peggiori se selezioni l'elemento più grande o più piccolo di una sottolista per il valore pivot. Farà degenerare il quicksort a O (n2).
15) Spiega cos'è l'algoritmo Radix Sort?
L'ordinamento radicale mette in ordine l'elemento confrontando le cifre dei numeri. È uno degli algoritmi di ordinamento lineare per i numeri interi.
16) Spiega cos'è un algoritmo ricorsivo?
L'algoritmo ricorsivo è un metodo per risolvere un problema complicato suddividendo un problema in sottoproblemi sempre più piccoli finché non si ottiene il problema abbastanza piccolo da poter essere risolto facilmente. Di solito, implica una funzione che chiama se stessa .
17) Indica quali sono le tre leggi dell'algoritmo di ricorsione?
Tutti gli algoritmi ricorsivi devono seguire tre leggi
- Dovrebbe avere un case base
- Un algoritmo ricorsivo deve chiamare se stesso
- Un algoritmo ricorsivo deve cambiare il suo stato e spostarsi verso il caso base
18) Spiega cos'è l'algoritmo di Bubble Sort?
L'algoritmo di Bubble sort viene anche definito sinking sort. In questo tipo di ordinamento, l'elenco da ordinare confronta la coppia di elementi adiacenti. Se sono organizzati nell'ordine sbagliato, scambierà i valori e li disporrà nell'ordine corretto.