Módulo 5:
Funções
•UNIVERSIDADE FEDERAL DE CAMPINA GRANDE
•CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA
•DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO
•Professor Ulrich Schiel
Funções
→ Sejam S e T conjuntos. Uma função (ou aplicação) f de S em
T, f : S→T, é um subconjunto de SxT onde cada elemento de
S aparece exatamente uma vez como primeiro elemento de
um par ordenado.
→ Ou seja, uma função é uma relação muitos-para-um fraca.
→ S é o domínio e T é o contradomínio da função.
→ Se (s,t) pertence à função, escrevemos f(s) = t.
→ t é a imagem de s por f e dizemos que f leva s em t.
→ s é a pré-imagem de t por f. A pré-imagem pode ser um
conjunto. Escrevemos f-1
(t) = {s1, s2,.., sn}
f
s
f(s)=t
S T
Exemplos
Quais itens abaixo definem funções do domínio no contradomínio
dados:
1. f : S →T, onde S = T = {1,2,3}
f = {(1,1), (2,3), (3,1), (2,1)}
1. g : Z → Z, onde g é definida como: g(x) = |x|;
2. r: R → R, onde r é definida como: r(x) = √(x);
3. h : N → N, onde h é definida por: h(x) = x – 4;
4. g : N → N, onde g é definida por:
g(x) = x+3 se x≥5 e g(x) = x se x≤5.
Funções bem definidas
• Seja f : S → T, uma função.
• Dados A ⊆ S e B ⊆ T, podemos definir
• g:A → T como g(x) = f(x), é a restrição de f a
A.
• Se g(x) ∈ B, para todo x ∈ A, dizemos que g é
uma função bem definida em B.
• Em outras palavras uma função f : S → T é
bem definida quando para todo x ∈ A existe
um único y ∈ T, tal que f(x) = y.
Exemplos
Determinar se são bem definidas e encontrar o domínio e o
contradomínio das funções:
1. associa a cada habitante de Recife o seu CPF; E o inverso?
2. Relação entre pessoas e suas idades.
3. Distância entre dois pontos no espaço, dada por
D(x,y) = √[(x2-x1)2
+ (y2-y1)2
]
Funções n-árias
• Sejam S1, S2, ..., Sn conjuntos. Uma função de
S1xS2x...xSn em T, f : S1xS2x...xSn → T, é um
subconjunto de S1xS2x...xSnxT onde cada n-upla de
elementos de S, (s1,s2,...,sn), está associada a um
único elemento de T.
• Ex.: f: NxN → N , onde f é dada por:
f(x,y) = x+1/2.(x+y).(x+y+1). (cilindro parabólico)
• f: RxR → R dada por f(x,y) = x
Propriedade da funções
→Seja f: S → T. Então, o conjunto I = {f(s) : s ∈S},
ou I = f(S), é dito ser o conjunto imagem de f, ou
simplesmente a imagem de f.
• I ⊆T.
• Função sobrejetiva
→Uma função f : S → T é uma função sobrejetiva se a
imagem de f, f(S), é igual ao contradomínio de f, ou
seja, f(S) = I = T.
• Ex.: seja g : R → R definida por g(x) = x3
. G é
sobrejetiva. E g(x) = x2
?
Propriedade das funções
• Função injetiva
→Uma função f : S → T é injetiva, ou um-a-um, se
nenhum elemento de T for imagem de dois
elementos distintos de S, ou seja, não existe s1≠ s2
tal que f(s1) = f(s2) = t.
• Ex1: A função g : R → R definida por g(x) = x3
é
injetiva porque se x e y com x3
= y3
e, como a raiz
cúbica de um real é única, temos x = y.
• Ex2: A função f : R → R dada por f(x) = x2
não é
injetiva pois f(2) = f(-2) = 4.
• No entanto, a função h: N → N dada por h(x) = x2
é
injetiva.
Propriedade das funções
→Uma função f: S → T é bijetiva se for ao mesmo
tempo injetiva e sobrejetiva.
• Ex.: A função g: R → R definida por g(x) = x3
é uma
bijeção.
Conjuntos equivalentes (eqüinúmeros)
→Um conjunto S é equivalente (ou eqüinúmero) a um
conjunto T se, e somente se, existir uma bijeção
f : S → T.
→ Toda bijeção f : S → T possui uma função inversa
g: T → S, tal que g(t) = s sss f(s) = t. Escrevemos
g como f-1
: T → S
→Dois conjuntos equivalentes têm a mesma
cardinalidade.
• Ex.: N e P (conjunto dos pares)
• g : N →P definida por g(x) = 2x.
• Então, |N| = |P|.
Composição de funções
• Suponha que f e g são funções tais que:
f : S → T e g : T → U
• Então, para qualquer s ∈S, f(s) ∈T.
• Assim, f(s) pertence ao domínio de g.
• Então, aplicando g a f(s), obtemos g(f(s)) ∈ U.
f g
s
f(s)
g(f(s))
S T U
Composição de funções
→Seja f : S → T e g : T → U. Então, a composição de f
com g é uma função (função composta) de S em U,
denotada por g ° f, ou seja, g ° f : S → U, e definida
por: g° f (s) = g(f(s)).
s
f(s)
g(f(s))
S T U
f g
g ° f
Exemplo
• Sejam f : N → N e g : N → N funções dadas por:
- f(x) = 2.x
- g(x) = x.x
• g° f = ?
• f° g = ?
• Quais são sobrejetivas e/ou injetivas?
• E se mudarmos N para Z?
Propriedades da composição
1. Sejam f : S → T e g : T → U funções sobrejetivas.
Então, g° f é sobrejetiva.
2. Sejam f : S → T e g : T → U funções injetivas.
Então, g° f é injetiva.
3. Sejam f : S → T e g : T → U funções bijetoras.
Então, g° f é bijetora.
Função Identidade
→ Seja A um conjunto. A função iA : A → A tal que iA(x) = x, para todo
x ∈ A, é dita ser a função identidade em A.
• Seja f : S → T uma bijeção.
• para cada t ∈T existe um s∈S tal que f(s) = t.
• Esta associação é uma função g : T → S que é a inversa de f, ou
seja f-1
:T → S
• Então, se s ∈S, g° f (s) = g(f(s)) = g(t) = f-1
(t) = s.
• Ou seja, g° f é uma função identidade.
• Logo, g° f = iS.
Função Inversa
→Seja f uma função f : S → T . Se existir um função
g : T → S tal que g ° f = iS e f ° g = iT , então g é a
função inversa de f e é denotada por f-1
.
• Teorema: Seja f : S → T . Então f é uma bijeção se, e
somente se, f-1
existe.
• Propriedade:
• Seja f : S → T . Se f tem inversa f-1
então ela é única.
Gráfico de uma função
→ Para funções entre subconjuntos de R pode-se
determinar o seu gráfico.
• EXEMPLOS:
– Seja f : R → R com f(x) = x2
Gráfico de uma função
→EXEMPLOS:
– Seja f : R → R com f(x) = x3
Gráfico de uma função
→ EXEMPLOS:
– Seja f : R → R com f(x) = sen2
(x)
Gráfico de uma função
→ EXEMPLOS:
– Funções piso x e teto x
Gráfico de uma função
→ Como obter o gráfico de uma função:
→ Analisar o grau e outras características da função
– Exemplo: f(x) = 2x3
- x
• Calcular f(0), f(1), f(-1), f(1/2), f(-1/2)
– F(x) = sen2
(x)
• Calcular sen(0), sen(π), sen(- π), sen(π/2)
Gráfico de uma função
→ Exemplo: f(x) = 2x3
- x
Gráfico de uma função
– F(x) = sencos(x)
(x)
Exercícios em sala
Seja L = {a,b,c,..,z} o conjunto das letras do alfabeto. Defina
1. Uma função V: L→L tal que V(x) é a última vogal no alfabeto
antes de x. Se x é uma vogal temos V(x)=x}.
2. Seja k uma função de criptografia determinada por V tal que, para
uma letra ‘x’ k(x)=(V(x),n) sendo n a distância de y a x no
alfabeto. Por exemplo k(‘Ana’)=a0i5a0.
1. Encontre o código de teu primeiro nome.
2. Decodifique ‘u1o0u0 o1a0o4o4a0o3’ (Obs.: ‘0’=zero e
‘o’=letra ‘o’)
3. Dado uma função f: R → R, a relação ρ em R2
dada por x ρ y ↔
f(x)=f(y) é uma relação de equivalência.
• Dadas as funções f(x)=x2
+1 e g(x) = cos(x). Encontrar:
– a imagem f(R) para f(x) e g(x)?
– a classe de equivalência [π] para cada uma dessas funções.
– expressão das combinações f°g e g°f ?
Ordem de Grandeza
Sejam f e g funções de N em N definidas como:
f(x) = x e g(x) = x2
Gráfico:
f
x
g
x
•Quando x cresce, o valor de g(x) cresce mais rápido que o valor
de f(x): a taxa de crescimento de g é maior que a de f.
•Obs.: a diferença na taxa de crescimento não pode ser superada
multiplicando-se o valor de f por uma constante: h(x) = c.f(x)
•Independente de quão grande seja o valor de c, após algum
ponto, os valores de g superarão os valores de h.
Ordem de Grandeza
→ Seja S o conjunto de todas as funções dos reais não-negativos
nos reais não-negativos. Definimos a seguinte relação binária
em S:
• f ρ g ↔ existem constantes reais positivas n0, c1 e c2 tais que,
para todo x ≥ n0,
c1g(x) ≤ f(x) ≤ c2g(x)
• Exemplo: Sejam f(x) = 3x2
e g(x) = 200x2
+140x+7. Para n0 = 2,
c1=1/100 e c2=1, temos então que, para todo x ≥ 2,
• 1/100(200x2
+140x+7) ≤ 3x2
≤1.(200x2
+140x+7)
• 2x2
+ 1,4x + 0,07 ≤ 3x2
≤ 200x2
+ 140x + 7
• Portanto, f ρ g.
• Exercício: Mostrar que ρ é uma relação de equivalência.
Classes de equivalência
• Como ρ é uma relação de equivalência, então ela particiona S
em classes de equivalência.
• Se f está na mesma classe de equivalência que g dizemos que f
tem a mesma ordem de grandeza que g. denotado por f = Θ(g),
• Obs.1: devido à simetria, podemos também dizer que g tem a
mesma ordem de grandeza que f, isto é, g = Θ(f).
• Obs.2: a notação f = Θ(g) indica que f ∈ [g].
• Obs.3: Para cada classe de equivalência procura-se o
representante mais simples. Por exemplo, para as funções f e g
do exemplo anterior, podemos dizer que f = Θ(x2
) e g = Θ(x2
).
Ou seja, a ordem de grandeza de um polinômio é sempre o
termo de maior grau.
Ordem de Grandeza
• Seja h(x) = x2
. Se multiplicarmos h por constantes c1
e c2, por exemplo, c1=1/2 e c2 = 2, as funções c1h(x) e
c2h(x) têm a mesma forma de h(x) e formam uma
espécie de “envelope” em torno dos valores de h(x).
Alterar os valores das constantes altera o “tamanho”
do envelope mas não sua forma básica:
c2h(x) h(x) c1h(x)
Exercício
Mostre que, para f(x) = x e h(x) = x2
, f não é Θ(x2
).
c2h(x) h(x) c1h(x)
f(x)
n0
Análise de Algoritmo
• Na análise de algoritmos identificamos as tarefas importantes
que o algoritmo deve realizar.
• Em geral, o número dessas tarefas depende do tamanho da
entrada: qual o acréscimo de trabalho à medida que n cresce.
• Ao invés de computarmos a função exata da quantidade de
trabalho, calcularmos a sua ordem de grandeza:
• Por exemplo: a busca seqüencial em n elementos requer, no
pior caso, n comparações (então é Θ(n)), e a busca binária
requer 1+log n comparações (então é Θ(log n)).
Hierarquia de Classes
• Podemos dizer que a classe Θ(n) é uma ordem de
grandeza menor que a classe Θ(n2
), por que funções
que são Θ(n) inevitavelmente, em algum ponto, se
tornam inferiores à função Θ(n2
).
• Da mesma forma, a classe Θ(log n) é menor que a
classe Θ(n).
• Existe, portanto, uma hierarquia de classes:
∀ Θ(log n) < Θ(n) < Θ(n2
) < Θ(n3
) <...< Θ(nk
) <...< Θ(2n
)
< Θ(3n
) < ...
• Essas classes são chamadas de classes de
complexidade e nos permitem classificar algoritmos.
Classes de Complexidade de Algoritmos
•Suponhamos que temos os algoritmos A, A’ e A’’ para realizar a
mesma tarefa e que suas classes de complexidade têm
diferentes ordens de grandeza: A é Θ(n), A’ é Θ(n2
) e A’’ é Θ(2n
):
Tempo total de processamento
tamanho da entrada
10 50 100Algoritmo Ordem
A Θ(n) 0,001s 0,005 s 0,01 s
A’ Θ(n2
) 0,01 s 0,25 s 1 s
A’’ Θ(2n
) 0,1024 s 3570 anos 4x1016
séculos
Obs.: supondo que um passo computacional tome 0,0001 s
Exemplof(x)=x+sen(x)
g(x)=x
c1=1,5
c2=2
c1g(x)
f(x)
c2g(x)

Matemática Discreta - Parte VI funções

  • 1.
    Módulo 5: Funções •UNIVERSIDADE FEDERALDE CAMPINA GRANDE •CENTRO DE ENGENHARIA ELÉTRICA E INFORMÁTICA •DEPARTAMENTO DE SISTEMAS E COMPUTAÇÃO •Professor Ulrich Schiel
  • 2.
    Funções → Sejam Se T conjuntos. Uma função (ou aplicação) f de S em T, f : S→T, é um subconjunto de SxT onde cada elemento de S aparece exatamente uma vez como primeiro elemento de um par ordenado. → Ou seja, uma função é uma relação muitos-para-um fraca. → S é o domínio e T é o contradomínio da função. → Se (s,t) pertence à função, escrevemos f(s) = t. → t é a imagem de s por f e dizemos que f leva s em t. → s é a pré-imagem de t por f. A pré-imagem pode ser um conjunto. Escrevemos f-1 (t) = {s1, s2,.., sn} f s f(s)=t S T
  • 3.
    Exemplos Quais itens abaixodefinem funções do domínio no contradomínio dados: 1. f : S →T, onde S = T = {1,2,3} f = {(1,1), (2,3), (3,1), (2,1)} 1. g : Z → Z, onde g é definida como: g(x) = |x|; 2. r: R → R, onde r é definida como: r(x) = √(x); 3. h : N → N, onde h é definida por: h(x) = x – 4; 4. g : N → N, onde g é definida por: g(x) = x+3 se x≥5 e g(x) = x se x≤5.
  • 4.
    Funções bem definidas •Seja f : S → T, uma função. • Dados A ⊆ S e B ⊆ T, podemos definir • g:A → T como g(x) = f(x), é a restrição de f a A. • Se g(x) ∈ B, para todo x ∈ A, dizemos que g é uma função bem definida em B. • Em outras palavras uma função f : S → T é bem definida quando para todo x ∈ A existe um único y ∈ T, tal que f(x) = y.
  • 5.
    Exemplos Determinar se sãobem definidas e encontrar o domínio e o contradomínio das funções: 1. associa a cada habitante de Recife o seu CPF; E o inverso? 2. Relação entre pessoas e suas idades. 3. Distância entre dois pontos no espaço, dada por D(x,y) = √[(x2-x1)2 + (y2-y1)2 ]
  • 6.
    Funções n-árias • SejamS1, S2, ..., Sn conjuntos. Uma função de S1xS2x...xSn em T, f : S1xS2x...xSn → T, é um subconjunto de S1xS2x...xSnxT onde cada n-upla de elementos de S, (s1,s2,...,sn), está associada a um único elemento de T. • Ex.: f: NxN → N , onde f é dada por: f(x,y) = x+1/2.(x+y).(x+y+1). (cilindro parabólico) • f: RxR → R dada por f(x,y) = x
  • 7.
    Propriedade da funções →Sejaf: S → T. Então, o conjunto I = {f(s) : s ∈S}, ou I = f(S), é dito ser o conjunto imagem de f, ou simplesmente a imagem de f. • I ⊆T. • Função sobrejetiva →Uma função f : S → T é uma função sobrejetiva se a imagem de f, f(S), é igual ao contradomínio de f, ou seja, f(S) = I = T. • Ex.: seja g : R → R definida por g(x) = x3 . G é sobrejetiva. E g(x) = x2 ?
  • 8.
    Propriedade das funções •Função injetiva →Uma função f : S → T é injetiva, ou um-a-um, se nenhum elemento de T for imagem de dois elementos distintos de S, ou seja, não existe s1≠ s2 tal que f(s1) = f(s2) = t. • Ex1: A função g : R → R definida por g(x) = x3 é injetiva porque se x e y com x3 = y3 e, como a raiz cúbica de um real é única, temos x = y. • Ex2: A função f : R → R dada por f(x) = x2 não é injetiva pois f(2) = f(-2) = 4. • No entanto, a função h: N → N dada por h(x) = x2 é injetiva.
  • 9.
    Propriedade das funções →Umafunção f: S → T é bijetiva se for ao mesmo tempo injetiva e sobrejetiva. • Ex.: A função g: R → R definida por g(x) = x3 é uma bijeção.
  • 10.
    Conjuntos equivalentes (eqüinúmeros) →Umconjunto S é equivalente (ou eqüinúmero) a um conjunto T se, e somente se, existir uma bijeção f : S → T. → Toda bijeção f : S → T possui uma função inversa g: T → S, tal que g(t) = s sss f(s) = t. Escrevemos g como f-1 : T → S →Dois conjuntos equivalentes têm a mesma cardinalidade. • Ex.: N e P (conjunto dos pares) • g : N →P definida por g(x) = 2x. • Então, |N| = |P|.
  • 11.
    Composição de funções •Suponha que f e g são funções tais que: f : S → T e g : T → U • Então, para qualquer s ∈S, f(s) ∈T. • Assim, f(s) pertence ao domínio de g. • Então, aplicando g a f(s), obtemos g(f(s)) ∈ U. f g s f(s) g(f(s)) S T U
  • 12.
    Composição de funções →Sejaf : S → T e g : T → U. Então, a composição de f com g é uma função (função composta) de S em U, denotada por g ° f, ou seja, g ° f : S → U, e definida por: g° f (s) = g(f(s)). s f(s) g(f(s)) S T U f g g ° f
  • 13.
    Exemplo • Sejam f: N → N e g : N → N funções dadas por: - f(x) = 2.x - g(x) = x.x • g° f = ? • f° g = ? • Quais são sobrejetivas e/ou injetivas? • E se mudarmos N para Z?
  • 14.
    Propriedades da composição 1.Sejam f : S → T e g : T → U funções sobrejetivas. Então, g° f é sobrejetiva. 2. Sejam f : S → T e g : T → U funções injetivas. Então, g° f é injetiva. 3. Sejam f : S → T e g : T → U funções bijetoras. Então, g° f é bijetora.
  • 15.
    Função Identidade → SejaA um conjunto. A função iA : A → A tal que iA(x) = x, para todo x ∈ A, é dita ser a função identidade em A. • Seja f : S → T uma bijeção. • para cada t ∈T existe um s∈S tal que f(s) = t. • Esta associação é uma função g : T → S que é a inversa de f, ou seja f-1 :T → S • Então, se s ∈S, g° f (s) = g(f(s)) = g(t) = f-1 (t) = s. • Ou seja, g° f é uma função identidade. • Logo, g° f = iS.
  • 16.
    Função Inversa →Seja fuma função f : S → T . Se existir um função g : T → S tal que g ° f = iS e f ° g = iT , então g é a função inversa de f e é denotada por f-1 . • Teorema: Seja f : S → T . Então f é uma bijeção se, e somente se, f-1 existe. • Propriedade: • Seja f : S → T . Se f tem inversa f-1 então ela é única.
  • 17.
    Gráfico de umafunção → Para funções entre subconjuntos de R pode-se determinar o seu gráfico. • EXEMPLOS: – Seja f : R → R com f(x) = x2
  • 18.
    Gráfico de umafunção →EXEMPLOS: – Seja f : R → R com f(x) = x3
  • 19.
    Gráfico de umafunção → EXEMPLOS: – Seja f : R → R com f(x) = sen2 (x)
  • 20.
    Gráfico de umafunção → EXEMPLOS: – Funções piso x e teto x
  • 21.
    Gráfico de umafunção → Como obter o gráfico de uma função: → Analisar o grau e outras características da função – Exemplo: f(x) = 2x3 - x • Calcular f(0), f(1), f(-1), f(1/2), f(-1/2) – F(x) = sen2 (x) • Calcular sen(0), sen(π), sen(- π), sen(π/2)
  • 22.
    Gráfico de umafunção → Exemplo: f(x) = 2x3 - x
  • 23.
    Gráfico de umafunção – F(x) = sencos(x) (x)
  • 24.
    Exercícios em sala SejaL = {a,b,c,..,z} o conjunto das letras do alfabeto. Defina 1. Uma função V: L→L tal que V(x) é a última vogal no alfabeto antes de x. Se x é uma vogal temos V(x)=x}. 2. Seja k uma função de criptografia determinada por V tal que, para uma letra ‘x’ k(x)=(V(x),n) sendo n a distância de y a x no alfabeto. Por exemplo k(‘Ana’)=a0i5a0. 1. Encontre o código de teu primeiro nome. 2. Decodifique ‘u1o0u0 o1a0o4o4a0o3’ (Obs.: ‘0’=zero e ‘o’=letra ‘o’) 3. Dado uma função f: R → R, a relação ρ em R2 dada por x ρ y ↔ f(x)=f(y) é uma relação de equivalência. • Dadas as funções f(x)=x2 +1 e g(x) = cos(x). Encontrar: – a imagem f(R) para f(x) e g(x)? – a classe de equivalência [π] para cada uma dessas funções. – expressão das combinações f°g e g°f ?
  • 25.
    Ordem de Grandeza Sejamf e g funções de N em N definidas como: f(x) = x e g(x) = x2 Gráfico: f x g x •Quando x cresce, o valor de g(x) cresce mais rápido que o valor de f(x): a taxa de crescimento de g é maior que a de f. •Obs.: a diferença na taxa de crescimento não pode ser superada multiplicando-se o valor de f por uma constante: h(x) = c.f(x) •Independente de quão grande seja o valor de c, após algum ponto, os valores de g superarão os valores de h.
  • 26.
    Ordem de Grandeza →Seja S o conjunto de todas as funções dos reais não-negativos nos reais não-negativos. Definimos a seguinte relação binária em S: • f ρ g ↔ existem constantes reais positivas n0, c1 e c2 tais que, para todo x ≥ n0, c1g(x) ≤ f(x) ≤ c2g(x) • Exemplo: Sejam f(x) = 3x2 e g(x) = 200x2 +140x+7. Para n0 = 2, c1=1/100 e c2=1, temos então que, para todo x ≥ 2, • 1/100(200x2 +140x+7) ≤ 3x2 ≤1.(200x2 +140x+7) • 2x2 + 1,4x + 0,07 ≤ 3x2 ≤ 200x2 + 140x + 7 • Portanto, f ρ g. • Exercício: Mostrar que ρ é uma relação de equivalência.
  • 27.
    Classes de equivalência •Como ρ é uma relação de equivalência, então ela particiona S em classes de equivalência. • Se f está na mesma classe de equivalência que g dizemos que f tem a mesma ordem de grandeza que g. denotado por f = Θ(g), • Obs.1: devido à simetria, podemos também dizer que g tem a mesma ordem de grandeza que f, isto é, g = Θ(f). • Obs.2: a notação f = Θ(g) indica que f ∈ [g]. • Obs.3: Para cada classe de equivalência procura-se o representante mais simples. Por exemplo, para as funções f e g do exemplo anterior, podemos dizer que f = Θ(x2 ) e g = Θ(x2 ). Ou seja, a ordem de grandeza de um polinômio é sempre o termo de maior grau.
  • 28.
    Ordem de Grandeza •Seja h(x) = x2 . Se multiplicarmos h por constantes c1 e c2, por exemplo, c1=1/2 e c2 = 2, as funções c1h(x) e c2h(x) têm a mesma forma de h(x) e formam uma espécie de “envelope” em torno dos valores de h(x). Alterar os valores das constantes altera o “tamanho” do envelope mas não sua forma básica: c2h(x) h(x) c1h(x)
  • 29.
    Exercício Mostre que, paraf(x) = x e h(x) = x2 , f não é Θ(x2 ). c2h(x) h(x) c1h(x) f(x) n0
  • 30.
    Análise de Algoritmo •Na análise de algoritmos identificamos as tarefas importantes que o algoritmo deve realizar. • Em geral, o número dessas tarefas depende do tamanho da entrada: qual o acréscimo de trabalho à medida que n cresce. • Ao invés de computarmos a função exata da quantidade de trabalho, calcularmos a sua ordem de grandeza: • Por exemplo: a busca seqüencial em n elementos requer, no pior caso, n comparações (então é Θ(n)), e a busca binária requer 1+log n comparações (então é Θ(log n)).
  • 31.
    Hierarquia de Classes •Podemos dizer que a classe Θ(n) é uma ordem de grandeza menor que a classe Θ(n2 ), por que funções que são Θ(n) inevitavelmente, em algum ponto, se tornam inferiores à função Θ(n2 ). • Da mesma forma, a classe Θ(log n) é menor que a classe Θ(n). • Existe, portanto, uma hierarquia de classes: ∀ Θ(log n) < Θ(n) < Θ(n2 ) < Θ(n3 ) <...< Θ(nk ) <...< Θ(2n ) < Θ(3n ) < ... • Essas classes são chamadas de classes de complexidade e nos permitem classificar algoritmos.
  • 32.
    Classes de Complexidadede Algoritmos •Suponhamos que temos os algoritmos A, A’ e A’’ para realizar a mesma tarefa e que suas classes de complexidade têm diferentes ordens de grandeza: A é Θ(n), A’ é Θ(n2 ) e A’’ é Θ(2n ): Tempo total de processamento tamanho da entrada 10 50 100Algoritmo Ordem A Θ(n) 0,001s 0,005 s 0,01 s A’ Θ(n2 ) 0,01 s 0,25 s 1 s A’’ Θ(2n ) 0,1024 s 3570 anos 4x1016 séculos Obs.: supondo que um passo computacional tome 0,0001 s
  • 33.