La struttura dati trie è spesso un ottimo modo per archiviare stringhe in inglese. Funziona costruendo un albero in cui ogni spigolo è etichettato con una lettera e il percorso di un nodo marcato nell'albero indica una delle parole nella struttura dati.Limitazioni e alternative ai tentativi in lingue diverse dall'inglese?
Questa struttura dati funziona bene in inglese perché ci sono "solo" 26 lettere dell'alfabeto inglese (un fattore di ramificazione "ragionevole"), quei caratteri hanno valori ASCII consecutivi (quindi i puntatori figlio possono essere memorizzati in un array con chiave dall'indice delle lettere usate da ogni bambino), e ci sono molte parole inglesi con prefissi comuni (quindi c'è molta ridondanza nella struttura).
Sono un madrelingua inglese con una conoscenza limitata solo di altre lingue e alfabeti, ma sembra che molte di queste proprietà non siano disponibili in altre lingue. So che francese, spagnolo, tedesco e ungherese, ad esempio, usano spesso caratteri accentati che non vengono memorizzati continuamente con le lettere rimanenti nello spazio Unicode. L'ebraico e l'arabo hanno segni vocalici che di solito sono indicati sopra o sotto ogni lettera. Il cinese utilizza un sistema logogramma e i caratteri Hangul coreani sono composti da tripli di caratteri più piccoli raggruppati insieme.
Le prove funzionano ancora bene per i dati memorizzati in queste lingue e alfabeti? Quali modifiche sono necessarie per utilizzare i tentativi per questo tipo di dati? Ci sono strutture dati che funzionano bene per le stringhe in quelle lingue e alfabeti che sono particolarmente adatti a loro ma che non sarebbero utili o efficienti in inglese?
Lungo le linee della pulizia degli input, per i sistemi di scrittura logografica, sembra che l'utilizzo dei romanizati potrebbe aiutare. – Nuclearman
@Nuclearman: Suppongo che i romanzi possano aiutare se hai un buon dizionario. Non ho mai pensato molto. Idea interessante –
Un altro approccio consiste nel notare che ogni carattere può essere generato tramite una combinazione specifica di tasti su una tastiera progettata per quella lingua. Dovrebbe essere possibile effettuare una ricerca inversa per trovare la combinazione specifica.Anche se ciò richiede anche una sorta di dizionario. – Nuclearman