• Nenhum resultado encontrado

MAC 5711 - An´ alise de Algoritmos

N/A
N/A
Protected

Academic year: 2022

Share "MAC 5711 - An´ alise de Algoritmos"

Copied!
1
0
0

Texto

(1)

MAC 5711 - An´ alise de Algoritmos

Departamento de Ciˆencia da Computa¸c˜ao Primeiro semestre de 2022

Lista 2

1. Resolva as recorrˆencias abaixo.

(a) T(n) = 2T(bn/2c) + Θ(n2) (b) T(n) = 8T(bn/2c) + Θ(n2) (c) T(n) = 2T(bn/2c) + Θ(n3) (d) T(n) = 7T(bn/3c) + Θ(n2) (e) T(n) =T(b9n/10c) + Θ(n)

2. Escreva um algoritmo que ordena uma lista den itens dividindo-a em trˆes su- blistas de aproximadamenten/3 itens, ordenando cada sublista recursivamente e intercalando as trˆes sublistas ordenadas. Analise seu algoritmo concluindo qual ´e o seu consumo de tempo.

3. Seja X[1. . n] um vetor de inteiros e i e j dois ´ındices distintos de X, ou seja, i e j s˜ao inteiros entre 1 e n. Dizemos que o par (i, j) ´e uma invers˜ao de X sei < j eX[i]> X[j]. Escreva um algoritmo O(nlgn) que devolva o n´umero de invers˜oes em um vetor X, onden ´e o n´umero de elementos em X.

4. Descreva um algoritmo que, dados inteiros n e k, juntamente com k listas ordenadas que em conjunto tenhamnregistros, produza uma ´unica lista orde- nada contendo todos os registros dessas listas (isto ´e, fa¸ca uma intercala¸c˜ao).

O seu algoritmo deve ter complexidade O(nlgk). Note que isto se transforma em O(nlgn) no caso de n listas de 1 elemento, e em O(n) se s´o houver duas listas (no total com n elementos).

5. Considere a seq¨uˆencia de vetores Ak[1. .2k], Ak−1[1. .2k−1], . . . , A1[1. .21], e A0[1. .20]. Suponha que cada um dos vetores ´e crescente. Queremos reunir, por meio de sucessivas opera¸c˜oes de intercala¸c˜ao (= merge), o conte´udo dos vetores A0, . . . , Ak em um ´unico vetor crescente B[1. . n], onde n = 2k+1−1.

Escreva um algoritmo que fa¸ca isso em O(n) unidades de tempo. Use como subrotina o Intercale visto em aula.

Referências

Documentos relacionados

O administrador CMSW poderá utilizar o relacionamento global de licenças de software para agilizar a manutenção das informações por software, usuário ou equipamento.. Clique

Para isso, foram avaliados trˆ es diferentes aspectos: o n´ıvel de envolvimento que os participantes do jogo conseguem ao realizar um trabalho colaborativo; o n´ıvel de colabora¸c˜

c = qtde.. Por estas duas equa¸ c˜ oes serem semelhantes, contemos o n´ umero de solu¸c˜ oes para apenas uma delas. Trˆ es amigas fizeram listas de livros que desejam ler nos trˆ

Suponha que os custos das arestas de um grafo conexo s˜ ao distintos dois a dois (ou seja, n˜ ao h´ a duas arestas com o mesmo custo). Suponha que os custos das arestas de um

Escreva uma fun¸c˜ ao que recebe um vetor com n letras A’s e B’s e, por meio de trocas, move todos os A’s para o in´ıcio do vetor.. Escreva uma fun¸c˜ ao que rearranje um

Escreva um algoritmo que ordena uma lista de n itens dividindo-a em trˆes sublistas de aprox- imadamente n/3 itens, ordenando cada sublista recursivamente e intercalando as

Suponha que os custos das arestas de um grafo conexo s˜ ao distintos dois a dois (ou seja, n˜ ao h´ a duas arestas com o mesmo custo). Suponha que os custos das arestas de um

Escreva um algoritmo que ordena uma lista de n itens dividindo-a em trˆ es sublistas de aproxi- madamente n/3 itens, ordenando cada sublista recursivamente e intercalando as trˆ