diff --git a/luku09.tex b/luku09.tex index 93b7293..2bd4ea3 100644 --- a/luku09.tex +++ b/luku09.tex @@ -1240,40 +1240,39 @@ by following a path downwards from the top node: \end{tikzpicture} \end{center} -\section{Lisätekniikoita} +\section{Additional techniques} -\subsubsection{Indeksien pakkaus} +\subsubsection{Index compression} -Taulukon päälle rakennettujen tietorakenteiden -rajoituksena on, että alkiot on indeksoitu -kokonaisluvuin $1,2,3,$ jne. -Tästä seuraa ongelmia, -jos tarvittavat indeksit ovat suuria. -Esimerkiksi indeksin $10^9$ käyttäminen -vaatisi, että taulukossa olisi $10^9$ alkiota, -mikä ei ole realistista. +A limitation in data structures that have +been built upon an array is that +the elements are indexed using integers +$1,2,3,$ etc. +Difficulties arise when the indices +needed are large. +For example, using the index $10^9$ would +require that the array would contain $10^9$ +elements which is not realistic. -\index{indeksien pakkaus@indeksien pakkaus} +\index{index compression} -Tätä rajoitusta on kuitenkin mahdollista -kiertää usein käyttämällä \key{indeksien pakkausta}, -jolloin indeksit jaetaan -uudestaan niin, että ne ovat -kokonaisluvut $1,2,3,$ jne. -Tämä on mahdollista silloin, kun kaikki -algoritmin aikana tarvittavat indeksit -ovat tiedossa algoritmin alussa. +However, we can often bypass this limitation +by using \key{index compression} +where the indices are redistributed so that +they are integers $1,2,3,$ etc. +This can be done if we know all the indices +needed during the algorithm beforehand. -Ideana on korvata jokainen alkuperäinen -indeksi $x$ indeksillä $p(x)$, -missä $p$ jakaa indeksit uudestaan. -Vaatimuksena on, että indeksien järjestys -ei muutu, eli jos $a