Supponiamo che io abbia due stringhe. Li chiamano e B . Nessuna stringa ha caratteri ripetuti.
Come posso trovare la sequenza più breve di operazione di inserimento, spostamento ed eliminazione che trasforma in , dove:
insert(char, offset)
inseriscechar
il datooffset
nella stringamove(from_offset, to_offset)
sposta il personaggio attualmente in offsetfrom_offset
in una nuova posizione in modo che abbia offsetto_offset
delete(offset)
elimina il personaggio inoffset
Applicazione di esempio: esegui una query nel database e mostri i risultati sul tuo sito Web. Successivamente, rieseguire la query del database e scoprire che i risultati sono cambiati. Si desidera modificare ciò che è nella pagina in modo che corrisponda a ciò che è attualmente nel database utilizzando il numero minimo di operazioni DOM. Esistono due motivi per cui si desidera la sequenza di operazioni più breve. Innanzitutto, l'efficienza. Quando cambiano solo pochi record, si desidera assicurarsi di eseguire le operazioni DOM anziché , poiché sono costose. Secondo, correttezza. Se un elemento si sposta da una posizione all'altra, si desidera spostare i nodi DOM associati in un'unica operazione, senza distruggerli e ricrearli. Altrimenti perderai lo stato attivo, il contenuto degli elementi e così via.<input>