Ciao a tutti! Ho la consegna di un esercizio ma non la soluzione quindi vi chiedo cortesemente di suggerirmi qualcosa se avete idee.
Consegna:
Date due liste A e B (non ordinate), ciascuna delle quali contiene elementi interi distinti,
si vuole determinare se esiste un elemento che compare in A ma non in B. Fornire un
algoritmo efficiente, scriverne lo pseudocodice e discuterne la complessità (ne esiste uno che
richiede tempo
nel caso medio, dove n è il numero di elementi della lista più lunga).Due soluzioni che mi vengono in mente (ma che non sembrano O(n) nel caso medio)
- Scandire una lista nel frattempo controllando la presenza dell'elemento nell'altra [unparseable or potentially dangerous latex formula]
- Creare un array dimensione

(quella dell'array più grande) e fare un MergeSort e scandirlo per verificare la presenza di duplicati prendendo ogni volta un elemento dall'altro facendo una ricerca binaria. Ma anche in questo caso abbiamo.. [unparseable or potentially dangerous latex formula] con

dimensione dell'altro array, che se è molto piccola è circa [unparseable or potentially dangerous latex formula]
Con una funzione hash si può fare O(M) dove M è il massimo dei due array. Ma non mi sembra

nel caso medio
Qualcuno ha qualche idea?