Treinamento De Forca Adolescencia

Eastman School of Music - Bom pessoal, na aula de hoje a gente vai ver como fazer inserção em uma arvore binaria de busca Eu quero inserir um valor V qualquer, como eu faço isso? A gente pode seguir um conjunto de passos Eu tenho meu valor V, vou comparar ele com a raiz, se meu valor V é menor que a raiz eu vou andar para a sub-árvore da esquerda Comparo com a raiz, é menor? Vou para a sub-árvore da esquerda, se meu valor V é maior que a raiz então eu ando para a sub-árvore da direita Menores sempre a esquerda, maiores sempre a direita, opa, meu valor aqui é maior que 50, então eu vou para a direita Isso aqui é suficiente, eu executo esse conjunto de passos recursivamente, ou seja, estou na raiz, se meu valor V é menor Eu vou para a esquerda e aplico isso aqui recursivamente, pode ser implementado sem recursão apesar dessa ideia ser escrita de forma recursiva Eu posso implementar sem recursão a inserção, bastante simples também, não é necessário usar a recursão Tenho que considerar também o caso inicial, que é a inserção feita em uma arvore vazia, eu tenho minha TAD onde a raiz está apontando para NULL Eu não tenho nenhum nó inserido na minha arvore, estou inserindo em uma arvore vazia, aqui um novo nó Conteúdo da raiz está apontando para este nó novo, para a estrutura que armazena a informação Como fica a codificação, aqui como vou chamar minha função no meu programa principal, vai sempre retornar um número inteiro. Aqui o protótipo no meu .h, 0 deu erro na operação e 1 foi inserido com sucesso, sempre vou passar minha arvore e o valor que vou inserir Por isso estou guardando só um número inteiro, aqui a implementação, primeiro a verificação se eu tenho uma árvore válida Estou implementando sem recursão, a minha arvore é válida? Então não entra nesse if, estou alocando um novo nó Usando a minha struct nó se deu erro na alocação retorna 0, não da para fazer inserção, deu certo Sempre que eu inserir um elemento, ele vai ser uma folha da arvore, vai descendo até chegar em uma folha e o novo nó será uma folha Como ele vai ser uma nova folha, direita e esquerda aponta para NULL, e eu copiei o valor que quero inserir para o campo info Esse novo é o novo nó que vou inserir como nó folha da arvore, criei o nó agora tenho que procurar o lugar dentro da arvore Eu começo vendo se minha árvore é uma arvore vazia, se for é só inserir, raiz aponta para o novo nó. Não é uma arvore vazia, vou começar a percorrer, navegar os nós da arvore para saber onde estou Criei um nó atual que vai receber o conteúdo da raiz, ou seja, o primeiro nó, um anterior que guarda o NULL Enquanto o nó atual for diferente de NULL eu vou descendo na arvore, o anterior recebe o atual e eu comparo O valor é igual a informação guardada dentro do nó atual? Comecei o atual com raiz, se forem iguais, eu disse que não vou guardar valores repetidos Então eu vou liberar o nó que eu tinha alocado e vou retornar 0, o elemento já existe, bom, o valor não é igual, então pode ser maior ou menor Se o valor for maior que o guardado atual recebe o nó da direita, eu simplesmente fiz, se o atual está apontando para esse nó Agora ele passa pra apontar para esse aqui, se não, atual recebe esquerda, mesmo processo aqui para o nó da esquerda Apontava para esse e passa a apontar pra esse, perceba que estou dentro de um laço, eu vou fazendo isso até o momento em que Atual vai receber NULL, ou seja, cheguei em um nó folha, se eu cheguei em um nó folha meu atual virou NULL Meu campo ant que estava guardando sempre o atual antes de ele mudar, o atual está apontando pra cá, o ant está apontando para a última folha E aí eu verifico aonde eu vou inserir, se meu valor é maior que o valor guardado dentro do anterior Eu guardo ele como um novo nó a direita do anterior, se não, eu coloco esse novo nó como um filho a esquerda do nó anterior E retorno 1, deu certo a inserção, perceba que meu return está fora do else, porque eu não fiz nenhum return nessa linha Se eu entrar aqui, terminou o if, return 1, entrou no else, se deu certo return 1, se deu erro return 0 dentro do while É bem simples, vou sempre andando pra direita e pra esquerda até chegar em um nó folha, aí o nó anterior aponta para essa folha onde vou inserir um novo nó Quero inserir um nó folha por exemplo, o 40, então eu começo aqui, 40 é menor que 50? Sim, vou para esquerda, é maior que 10? Sim, vou para direita, é maior que 30? Sim vou para direita de novo 40 é maior que 45, não, vou para esquerda, quando eu chego aqui, esse nó não existe ainda, eu tenho NULL Então o atual vai estar igual NULL, o anterior é o último nó que o atual tinha apontado, então aqui é o anterior O anterior a esquerda vai receber o meu novo nó, porque ele é menor, então anterior que aponta para esquerda recebe um novo nó Inseri ele aqui, essa é a ideia quando estou percorrendo, eu vou descendo até chegar em uma folha O atual vai apontar para o campo NULL, o anterior aponta para o nó, onde eu tenho que inserir esse novo elemento. É bem simples a ideia de fazer inserção dentro de uma arvore binária de busca eu sempre vou fazer esse esquema Comparando o valor que eu quero inserir com cada um dos nós até chegar no nó folha, aí eu insiro um novo nó como uma folha desse último nó Ele deixa de ser folha e o novo passa a ser uma nova folha, bem simples a inserção, próxima aula vamos ver como remover um nó Até mais.

Treinamento de forca adolescencia uscs cursos Pelotas prometazina apresentacao. Novo Hamburgo artigo 611 e 612 clt Trabalhos não Escritos, artigo 127 codigo de transito brasileiro Dissertação, como conseguir o diploma do ensino medio Relatórios, artigo de servico social na saude Trabalho de pesquisa. Temas de monografias de educacao fisica curso agronomia piracicaba treinamento de forca adolescencia Lagarto imagens abstratas o que e. Curso de transporte de valores em salvador Bibliografia anotada Jacareí curso preparatorio fatima soares facebook, jogral para o dia das maes 5o ano.

Eunápolis:

Gerald Riley, Dutchess: Cayuga Community College. Palhoça: Queens College; 2015.

Charlotte Ryan, Orleans. Codó: Lower Manhattan at 60 West Street (main campus); 2014.

Sally Peterson, River Drive, East zip 10035. São Paulo: Albert Einstein College of Medicine; 2005.

inserted by FC2 system