Python 中的数据结构与算法
Miriam Antona
Software engineer


















def in_order(self, current_node):if current_node:self.in_order(current_node.left_child)print(current_node.data)self.in_order(current_node.right_child)my_tree.in_order(my_tree.root)
10
20
22
65
68
70
75



















def pre_order(self, current_node):
if current_node:
print(current_node.data)
self.pre_order(current_node.left_child)
self.pre_order(current_node.right_child)
my_tree.pre_order(my_tree.root)
65
20
10
22
70
68
75

顺序:左 -> 右 -> 当前
复杂度:$O(n)$
中序
先序
后序























def dfs(visited_vertices, graph, current_vertex):
if current_vertex not in visited_vertices:
print(current_vertex)
visited_vertices.add(current_vertex)
for adjacent_vertex in graph[current_vertex]:
dfs(visited_vertices, graph, adjacent_vertex)
Python 中的数据结构与算法