Apostila antiga - The Cyan Programming Language
Apostila antiga - The Cyan Programming Language
Apostila antiga - The Cyan Programming Language
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
CHAPTER 5. OTIMIZAÇÃO DE CÓDIGO 58<br />
calcula a funcao hash usando n<br />
goto R0<br />
...<br />
Na tradução acima, admitimos que em R0 foi colocado o resultado do cálculo da função hash.<br />
Existem algoritmos que geram uma função hash dado um conjunto de números ou strings como<br />
entrada. A tabela hash gerada a partir dos números poderá ser:<br />
• perfeita, quando a função hash não colocar mais de um elemento em cada posição da tabela.<br />
Isto é, se v for a tabela, v[i] não apontará para um lista com mais de um nó;<br />
• mínima, quando cada v[i] apontar para uma lista com pelo menos um nó.<br />
Em uma tabela hash perfeita e mínima cada posição da tabela aponta para uma lista de exatamente<br />
um elemento. Neste caso, uma tabela hash para k elementos será implementada como um<br />
vetor de tamanho k.<br />
7. Eliminação de Variáveis Inúteis<br />
Uma variável local a um procedimento será inútil se ela for usada apenas do lado esquerdo de<br />
atribuições ou não for utilizada de modo algum. Na função:<br />
int fat( int n )<br />
{<br />
int i, j, p, k;<br />
i = p = 1;<br />
for ( j = 2; j