PUC-Rio
Departamento de Informática
Profs. Marcus Vinicius S. Poggi de Aragão
Período: 2000.1
Horário: 3as-feiras e 5as-feiras de 14 às 16 horas
2 de junho de 2000
ESTRUTURAS DISCRETAS (INF 1631)
3a Lista de Exercícios
-
Seja N={ 1, 2, ..., n}. Enumere todas as sequências
crescentes dos elementos de N existem, começando com 1 e
terminando com n ? (As sequências podem ter qualquer
tamanho.)
Enuncie o teorema, prove por indução matemática e escreva o
algoritmo correspondente.
- Seja un o número de palavras de n caracteres no
alfabeto { 0,1 } que tem a propriedade de não possuir 2 zeros
consecutivos. Prove, por indução,
que: u1=2, u2=3, un = un-1 + un-2, para n³3.
Escreva um algoritmo para enumerar todas estas palavras.
Enuncie o teorema, prove por indução matemática e escreva o
algoritmo correspondente.
- Considere agora o problema de gerar as rodadas de um
campeonato onde todos os n participantes jogam entre-si. Em cada rodada,
todos os participantes jogam, e existem n-1 rodadas (n é sempre
par) de n/2 jogos.
Assuma que n=2k, para k=1,2,....
-
Enuncie o teorema de que sabe-se resolver este problema
para n = 2k, k=1,2,..., e apresente sua prova por indução forte. (Assuma que as rodadas de dois conjuntos de tamanho n/2 são
conhecidas).
- Escreva o algoritmo correspondente à sua prova.
- Considere o conjunto P de todas as permutações dos elemento
1, 2, ..., n. Considere que estas permutações estão ordenadas
lexicograficamente. A função rank(p), definida para p Î P, retorna
a posição no conjunto ordenado da permutação p.
A função unrank( k ), definida para k = 1, 2, ..., n!
retorna a permutação que ocupa a posição k no conjunto ordenado P.
Projete algoritmos para estas duas funções.
This document was translated from LATEX by HEVEA.