小编use*_*352的帖子

创建BST的最佳实践:python

所以我正在实现一个二进制搜索树,但是我是否应该只有Node class一个Bst class或者只有一个类感到困惑.

原因是因为我知道BST是由节点组成的,但在任何时候你都可以获取一个节点及其下面的所有节点,而且本质上也是一个BST.

如果我有以下代码,那么我在插入时可以调用我的代码 self.left.insert(data)

class Bst():
def __init__(self, data):
    self.data = data
    self.left = None
    self.right = None

def insert(self, data):
    node_to_insert = Bst(data)
    if data < self.data:
        if self.left is None:
            self.left = Bst(data)
        else:
            self.left.insert(data)
    else:
        if self.right is None:
            self.right = Bst(data)
        else:
            self.right.insert(data)
Run Code Online (Sandbox Code Playgroud)

如果我这样做,那么他们是两个单独的东西a NodeBST然后在我的插入方法我有self.insert(data, node.left):

class Node():
    def __init__(self, data):
        self.data = data
        self.left = None
        self.right = None

class Bst():
    def __init__(self, root=None): …
Run Code Online (Sandbox Code Playgroud)

python insert binary-search-tree

5
推荐指数
1
解决办法
358
查看次数

标签 统计

binary-search-tree ×1

insert ×1

python ×1