Sto leggendo qualcosa sulla ricerca di una (gamma di) stringa (s) in una matrice ordinata di stringhe.Impossibile per me comprendere un metodo di ricerca stringa come descritto. Cos'è uFFFF?
Dice:
Se si desidera trovare tutte le stringhe che iniziano con "h", è possibile eseguire una ricerca binaria per le stringhe "h" e "h \ uFFFF". Questo fornisce tutti gli indici della banda per tutti i tasti che iniziano con "h". Si noti che una ricerca binaria può restituire l'indice in cui la stringa sarebbe anche se non è effettivamente nella matrice.
Non capisco nulla da questo paragrafo.
Che cos'è h\uFFFF
in che modo aiuta/viene utilizzato nella ricerca binaria e l'ultimo sentenzioso significa anche che anche questa ricerca è difettosa?
Qualsiasi aiuto per capire cosa viene detto qui per favore?
'\ uFFFF' è il valore massimo per un carattere unicode, non utilizzato come carattere stampabile –
'\ uFFFF' è una sequenza di escape per il punto di codice U + FFFF, che è garantito da [lo stanard] (http: //unicode.org/charts/PDF/UFFF0.pdf) per non essere un personaggio. È un uso speciale per essere definito altrove in quello che stai leggendo? –
@Sam Dehaan: * "\ uFFFF è il valore massimo per un carattere unicode" * ... Poiché Unicode 3.1 ha più di 65 536 codepoint e un singolo Java * char * non è sufficiente per rappresentare i nuovi codepoint. Ad esempio il carattere Unicode 'MUSICAL SYMBOL G CLEF' ha il codice Unicode 0x0001D11E (molto più di 0xFFFF) e ha bisogno di due Java * char * per essere rappresentato: "\ uD8334 \ uDD1E". Questo SNAFU deriva dal fatto che Java (e il suo tipo primitivo * char *) è stato definito prima che uscisse Unicode 3.1. In sintesi: no, \ uFFFF è sicuramente ** NOT ** il valore massimo per un punto di codice Unicode. – TacticalCoder