Вы находитесь на странице: 1из 4

Um deque (double-ended-queue) uma lista linear onde as operaes de insero e remoo podem ser efetuadas tanto no incio quanto

o no final de uma lista linear. A pesquisa binria um mtodo que pode ser aplicado a tabelas ordenadas, armazenadas em dispositivos de acesso direto. O mtodo consiste na comparao do argumento de pesquisa (k) com a chave localizada no meio da tabela. Se for igual, a pesquisa termina com sucesso. Se k for maior, o processo repetido para a metade superior da tabela e se for menor, para a metade inferior.

Prefixa: - visita a raiz - visita a sub-rvore esquerda - visita a sub-rvore direita Infixa: - visita a sub-rvore esquerda - visita a raiz - visita a sub-rvore direita Posfixa: - visita a sub-rvore esquerda - visita a sub-rvore direita - visita a raiz BALANCEAMENTO ESTTICO Consiste em construir uma nova verso de uma rvore binria de pesquisa, reorganizando-a. Essa reorganizao possui duas etapas: 1. Percurso in-ordem sobre a rvore, para gerar um vetor ordenado com o contedo de todos os seus ns. 2. Criao de uma ABP a partir desse vetor, da seguinte forma: a) Identifica-se o n mdio do vetor, que passa a ser considerado a raiz da ABP que est sendo criada. b) Cada uma das metades do vetor tratada analogamente, de modo que cada n intermedirio ser a raiz de uma sub-rvore. BALANCEAMENTO DINMICO: AVL A idia consiste em verificar, aps cada incluso, se algum n ficou desbalanceado, isto , se a diferena de altura entre as 2 sub-rvores ficou maior do que 1. Em caso afirmativo, aplicam-se as transformaes apropriadas para rebalancelo. Exemplo 1: dada a rvore abaixo(a), retirando o 5 resulta uma rvore desbalanceada no n 10(b). A partir da, raciocina-se como se estivssemos inserindo: que n inserido teria causado esse desequilbrio? o 30. Aplicando os conhecimentos de insero em rvore AVL, constata-se que uma rotao simples esquerda resolve o problema. Oresultado est na AVL (c).

Exemplo 2: Retirando a folha 12 de (a), na figura abaixo , desbalanceia a raiz (b); supondo-se a insero recente de 8, corrige-se o desequilbrio mediante uma rotao dupla esquerda (c).

AVL

A operao bsica em uma rvore AVL geralmente envolve os mesmos algoritmos de uma rvore de busca binria desbalanceada. A rotao na rvore AVL ocorre devido ao seu desbalanceamento, uma rotao simples ocorre quando um n est desbalanceado e seu filho estiver no mesmo sentido da inclinao, formando uma linha reta. Uma rotao-dupla ocorre quando um n estiver desbalanceado e seu filho estiver inclinado no sentido inverso ao pai, formando um "joelho".

Rotao esquerda
Em uma rvore binria, basta empurrar o nodo N para baixo e para a esquerda. O filho direita de N o substitui, e o filho esquerda do filho direita vem a ser o novo filho direita de N. Rotao direita Numa rvore binria basta empurrar o nodo N para baixo e para a direita. O filho esquerda de N o substitui, e o filho direita do filho esquerda vem a ser o novo filho esquerda de N.
Uma rvore B de ordem M uma rvore de busca multidirecional balanceada que: - cada nodo tem no mximo M-1 chaves e a raiz tem no mnimo 1 chave - cada nodo no-raiz tem no mnimo (M-1)/2 chaves ( ordem 11 tem no mnimo 5 chaves /nodo; ordem 4: mnimo 1) - todas as folhas devem estar no mesmo nvel

Arvore B: uma vez realizado um seek, que consome um tempo considervel, toda os registros em uma mesma "pgina" do arquivo so lidos. Se cada pgina dessa rvore ocupar 8KB, permitindo a armazenagem de 511 pares chave-referncia; e cada pgina contiver uma rvore completa perfeitamente balanceada, ento a rvore toda pode armazenar um total de 134.217.727 chaves, sendo que qualquer delas pode ser acessada em, no mximo, 3 acessos ao disco. rvore binria: log2 (134.217.727) = 27 acessos > verso em pginas: log511+1 (134.217.727) = 3 acessos Numa rvore-B: as rvores fossem construdas de baixo para cima. Cada pgina formada por uma seqncia ordenada de chaves e um conjunto de ponteiros.

No existe uma rvore explcita dentro de uma pgina (ou n). O nmero de ponteiros em um n excede o nmero de chaves em 1. O nmero mximo de ponteiros que podem ser armazenados em um n a ordem da rvore. O nmero mximo de ponteiros igual ao nmero mximo de descendentes de um n. Exemplo: uma rvore-B de ordem 8 possui ns com, no mximo, 7 chaves e 8 filhos. Os ns folha no possuem filhos, e seus ponteiros so nulos. Para inserirmos um novo elemento em uma rvore-B, basta localizar o n folha X onde o novo elemento deva ser inserido. Se o n X estiver cheio, precisamos realizar uma subdiviso de ns, que consiste em passar o elemento mediano de X para seu pai e subdividir X em dois novos ns com round (m/2) - 1 elementos e depois inserir a nova chave. Se o pai de X tambm estiver cheio, repetimos recursivamente a subdiviso acima para o pai de X. No pior caso, teremos que aumentar a altura da rvore-B para podermos inserir o novo elemento. Note que, diferentemente das rvores binrias, as rvores-B crescem para cima.

1 Divide no meio no de baixo , sobrou espao insere o F na posio 2 Elege um para subir, no caso o C, j estava cheio no pai 3 Divide o pai e sobe um , no caso o P. Remoo: verificar numero mnimo e Maximo de participantes, fazer diviso, unio se necessrio. B+ Nesta estrutura, todas as chaves so mantidas em folhas, e algumas chaves so repetidas em ns no-folha para definir caminhos para localizar registros individuais. As folhas so ligadas atravs de uma lista duplamente encadeada, de modo a oferecer um caminho seqencial para percorrer as chaves na rvore. Esta lista chamada de Conjunto de Seqncia (Sequence Set). Portanto, enquanto a eficincia de localizao do registro seguinte em um rvore-B O(log n), numa rvore-B+ aumentada para O(1).

Quando um n e seu irmo estiverem completos, os dois ns sero divididos em trs (two-to-three splitting). Isso assegurar uma utilizao mnima do armazenamento de quase 67%, contra 50% de uma rvore-B tradicional. Na prtica, a utilizao do armazenamento ser ainda mais alta. Esse tipo de rvore chamado de rvore-B*. Os mtodos de classificao interna so divididos em cinco grupos de acordo com a tcnica empregada, so eles: 1. Classificao por Insero (insero direta e shell) 2. Classificao por Troca (bubblesort e quicksort) 3. Classificao por Seleo (seleo direta e heapsort) 4. Classificao por Distribuio (distribuio de chaves e radixsort) 5. Classificao por Intercalao (mergesort) Insero Direta Procura um elemento e troca de posio com ele. (mantem sub arranjo ordenado) Shell troca o elemento, mas com os pulos Bublle troca o elemento pelo prximo, repetidas vezes ,mas diminuindo no indo at o final do arquivo.. at no efetuar mais trocas (primeiro pelo segundo) Quicksort O particionamento do arquivo feito atravs da escolha de um determinado elemento, chamado piv, e em seguida todos os elementos menores que o piv ficam a sua esquerda enquanto aqueles maiores ficam do seu lado direito. O processo continua de forma recursiva ordenando-se o subarquivo particionado do lado esquerdo e o subarquivo particionado do lado direito. Troca posio do maior (procura valor menor piv) e menor um menor .(maior que o piv) Seleco direta forzo Heap 1. Preparao do monte inicial (heap): organiza o arquivo a ser ordenado em forma de rvore binria (no rvore de busca binria) na qual o valor do n ter que ser obrigatoriamente maior que seus sucessores; 2. Ordenao do heap que gerar o arquivo final ordenado. MergeSort O mtodo MergeSort (intercalao direta) funciona da seguinte maneira: divida o arquivo em n subarquivos de tamanho 1 e intercale pares de arquivos adjacentes. Temos, ento, aproximadamente n/2 arquivos de tamanho 2. Repita esse processo at restar apenas um arquivo de tamanho n.

Вам также может понравиться