Prévia do material em texto
Laços em Python Árvores Binárias Permitem iterar sobre Estruturas hierárquicas elementos de forma com nós que têm até dois eficiente. filhos. uso de 'enumerate' Permitem buscas eficientes facilita controle de e inserções ordenadas. contadores. A complexidade de busca é Laços simplificam a O(log n) em árvores manipulação de listas e balanceadas. arrays. Percursos incluem Podem ser usados para pré-ordem, em-ordem e percorrer listas pós-ordem. encadeadas. Estruturas Vetores e Arrays de Pilhas Estruturas que armazenam Estruturas LIFO elementos sequencialmente (Last In, First na memória. Dados Out) para O tamanho é calculado armazenamento. multiplicando O número de Operações elementos pelo tamanho do principais: push tipo. (inserir) e pop Exemplo: vetor de 34 (remover). inteiros ocupa 68 bytes. O topo da pilha Facilitam acesso rápido a indica a última elementos por posição ocupada. Complexidade de Algoritmos Implementação em Análise de tempo e espaço é crucial Python pode ser feita com listas. para eficiência. Complexidade média e pior caso devem Listas Encadeadas ser consideradas. Árvores AVL O(n), O(log n) e O(n^2) são exemplos Estruturas que consistem em Tipo de árvore binária comuns. nós conectados por balanceada que mantém ponteiros. Entender a complexidade ajuda na a altura. escolha de estruturas. Inserções e remoções são Rotações são usadas mais eficientes que em para manter arrays. balanceamento. Cada nó contém um valor e Inserções podem um ponteiro para próximo. desregular a árvore, Listas podem ser simples ou exigindo ajustes. circulares, dependendo da A busca em árvores AVL estrutura. é eficiente e rápida.