Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas

Busca Binária em Listas Lineares em Alocação Sequencial, Resumos de Algoritmos e Programação

Este documento aborda o algoritmo de busca binária em listas lineares em alocação sequencial. Ele explica o funcionamento do algoritmo, realiza um exercício de busca binária para encontrar um número específico em uma lista ordenada, e discute as operações de inserção e remoção em listas lineares. Adicionalmente, o documento apresenta pilhas e filas e suas respectivas operações.

Tipologia: Resumos

2018

Compartilhado em 03/10/2022

davy-de-souza
davy-de-souza 🇧🇷

1 documento

1 / 24

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
LISTAS LINEARES EM ALOCAÇÃO SEQUENCIAL
Busca Binária
A ideia do algoritmo é percorrer a lista como se folheia, por
exemplo um dicionário, descartando as partes onde o nome
procurado, com certeza, não será encontrado.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18

Pré-visualização parcial do texto

Baixe Busca Binária em Listas Lineares em Alocação Sequencial e outras Resumos em PDF para Algoritmos e Programação, somente na Docsity!

  • Busca Binária
    • A ideia do algoritmo é percorrer a lista como se folheia, por exemplo um dicionário, descartando as partes onde o nome procurado, com certeza, não será encontrado.
  • Busca Binária
    • O primeiro nó pesquisado é o que se encontra no meio.
    • Se a comparação não é positiva, metade da lista pode ser abandonada na busca, uma vez que o valor procurado se encontra ou na metade inferior (se for menor), ou na metade superior (se for maior).
  • Exercício: Apresente todos os passos de uma busca binária para encontrar o número 300 na lista ordenada: 1 10 20 25 35 40 50 61 67 70 74 80 81 99 100 103 120 200 205 250 300 340 400 420
  • Exercício: Implemente um algoritmo para realizar uma busca binária em um vetor.
  • Exercício: Escreva um algoritmo para inserir um novo elemento em uma lista. Verifique se o elemento já existe antes de executar a inserção.
  • Inserção na lista L: (A memória pressuposta disponível tem M posições)
  • Remoção na lista L:
  • Remoção na lista L:
    • Uma alternativa ao algoritmo de remoção é efetuar o deslocamento do último elemento da lista para a posição vaga.
    • Nesse caso, entretanto, a sequência dos elementos fica alterada.
  • Pilhas Operações em uma pilha
  • Exercício: Escreva um algoritmo para inserir um novo elemento em uma pilha.
  • Exercício: Escreva um algoritmo para remover um elemento de uma pilha.
  • Remoção na pilha P:
  • Filas:
    • As filas exigem uma implementação um pouco mais elaborada.
    • São necessários dois ponteiros: início de fila (f) e retaguarda (r).
    • Para a adição de um elemento, move-se o ponteiro r.
    • Para a retirada, move-se o ponteiro f.
    • A situação de fila vazia é representada por f = r = 0.
  • Filas:
    • Pode-se observar na figura anterior que, à medida que os ponteiros são incrementados na memória disponível, a fila “se move”, o que pode dar origem à falsa impressão de memória esgotada.
    • Como resolver este problema?
  • Filas:
    • Para eliminar esse problema, consideram-se os M nós alocados como se estivessem em círculo.