二叉链表存储公司机构相关数据
时间: 2024-06-13 22:09:40 浏览: 71
二叉链表是一种树形结构,可以用来存储公司机构相关数据。在二叉链表中,每个节点都有一个数据域和两个指针域,分别指向左子树和右子树。以下是一个示例代码:
```python
class Node:
def __init__(self, data):
self.data = data
self.left = None
self.right = None
class BinaryTree:
def __init__(self):
self.root = None
def insert(self, data):
new_node = Node(data)
if self.root is None:
self.root = new_node
else:
current = self.root
while True:
if data < current.data:
if current.left is None:
current.left = new_node
break
else:
current = current.left
else:
if current.right is None:
current.right = new_node
break
else:
current = current.right
def inorder_traversal(self, node):
if node is not None:
self.inorder_traversal(node.left)
print(node.data)
self.inorder_traversal(node.right)
def preorder_traversal(self, node):
if node is not None:
print(node.data)
self.preorder_traversal(node.left)
self.preorder_traversal(node.right)
def postorder_traversal(self, node):
if node is not None:
self.postorder_traversal(node.left)
self.postorder_traversal(node.right)
print(node.data)
# 示例代码
tree = BinaryTree()
tree.insert("CEO")
tree.insert("CFO")
tree.insert("CTO")
tree.insert("Manager")
tree.insert("Employee")
tree.inorder_traversal(tree.root)
```
上述代码中,我们定义了一个`Node`类来表示二叉链表中的节点,每个节点包含一个数据域和两个指针域。我们还定义了一个`BinaryTree`类来表示整个二叉链表,其中包含了插入节点、中序遍历、前序遍历和后序遍历等方法。在示例代码中,我们创建了一个二叉链表,并插入了一些节点,最后进行了中序遍历。
阅读全文