Supponiamo che ci siano due elenchi concatenati singoli che si intersecano in un punto e diventano una singola lista collegata.Individuazione del nodo intersecante da due elenchi collegati intersecanti
I puntatori di testa o di inizio di entrambi gli elenchi sono noti, ma il nodo intersecante non è noto. Inoltre, il numero di nodi in ciascuna lista prima di intersecare è sconosciuto e entrambi gli elenchi possono averlo diverso, ad esempio List1 potrebbe avere n nodi prima che raggiunga il punto di intersezione e List2 potrebbe avere m nodi prima che raggiunga il punto di intersezione dove m e n potrebbero essere
- m = n,
- m < n o
- m> n
Un noto o semplice soluzione è quella di confrontare ogni puntatore nodo nel primo elenco con ogni altro puntatore nodo nella seconda lista da cui il nodo corrispondente poi le reti ci porteranno al nodo intersecante. Ma la complessità temporale in questo caso sarà O (n) che sarà alta.
Qual è il modo più efficace per trovare il nodo intersecante?
Vedi anche [Codice di produzione per trovare junction in una lista collegata] (http://stackoverflow.com/questions/22307 18/produzione-code-per-finding-junction-in-a-linked-list). Non è un duplicato, ma sta estendendo il problema che viene posto qui. –