{"id":71,"date":"2008-05-07T23:51:34","date_gmt":"2008-05-08T02:51:34","guid":{"rendered":"http:\/\/www.foxnet.com.br\/portal2\/?p=71"},"modified":"2019-01-16T16:37:24","modified_gmt":"2019-01-16T19:37:24","slug":"exemplo-de-arvore-binaria-em-java","status":"publish","type":"post","link":"https:\/\/www.foxnet.com.br\/portal3\/?p=71","title":{"rendered":"Exemplo de Arvore Bin\u00e1ria em Java."},"content":{"rendered":"<p>Bom.. isso est\u00e1 me deixando louco na faculdade&#8230;<br \/>\nSabe aquelas coisas que voc\u00ea entende mais n\u00e3o compreende&#8230;. \u00c9 \u00c1rvore Bin\u00e1ria.<\/p>\n<p>Postando\u00a0aqui o que saiu depois de muita luta&#8230; pra ajudar quem tiver prescisando de exemplo de \u00c1rvore Bin\u00e1ria em JAVA.<\/p>\n<p>O codigo esta abaixo, ou fa\u00e7a o download clicando aqui.<\/p>\n<pre><span lang=\"EN\"><span lang=\"EN\">\r\n<span style=\"color: #ff0000;\">\/*<\/span>\r\n<span style=\"color: #ff0000;\">* To change this template, choose Tools | Templates<\/span>\r\n<span style=\"color: #ff0000;\">* and open the template in the editor.<\/span>\r\n<span style=\"color: #ff0000;\">*\/<\/span>\r\n\r\n<span style=\"color: #ff0000;\">package arvorebinaria;<\/span>\r\n\r\n<span style=\"color: #ff0000;\">\/**<\/span>\r\n<span style=\"color: #ff0000;\">*<\/span>\r\n<span style=\"color: #ff0000;\">* @author fox<\/span>\r\n<span style=\"color: #ff0000;\">*\/<\/span>\r\n\r\n<span style=\"color: #ff0000;\">public class TesteArvoreBinaria {<\/span>\r\n<span style=\"color: #ff0000;\">public static void main(String[] args) {<\/span>\r\n<span style=\"color: #ff0000;\">new TesteArvoreBinaria().run();<\/span>\r\n<span style=\"color: #ff0000;\">}<\/span>\r\n\r\n<span style=\"color: #ff0000;\">static class No {<\/span>\r\n<span style=\"color: #ff0000;\">No esquerda;<\/span>\r\n<span style=\"color: #ff0000;\">No direita;<\/span>\r\n<span style=\"color: #ff0000;\">int valor;<\/span>\r\n\r\n<span style=\"color: #ff0000;\">public No(int valor) {<\/span>\r\n<span style=\"color: #ff0000;\">this.valor = valor;<\/span>\r\n<span style=\"color: #ff0000;\">}<\/span>\r\n<span style=\"color: #ff0000;\">}<\/span>\r\n\r\n<span style=\"color: #ff0000;\">public void run() {<\/span>\r\n<span style=\"color: #ff0000;\">No raiz = new No(20);<\/span>\r\n<span style=\"color: #ff0000;\">System.out.println(\"Exemplo de Arvore Binaria\");<\/span>\r\n<span style=\"color: #ff0000;\">System.out.println(\"Criando arvore com a raiz \" + raiz.valor);<\/span>\r\n<span style=\"color: #ff0000;\">inserir(raiz, 22);<\/span>\r\n<span style=\"color: #ff0000;\">inserir(raiz, 6);<\/span>\r\n<span style=\"color: #ff0000;\">inserir(raiz, 15);<\/span>\r\n<span style=\"color: #ff0000;\">inserir(raiz, 8);<\/span>\r\n<span style=\"color: #ff0000;\">inserir(raiz, 17);<\/span>\r\n<span style=\"color: #ff0000;\">inserir(raiz, 7);<\/span>\r\n<span style=\"color: #ff0000;\">inserir(raiz, 3);<\/span>\r\n<span style=\"color: #ff0000;\">inserir(raiz, 11);<\/span>\r\n<span style=\"color: #ff0000;\">inserir(raiz, 9);<\/span>\r\n<span style=\"color: #ff0000;\">remover(raiz, 15);<\/span>\r\n<span style=\"color: #ff0000;\">}<\/span>\r\n\r\n<span style=\"color: #ff0000;\">public void inserir(No node, int valor) {<\/span>\r\n<span style=\"color: #ff0000;\">if (valor &lt; node.valor) {<\/span>\r\n<span style=\"color: #ff0000;\">if (node.esquerda != null) {<\/span>\r\n<span style=\"color: #ff0000;\">inserir(node.esquerda, valor);<\/span>\r\n<span style=\"color: #ff0000;\">} else {<\/span>\r\n<span style=\"color: #ff0000;\">System.out.println(\" Inserindo \" + valor + \" a esqueda de \" + node.valor);<\/span>\r\n<span style=\"color: #ff0000;\">node.esquerda = new No(valor);<\/span>\r\n<span style=\"color: #ff0000;\">}<\/span>\r\n<span style=\"color: #ff0000;\">} else if (valor &gt; node.valor) {<\/span>\r\n<span style=\"color: #ff0000;\">if (node.direita != null) {<\/span>\r\n<span style=\"color: #ff0000;\">inserir(node.direita, valor);<\/span>\r\n<span style=\"color: #ff0000;\">} else {<\/span>\r\n<span style=\"color: #ff0000;\">System.out.println(\" Inserindo \" + valor + \" a direita de \" + node.valor);<\/span>\r\n<span style=\"color: #ff0000;\">node.direita = new No(valor);<\/span>\r\n<span style=\"color: #ff0000;\">}<\/span>\r\n<span style=\"color: #ff0000;\">}<\/span>\r\n<span style=\"color: #ff0000;\">}<\/span>\r\n\r\n<span style=\"color: #ff0000;\">public No remover(No node, int valor) {<\/span>\r\n<span style=\"color: #ff0000;\">System.out.println(\" Corendo No \" + node.valor);<\/span>\r\n<span style=\"color: #ff0000;\">if (node == null) {<\/span>\r\n<span style=\"color: #ff0000;\">System.out.println(\" Arvore vazia \");<\/span>\r\n<span style=\"color: #ff0000;\">}<\/span>\r\n<span style=\"color: #ff0000;\">if (valor &lt; node.valor) {<\/span>\r\n<span style=\"color: #ff0000;\">node.esquerda = remover(node.esquerda, valor);<\/span>\r\n<span style=\"color: #ff0000;\">} else if (valor &gt; node.valor) {<\/span>\r\n<span style=\"color: #ff0000;\">node.direita = remover(node.direita, valor);<\/span>\r\n<span style=\"color: #ff0000;\">} else if (node.esquerda != null &amp;&amp; node.direita != null) \/\/ 2 filhos<\/span>\r\n<span style=\"color: #ff0000;\">{<\/span>\r\n<span style=\"color: #ff0000;\">System.out.println(\" Removeu No \" + node.valor);<\/span>\r\n<span style=\"color: #ff0000;\">node.valor = encontraMinimo(node.direita).valor;<\/span>\r\n<span style=\"color: #ff0000;\">node.direita = removeMinimo(node.direita);<\/span>\r\n<span style=\"color: #ff0000;\">} else {<\/span>\r\n<span style=\"color: #ff0000;\">System.out.println(\" Removeu No \" + node.valor);<\/span>\r\n<span style=\"color: #ff0000;\">node = (node.esquerda == null) ? node.esquerda : node.direita;<\/span>\r\n<span style=\"color: #ff0000;\">}<\/span>\r\n<span style=\"color: #ff0000;\">return node;<\/span>\r\n<span style=\"color: #ff0000;\">}<\/span>\r\n\r\n<span style=\"color: #ff0000;\">public No removeMinimo(No node) {<\/span>\r\n<span style=\"color: #ff0000;\">if (node == null) {<\/span>\r\n<span style=\"color: #ff0000;\">System.out.println(\" ERRO \");<\/span>\r\n<span style=\"color: #ff0000;\">} else if (node.esquerda != null) {<\/span>\r\n<span style=\"color: #ff0000;\">node.esquerda = removeMinimo(node.esquerda);<\/span>\r\n<span style=\"color: #ff0000;\">return node;<\/span>\r\n<span style=\"color: #ff0000;\">} else {<\/span>\r\n<span style=\"color: #ff0000;\">return node.direita;<\/span>\r\n<span style=\"color: #ff0000;\">}<\/span>\r\n<span style=\"color: #ff0000;\">return null;<\/span>\r\n<span style=\"color: #ff0000;\">}<\/span>\r\n\r\n<span style=\"color: #ff0000;\">public No encontraMinimo(No node) {<\/span>\r\n<span style=\"color: #ff0000;\">if (node != null) {<\/span>\r\n<span style=\"color: #ff0000;\">while (node.esquerda != null) {<\/span>\r\n<span style=\"color: #ff0000;\">node = node.esquerda;<\/span>\r\n<span style=\"color: #ff0000;\">}<\/span>\r\n<span style=\"color: #ff0000;\">}<\/span>\r\n<span style=\"color: #ff0000;\">return node;<\/span>\r\n<span style=\"color: #ff0000;\">}<\/span>\r\n<span style=\"color: #ff0000;\">}<\/span><\/span><\/span><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Bom.. isso est\u00e1 me deixando louco na faculdade&#8230; Sabe aquelas coisas que voc\u00ea entende mais n\u00e3o compreende&#8230;. \u00c9 \u00c1rvore Bin\u00e1ria. Postando\u00a0aqui o que saiu depois de muita luta&#8230; pra ajudar quem tiver prescisando de exemplo de \u00c1rvore Bin\u00e1ria em JAVA. O codigo esta abaixo, ou fa\u00e7a o download clicando aqui. \/* * To change this&#8230; <\/p>\n<div class=\"read-more navbutton\"><a href=\"https:\/\/www.foxnet.com.br\/portal3\/?p=71\">Read More<i class=\"fa fa-angle-double-right\"><\/i><\/a><\/div>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[111,16],"tags":[112,494],"class_list":["post-71","post","type-post","status-publish","format-standard","hentry","category-java","category-programacao","tag-arvore-binaria","tag-java"],"_links":{"self":[{"href":"https:\/\/www.foxnet.com.br\/portal3\/index.php?rest_route=\/wp\/v2\/posts\/71","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.foxnet.com.br\/portal3\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.foxnet.com.br\/portal3\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.foxnet.com.br\/portal3\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.foxnet.com.br\/portal3\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=71"}],"version-history":[{"count":1,"href":"https:\/\/www.foxnet.com.br\/portal3\/index.php?rest_route=\/wp\/v2\/posts\/71\/revisions"}],"predecessor-version":[{"id":1203,"href":"https:\/\/www.foxnet.com.br\/portal3\/index.php?rest_route=\/wp\/v2\/posts\/71\/revisions\/1203"}],"wp:attachment":[{"href":"https:\/\/www.foxnet.com.br\/portal3\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=71"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.foxnet.com.br\/portal3\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=71"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.foxnet.com.br\/portal3\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=71"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}