Roteiro de aula — Listas Encadeadas
Protótipo de roteiro com explicação, perguntas, implementação parcial e exercício.
Algoritmos + Estruturas de Dados = Programas.
A otimização prematura é a raiz de todo o mal.
O que acontece se a poda vier depois do if (i == n)?
if (i == n) { imprime(); return; }
if (soma > limite) return;Ver dica 1Esconder dica 1
i == n.Ver dica 2Esconder dica 2
Ver respostaEsconder resposta
A folha é impressa sem conferir a soma: um subconjunto que passou do limite no último elemento aparece na saída.
Qual a complexidade de inserir no início de uma lista encadeada?
Ver soluçãoEsconder solução
Qual a altura mínima de uma árvore binária com
Ver respostaEsconder resposta
Esta não tem dica nem resposta. Veja a Pergunta 1.
Pelo Teorema 1, todo grafo tem um número par de vértices de grau ímpar.
O grau de um vértice
Em todo grafo
Demonstraçãotente antes de abrir
Cada aresta
Todo grafo tem um número par de vértices de grau ímpar.
Demonstraçãotente antes de abrir
A soma dos graus é par (Teorema 1). Os vértices de grau par contribuem com uma soma par; logo, a soma dos graus ímpares também é par, o que exige uma quantidade par de parcelas ímpares.
Qual a complexidade da busca binária no pior caso, para um vetor com
Quais das funções abaixo são
Roteiro de aula — Listas Encadeadas
Use note para destacar uma informação de apoio.
Use abstract para um resumo do que vem a seguir.
Use info para chamar atenção a uma informação importante.
Use tip para compartilhar uma dica útil.
Use check para indicar que algo foi concluído com sucesso.
Uma ideia ingênua para manter a árvore sempre balanceada seria...
Use warning para sinalizar um problema em potencial.
Use error para uma ação destrutiva ou de risco.
danger é um alias de error — mesma paleta, mesmo ícone.
warn é um alias de warning — mesma paleta, mesmo ícone.
Com título
Use note para destacar uma informação de apoio.
Use abstract para um resumo do que vem a seguir.
Use info para chamar atenção a uma informação importante.
Use tip para compartilhar uma dica útil.
Use check para indicar que algo foi concluído com sucesso.
Uma ideia ingênua para manter a árvore sempre balanceada seria...
Use warning para sinalizar um problema em potencial.
Use error para uma ação destrutiva ou de risco.
Título customizado (diferente do padrão do tipo)
O título não precisa repetir o nome do tipo — pode ser qualquer texto.
Outro exemplo de título livre, usando a paleta de error.
Título vazio explícito (deve se comportar como "sem título")
Passar title="" deve cair no mesmo formato compacto de omitir a prop.
- 1
First Step#
These are instructions or content that only pertain to the first step.
- 2
Second Step#
These are instructions or content that only pertain to the second step.
- 3
Third Step#
These are instructions or content that only pertain to the third step.
Este protótipo representa o tipo de roteiro que pretendo usar nas aulas práticas:
- explicação conceitual;
- implementação parcialmente pronta;
- perguntas para discussão;
- perguntas com resposta escrita;
- exercícios de implementação completa.
1. Modelo de um nó
Uma lista simplesmente encadeada pode ser representada por nós contendo um valor e um ponteiro para o próximo nó.
A complexidade de percorrer uma lista com
Um nó pode ser declarado em C assim:
typedef struct No {
int valor;
struct No *prox;
} No;
#include <stdio.h>
int main(void) {
printf("Olá, ED1!\n");
return 0;
}