ED2 Flashcards

1
Q

Algoritmos diferentes, mas capazes de resolver o mesmo problema, não necessariamente o fazem com a mesma eficiência. Essas diferenças de eficiência podem ser:

A

> Irrelevantes: para um pequeno número de elementos processados;
Crescer proporcionalmente: com o número de elementos processados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Para comparar a eficiência dos algoritmos foi criada uma medida chamada de:

A

Complexidade Computacional

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Complexidade Computacional, basicamente, indica o custo ao se aplicar um algoritmo, sendo:

CUSTO =

A

MEMÓRIA + TEMPO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Para determinar se um algoritmo é o mais eficiente, podemos utilizar duas abordagens:

A

> ANÁLISE EMPÍRICA: comparação entre os programas

> ANÁLISE MATEMÁTICA: estudo das propriedades do algoritmo

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Análise Empírica

A

Avalia o custo (ou complexidade) de um algoritmo a partir da avaliação da execução do mesmo quando implementado, ou seja, um algoritmo é analisado
pela execução de seu programa correspondente;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Vantagens da análise empírica:

A

> Avaliar o desempenho em uma determinada configuração de computador /linguagem;
Considerar custos não aparentes, como por exemplo “custo de alocação de memória”;
Comparar computadores;
Comparar linguagens.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Dificuldades da análise empírica

A

> Há a necessidade de implementação do algoritmo, e isso depende da habilidade do programador;
O resultado pode ser mascarado pelo hardware (o computador utilizado) ou software (eventos ocorridos no momento da avaliação);

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qual a natureza dos dados na análise empírica?

A

> Dados reais;
Aleatórios: avaliam o desempenho médio;
Perversos: avaliam o comportamento no pior caso

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Análise Matemática

A

> Permite um estudo formal de um algoritmo ao nível da ideia por trás do algoritmo;
Faz uso de um computador idealizado e simplificações que buscam considerar somente os custos dominantes do algoritmo
A medição do tempo gasto é feita de maneira independente do hardware ou da linguagem usada na sua implementação

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Vantagens da análise matemática

A

> Detalhes de baixo nível, como a linguagem de programação utilizada, o hardware no qual o algoritmo é executado, ou o conjunto de instruções da CPU, são ignorados;

> Permite entender com um algoritmo se comporta à medida que o conjunto de dados de entrada cresce. Assim, podemos expressar a relação entre o conjunto de dados de entrada e a quantidade de tempo necessária para processar esses dados gerando sua saída.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Notação Grande-O ou “O”

A

Representa o custo (seja no tempo ou no espaço), do algoritmo no pior caso possível para todas as entradas de tamnho “n”;
 Ou seja, ela analisa o limite superior de entrada. Desse modo, podemos dizer que o comportamento do nosso algoritmo não pode nunca ultrapassar um determinado limite.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

O que descreve a notação Grande-Omega?

A

Descreve o limite assintótico inferior de um algoritmo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

É a notação utilizada para analisar o melhor caso do algoritmo:

A

Notação Grande-Omega

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

O que descreve a notação Grande-O?

A

Descreve o limite assintótico superior de um algoritmo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

É a notação utilizada para analisar o pior caso do algoritmo:

A

Notação Grande-O

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Notação Grande-Theta

A

Descreve o limite assintótico firme ou estreito de um algoritmo.

17
Q

É a notação utilizada para analisar o limite inferior e superior do algoritmo:

A

Notação Grande-Theta

18
Q

As notações Grande-O e Grande-Omega possuem relação de:

A

Menor ou igual e maior ou igual

19
Q

As notações Pequeno-o e Pequeno-ômega possuem uma relação de:

A

Menor e maior, ou seja, não representam limites próximos da função, mas apenas estritamente.