📜  在Python使用 dstructure 库的二叉树

📅  最后修改于: 2022-05-13 01:54:57.197000             🧑  作者: Mango

在Python使用 dstructure 库的二叉树

dstructure包是一个Python库,用于处理数据结构和算法。在本文中,我们将讨论如何使用Python的 dstructure 库来实现二叉树并执行各种操作。

安装

要安装 dstructure,请打开终端并编写以下命令:

pip install dstructure

二叉树

元素最多有两个孩子的称为二叉树。由于二叉树中的每个元素只能有 2 个孩子,我们通常将它们命名为左孩子和右孩子。但是,dstructure 库有助于直接实现二叉树。

二叉树节点包含以下部分。

  1. 数据
  2. 指向左孩子的指针
  3. 指向右孩子的指针



可用方法

让我们看看可用于处理二叉树的不同方法。首先,我们将制作二叉树,然后应用所有方法。

为了创建二叉树,我们首先导入dstructure模块,创建一个BTree类对象来初始化一个空的二叉树,并使用insert()方法向树中插入节点。以下是用于在二叉树上创建和执行各种操作的各种方法。

  • insert(int_value):此函数采用 int 值并将该值添加到树中。
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)


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


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


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


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


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


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


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


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


输出:

  • inorder(obj):该函数将一个对象作为输入并返回树的中序遍历。

蟒蛇3

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

输出:

[10, 20, 23, 30, 40]
  • preorder(obj):该函数将一个对象作为输入并返回树的前序遍历。

蟒蛇3

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

输出:



[23, 10, 20, 30, 40]
  • postorder(obj):该函数将一个对象作为输入并返回树的后序遍历。

蟒蛇3

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

输出:

[20, 10, 40, 30, 23]
  • get_bfs() :此函数返回树的广度优先搜索遍历。

蟒蛇3

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

输出:

[23, 30, 10, 40, 20]
  • get_dfs():该函数返回树的深度优先搜索遍历。

蟒蛇3

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

输出:

[23, 10, 20, 30, 40]
  • left_view():该函数返回树的左视图。

蟒蛇3

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

输出:

[23, 10, 20]
  • right_view() :此函数返回树的右视图。

蟒蛇3

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

输出:

[23, 30, 40]
  • total_nodes() :此函数返回树中的节点数。

蟒蛇3

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

输出:

5