Basta ya de investigar en otras webs porque estás al sitio adecuado, tenemos la solución que buscas y sin problema.
Ejemplo 1: árbol binario en golang
// Binary Tree in Golang
package main
import("fmt""os""io")
type BinaryNode struct
left *BinaryNode
right *BinaryNode
data int64
type BinaryTree struct
root *BinaryNode
func(t *BinaryTree)insert(data int64)*BinaryTree if t.root == nil
t.root =&BinaryNodedata: data, left: nil, right: nilelse
t.root.insert(data)return t
func(n *BinaryNode)insert(data int64)if n == nil returnelseif data <= n.data if n.left == nil
n.left =&BinaryNodedata: data, left: nil, right: nilelse
n.left.insert(data)elseif n.right == nil
n.right =&BinaryNodedata: data, left: nil, right: nilelse
n.right.insert(data)
func print(w io.Writer, node *BinaryNode, ns int, ch rune)if node == nil returnfor i :=0; i < ns; i++
fmt.Fprint(w," ")
fmt.Fprintf(w,"%c:%vn", ch, node.data)print(w, node.left, ns+2,'L')print(w, node.right, ns+2,'R')
func main()
tree :=&BinaryTree
tree.insert(100).insert(-20).insert(-50).insert(-15).insert(-60).insert(50).insert(60).insert(55).insert(85).insert(15).insert(5).insert(-10)print(os.Stdout, tree.root,0,'M')
Ejemplo 2: nodo de búsqueda en javascript de árbol
var stack =[], node, ii;
stack.push(root);while(stack.length >0)
node = stack.pop();if(node.title =='randomNode_1')// Found it!return node;elseif(node.children && node.children.length)for(ii =0; ii < node.children.length; ii +=1)
stack.push(node.children[ii]);// Didn't find it. Return null.return null;
Nos encantaría que puedieras compartir esta sección si te fue de ayuda.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)