SlideShare uma empresa Scribd logo
1 de 7
Baixar para ler offline
Algoritmos de busca
Prof. Francisco Glaubos
Deptº. de Informática, UFMA
francisco.glaubos@ufma.br
Prof. Francisco Glaubos UFMA / Licenciatura em computação - Estrutura de dados
Busca sequencial
● Também conhecida como busca linear
● Realiza uma busca elemento por
elemento
● Complexidade linear:
○ O(n)
● Para vetores ordenados, há algoritmos de
busca mais eficientes
○ Busca binária
2
Prof. Francisco Glaubos UFMA / Licenciatura em computação - Estrutura de dados
Busca binária
● Baseada no conceito de divisão e
conquista
● Parte do pressuposto de que o vetor já
está ordenado
● Faz várias divisões no vetor comparando
o elemento buscado com o elemento no
meio do vetor
3
Prof. Francisco Glaubos UFMA / Licenciatura em computação - Estrutura de dados
Busca binária: funcionamento
● Considera M, o elemento no meio da lista
● Caso o elemento x buscado for igual a M, então a busca
termina pois encontramos o valor buscado
● Se M > x, então a busca continua apenas na metade do
vetor que possui elementos menores que M
● Se M < x, então a busca continua apenas na metade do
vetor que possui elementos maiores que M
4
Prof. Francisco Glaubos UFMA / Licenciatura em computação - Estrutura de dados
Busca binária: algoritmo em Python
5
Prof. Francisco Glaubos UFMA / Licenciatura em computação - Estrutura de dados
Busca binária: complexidade
● A complexidade desse algoritmo é da ordem de O(log n)
○ mais eficiente que a busca linear
○ a cada iteração metade do vetor é eliminado da busca
● Por ex.:
○ considere um vetor com 1024 elementos
○ na busca linear, todos os 1024 elementos devem ser testados para afirmar que o
elemento buscado não está no vetor
○ Na busca binária, o primeiro teste elimina 512 elementos, o segundo 256, o terceiro
128 e assim por diante, até que a lista contenha apenas 1 elemento.
■ Ao invés de testar 1024 elementos, apenas 10 (ou log n) elementos são
testados
6
Prof. Francisco Glaubos UFMA / Licenciatura em computação - Estrutura de dados
Exemplo de execução
Saída:
>> 3
>> None
7

Mais conteúdo relacionado

Destaque

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Destaque (20)

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 

Slides algoritmos de busca

  • 1. Algoritmos de busca Prof. Francisco Glaubos Deptº. de Informática, UFMA francisco.glaubos@ufma.br
  • 2. Prof. Francisco Glaubos UFMA / Licenciatura em computação - Estrutura de dados Busca sequencial ● Também conhecida como busca linear ● Realiza uma busca elemento por elemento ● Complexidade linear: ○ O(n) ● Para vetores ordenados, há algoritmos de busca mais eficientes ○ Busca binária 2
  • 3. Prof. Francisco Glaubos UFMA / Licenciatura em computação - Estrutura de dados Busca binária ● Baseada no conceito de divisão e conquista ● Parte do pressuposto de que o vetor já está ordenado ● Faz várias divisões no vetor comparando o elemento buscado com o elemento no meio do vetor 3
  • 4. Prof. Francisco Glaubos UFMA / Licenciatura em computação - Estrutura de dados Busca binária: funcionamento ● Considera M, o elemento no meio da lista ● Caso o elemento x buscado for igual a M, então a busca termina pois encontramos o valor buscado ● Se M > x, então a busca continua apenas na metade do vetor que possui elementos menores que M ● Se M < x, então a busca continua apenas na metade do vetor que possui elementos maiores que M 4
  • 5. Prof. Francisco Glaubos UFMA / Licenciatura em computação - Estrutura de dados Busca binária: algoritmo em Python 5
  • 6. Prof. Francisco Glaubos UFMA / Licenciatura em computação - Estrutura de dados Busca binária: complexidade ● A complexidade desse algoritmo é da ordem de O(log n) ○ mais eficiente que a busca linear ○ a cada iteração metade do vetor é eliminado da busca ● Por ex.: ○ considere um vetor com 1024 elementos ○ na busca linear, todos os 1024 elementos devem ser testados para afirmar que o elemento buscado não está no vetor ○ Na busca binária, o primeiro teste elimina 512 elementos, o segundo 256, o terceiro 128 e assim por diante, até que a lista contenha apenas 1 elemento. ■ Ao invés de testar 1024 elementos, apenas 10 (ou log n) elementos são testados 6
  • 7. Prof. Francisco Glaubos UFMA / Licenciatura em computação - Estrutura de dados Exemplo de execução Saída: >> 3 >> None 7