Pular para o conteúdo

B.4 · Tipos abstratos de dados (apenas HL)

International Baccalaureate · IB Diploma · Computer Science · HL · Tópico 8

Ver Slides Treinar
8.1

Escopo e pré-requisitos

Foco HL suportado. Primeiro avaliação 2027 meta; PDF oficial retorna 403; breve antigo adquirido é avaliação final 2026. Guia restante, avaliação e requisitos práticos mantêm seus retenções registradas.

Pré-requisitos: leia as quantidades e unidades declaradas, use aritmética e as condições do modelo abaixo. Cada lição desenvolve seu próprio método antes da transferência independente.

Estes são exemplos didáticos originais ou explicitamente fictícios, não medições reais ou investigações avaliadas concluídas por aprendizes.

8.2

Tipos de dados abstratos: um contrato de operação

O que explicaria esta observação?

  • Uma simulação de fila de espera precisa do item pendente mais antigo primeiro. Uma pilha fornece o item mais recente primeiro, então o contrato de operação importa.
  • Comece com uma previsão. Especifique as quantidades ou características que você compararia, depois decida quais evidências poderiam distinguir duas explicações.

Construa o modelo

  • Um tipo de dado abstrato especifica valores e operações independentemente de uma implementação particular. Uma pilha é último a entrar, primeiro a sair; uma fila é primeiro a entrar, primeiro a sair. Uma interface de coleção precisa de comportamento definido para operações vazias e inválidas.
  • pilha: Tipo abstrato de dados último a entrar, primeiro a sair; fila: Tipo abstrato de dados primeiro a entrar, primeiro a sair.
Tipos de dados abstratos: um contrato de operação: diagrama de caso resolvido original

Escolha evidências que possam testá-lo

  • Escolha a estrutura para o padrão de acesso necessário. A complexidade depende da implementação e das premissas: remover o primeiro item de um array deslizante difere de avançar um ponteiro de cabeça em uma fila.
  • Rastreie sequências de operações manualmente, depois compare um programa com os estados esperados. Teste operações vazias, singulares e repetidas. Descreva o comportamento de transbordamento se a capacidade for fixa.

Trabalhe a partir de quantidades conhecidas

  • Indique os valores conhecidos e suas unidades. Escolha a relação porque suas premissas se adequam a este caso, então reorganize antes de substituir.
  • Conhecido: enfileirar A, B e C, depois desenfileirar duas vezes. A e B saem; C permanece. Após enfileirar D, há dois itens pendentes, C então D. As mesmas empilhamentos em uma pilha removeriam C então B.

Exemplo:

Uma fila começa vazia, recebe 7 itens e remove 4. Encontre o número restante. Use a mesma sequência: quantidades conhecidas → modelo → relação → substituição → unidade e interpretação.


Verifique a conclusão e seus limites

  • Um TDA não é um layout de memória específico. Uma fila não ordena por prioridade a menos que seu contrato defina uma fila de prioridade.
  • Retorne à observação original. Explique o que o resultado apoia, quais condições ele assume e uma maneira de testar uma explicação concorrente.

Atenção:

Toda fila ordena automaticamente os itens por prioridade. Esta afirmação é falsa: Um TDA não é um layout de memória específico. Uma fila não ordena por prioridade a menos que seu contrato defina uma fila de prioridade.

Chave:

Tipos de dados abstratos: um contrato de operação: Escolha a estrutura para o padrão de acesso necessário. A complexidade depende da implementação e das premissas: remover o primeiro item de um array deslizante difere de avançar um ponteiro de cabeça em uma fila.

Rastreio executável e limite

from collections import deque
queue = deque()
queue.extend(["A", "B"])
print(queue.popleft())
queue.append("C")
print(queue.popleft())
print(list(queue))
queue.clear()
print(queue.popleft() if queue else "EMPTY")

Saída esperada:

A
B
['C']
EMPTY

Remover da esquerda implementa FIFO. A guarda explícita de lista vazia define o resultado de limite; deque.popleft sem ela levantaria IndexError. Uma pilha remove da direita.

Vocabulário Treinar
English Português
stack/stæk/ pilha
queue/kjuː/ fila

Mais tópicos em International Baccalaureate · IB Diploma · Computer Science · HL

Entrar ou criar conta

IGCSE, A-Level & AP