python绘制完全二叉树图
时间: 2023-10-16 19:11:30 浏览: 202
以下是绘制完全二叉树图的Python代码:
```python
import networkx as nx
import matplotlib.pyplot as plt
def draw_complete_binary_tree(n):
"""
绘制n个节点的完全二叉树图
"""
# 创建节点列表
nodes = []
for i in range(1, n+1):
nodes.append(i)
# 创建完全二叉树图
G = nx.Graph()
G.add_nodes_from(nodes)
for i in range(1, n//2+1):
G.add_edge(i, 2*i)
if 2*i+1 <= n:
G.add_edge(i, 2*i+1)
# 绘制图形
pos = nx.kamada_kawai_layout(G)
nx.draw(G, pos, with_labels=True, node_color='lightblue', node_size=500, font_size=16)
plt.axis('equal')
plt.show()
# 示例:绘制8个节点的完全二叉树图
draw_complete_binary_tree(8)
```
结果如下图所示:
![完全二叉树图](https://i.loli.net/2021/07/05/qRW5jZGtV7rpJfD.png)
在上面的代码中,我们使用了networkx库和matplotlib库来绘制完全二叉树图。首先,我们创建了一个节点列表,然后使用networkx库创建了一个空的图形对象G,并向其中添加节点。接着,我们使用循环语句向图形对象中添加边,最后使用matplotlib库绘制出完全二叉树图形。在绘制图形时,我们使用了kamada_kawai_layout布局算法来确定节点的位置,使得图形更美观。
阅读全文