08.02.2015 Views

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

Programação Funcional e Concorrente com Scheme

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

notas de aula - Jerônimo C. Pellegrini<br />

da pilha, e enviará uma mensagem de volta <strong>com</strong> o conteúdo – por isso o endereço postal do<br />

cliente (que enviou a mensagem POP) é incluído na mensagem. Já a mensagem PUSH pede<br />

que um novo ator seja criado e colocado no topo da pilha, <strong>com</strong> o conteúdo que segue<br />

junto <strong>com</strong> a mensagem.<br />

A descrição dos <strong>com</strong>andos confirma a intuição descrita no parágrafo anterior: ao<br />

receber uma mensagem POP, o ator devolve a quem enviou a mensagem o seu conteúdo,<br />

e usa be<strong>com</strong>e para determinar que o próximo ator (prox) o substitua (assim ele “sai” do<br />

topo da pilha e toda a <strong>com</strong>unicação <strong>com</strong> a pilha passa a ser dirigida ao segundo elemento).<br />

Já ao receber uma mensagem PUSH, o ator cria um novo ator. Este novo ator terá <strong>com</strong>o<br />

prox o ator que o criou. Em seguida, chama be<strong>com</strong>e para que o novo ator o substitua.<br />

13.2.2.3 Quicksort<br />

O livro de Cormen, Leiserson, Rivest e Stein [20] traz uma descrição cuidadosa e clara<br />

do quicksort. A implementação sequencial mostrada aqui é baseada no pseudocódigo<br />

daquele livro.<br />

Função quicksort(v, star, end)<br />

se start < end então<br />

q ← particao-aleat v start end<br />

quicksort v start (q-1)<br />

quicksort v (q+1) end<br />

Versão Preliminar<br />

[ 27 de outubro de 2010 at 15:47 ]<br />

295

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

Saved successfully!

Ooh no, something went wrong!