hpedrini / rubro-negra Goto Github PK
View Code? Open in Web Editor NEWThis project forked from marfanjr/rubro-negra
This project forked from marfanjr/rubro-negra
/*----------------------------------------------------------------------------*/ /* UFPR – Bacharelado em Ciência da Computação */ /* CI057: Algoritmos e Estruturas de dados III, 2sem/2013 */ /* Aluno: Marfan Fragoso Veras Junior - GRR20113754 */ /*----------------------------------------------------------------------------*/ /*----------------------------------------------------------------------------*/ Uma árvore vermelho-preto é uma árvore de pesquisa binária com um bit extra de armazenamento por nó: sua cor, que pode ser VERMELHO ou PRETO. Restringindo o modo como os nós podem ser coloridos em qualquer caminho desde a raiz até uma folha, as árvores vermelho-preto asseguram que nenhum desses caminhos será maior que duas vezes o comprimento de qualquer outro, de forma que a árvore é aproximadamente balanceada. Cada nó da árvore contém agora os campos cor, chave, pai, esq e dir. Uma árvore de pesquisa binária é uma árvore vermelho-preto se satisfaz às se- guintes propriedades vermelho-preto: 1. Todo nó é vermelho ou preto. 2. A raiz é preta. 3. Toda folha (NIL) é preta. 4. Se um nó é vermelho, então ambos os seus filhos são pretos. 5. Para cada nó, todos os caminhos desde um nó até as folhas descendentes contêm o mesmo número de nós pretos. Por questão de conveniência no uso de condições limites no código de árvores vermelho-preto, usamos uma única sentinela para representar NILL. Para uma ár- vore vermelho-preto T, a sentinela nodonull é um objeto com os mesmos campos que um nó comum na árvore. Seu compo cor é PRETO e seus outros campos--pai, esq, dir e chave--podem ser deginidos como valores arbitrários. Chamamos o número de nós pretos em qualquer caminho desde um nó x, sem incluir esse nó, até uma folha, de altura de preto do nó. Pela prorpriedade 5, a noção de altura de preto é bem definida, pois todos os caminhos descendentes a partir do nó têm o mesmo número de nós pretos. Definimos a altura de preto de uma ár- vore vermelho-preto como a altura de preto de sua raiz. Lema Uma árvore vermelho-preto com n nós internos tem altura no máximo 2lg(n+1). As operações sobre árvores de pesquisa arvRN_insere e arvRN_remove, quando executadas sobre uma árvore vermelho-preto com n chaves demoram o tempo O(lg n). Considerando-se que elas modificam a árvore, o resultado pode violar as pro- priedades vermelho-preto enumeradas acima. Para restabelecer essas propriedades, devemos mudar as cores de alguns nós na árvore e também mudar a estrutura de ponteiros. Mudamos a estrutura de ponteiros através de rotação. /*----------------------------------------------------------------------------*/
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.