Sobes.tech
Junior — Middle

Come vengono implementati e funzionano gli algoritmi di ordinamento dei dati principali?

sobes.tech AI

Risposta dell'AI

I principali algoritmi di ordinamento dei dati includono:

  • Bubble Sort (Ordinamento a bolle): confronta elementi adiacenti e li scambia se sono nell'ordine sbagliato. Si ripete fino a quando l'array è ordinato.

  • Insertion Sort (Ordinamento per inserimento): costruisce una sequenza ordinata inserendo ogni nuovo elemento nel posto giusto.

  • Selection Sort (Ordinamento per selezione): ad ogni passo, seleziona l'elemento minimo dalla parte non ordinata e lo scambia con il primo elemento di quella parte.

  • Quick Sort (Ordinamento rapido): sceglie un elemento pivot, divide l'array in parti con elementi minori e maggiori del pivot, e ordina queste parti ricorsivamente.

  • Merge Sort (Ordinamento per fusione): divide ricorsivamente l'array a metà, le ordina e le unisce in un array ordinato.

Esempio di quick sort in Python:

def quick_sort(arr):
    if len(arr) <= 1:
        return arr
    pivot = arr[len(arr) // 2]
    left = [x for x in arr if x < pivot]
    middle = [x for x in arr if x == pivot]
    right = [x for x in arr if x > pivot]
    return quick_sort(left) + middle + quick_sort(right)

print(quick_sort([3,6,8,10,1,2,1]))

Ogni algoritmo ha i suoi vantaggi e svantaggi in termini di velocità e consumo di memoria.