在Python使用 dstructure 库的二叉树
dstructure包是一个Python库,用于处理数据结构和算法。在本文中,我们将讨论如何使用Python的 dstructure 库来实现二叉树并执行各种操作。
安装
要安装 dstructure,请打开终端并编写以下命令:
pip install dstructure
二叉树
元素最多有两个孩子的树称为二叉树。由于二叉树中的每个元素只能有 2 个孩子,我们通常将它们命名为左孩子和右孩子。但是,dstructure 库有助于直接实现二叉树。
二叉树节点包含以下部分。
- 数据
- 指向左孩子的指针
- 指向右孩子的指针
可用方法
让我们看看可用于处理二叉树的不同方法。首先,我们将制作二叉树,然后应用所有方法。
为了创建二叉树,我们首先导入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