Árbol binario usando la biblioteca dstructure en Python

El paquete dstructure es una biblioteca de Python para tratar con la estructura de datos y el algoritmo. En este artículo, discutiremos cómo podemos implementar un árbol binario y realizar varias operaciones utilizando la biblioteca dstructure en Python.

Instalación

Para instalar dstructure, abra la terminal y escriba el siguiente comando:

pip install dstructure

Árbol binario

Un árbol cuyos elementos tienen como máximo dos hijos se llama árbol binario . Dado que cada elemento en un árbol binario puede tener solo 2 hijos, normalmente los llamamos hijo izquierdo y derecho. Sin embargo, la biblioteca dstructure ayuda a implementar directamente un árbol binario.

Un Node de árbol binario contiene las siguientes partes.

  1. Datos
  2. Puntero al niño izquierdo
  3. Puntero al niño derecho

Métodos disponibles

Veamos los diferentes métodos disponibles para manejar el árbol binario. Primero, haremos el árbol binario y luego aplicaremos todos los métodos.

Para crear un árbol binario, primero importamos el módulo de estructura, creamos un objeto de clase BTree para inicializar un árbol binario vacío y usamos el método insert() para insertar Nodes en el árbol. A continuación se muestran los diversos métodos utilizados para crear y realizar diversas operaciones en un árbol binario.

  • insert(int_value): esta función toma un valor int y agrega ese valor al árbol.

Python3

# import module
from dstructure.BTree import BTree
  
# create class
obj=BTree(23)
  
# insert nodes
obj.insert(10) 
obj.insert(20) 
obj.insert(30) 
obj.insert(40) 
  
# display object
print(obj)

Producción:

<dstructure.BTree.BTree object at 0x000001F02815B648>
  • inorder(obj): esta función toma un objeto como entrada y devuelve el recorrido inorder del árbol.

Python3

# return inorder in list
inorder = obj.inorder(obj)  
print(inorder)

Producción:

[10, 20, 23, 30, 40]
  • preorder(obj): esta función toma un objeto como entrada y devuelve el recorrido del árbol en preorder.

Python3

# return preorder in list
preorder = obj.preorder(obj) 
print(preorder)

Producción:

[23, 10, 20, 30, 40]
  • postorder(obj): esta función toma un objeto como entrada y devuelve el recorrido postorder del árbol.

Python3

# return postorder in list
postorder = obj.postorder(obj)  
print(postorder)

Producción:

[20, 10, 40, 30, 23]
  • get_bfs() : esta función devuelve el recorrido de búsqueda en anchura del árbol.

Python3

# return Breadth First Search of tree in list
bfs = obj.get_bfs()  
print(bfs)

Producción:

[23, 30, 10, 40, 20]
  • get_dfs(): esta función devuelve el recorrido de búsqueda en profundidad del árbol.

Python3

# return Depth First Search of tree in list
dfs = obj.get_dfs()  
print(dfs)

Producción:

[23, 10, 20, 30, 40]
  • left_view(): Esta función devuelve la vista izquierda del árbol.

Python3

# return Left View Of Tree in list
left = obj.left_view()
print(left)

Producción:

[23, 10, 20]
  • right_view() : Esta función devuelve la vista derecha del árbol.

Python3

# return Right View Of Tree in list
right = obj.right_view()  
print(right)

Producción:

[23, 30, 40]
  • total_nodes() : esta función devuelve el número de Nodes en el árbol.

Python3

# return the number of nodes present in the Tree
count = obj.total_nodes() 
print(count)

Producción:

5

Publicación traducida automáticamente

Artículo escrito por deepanshu_rustagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *