19.04.2013 Views

Apostila antiga - The Cyan Programming Language

Apostila antiga - The Cyan Programming Language

Apostila antiga - The Cyan Programming Language

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!