给定一个二叉树的表示,它可以有最多n个节点:
typedef struct node
{
int info,n;
struct node *left,*right;
}tree_node;
Run Code Online (Sandbox Code Playgroud)
从二叉树构造一个无向图,该二叉树最多可以有n个节点.
图表表示为结构:
typedef struct
{
int n;
tree_node *nodes[];
int adjacency_m[][];
}graph;
Run Code Online (Sandbox Code Playgroud)
我们可以使用Prim,Kruskal或DFS等算法从图中获取树.
问题:是否存在从二叉树创建图形的算法?例如,如果以顺序方式遍历二叉树,那么如何从中创建无向图?