一个树的算法问题,请作过的高手赐教
oo ooo o o oo o
oooo ooooo o oo o o oo
o o o o o oooooooo o oooo
o o o o o oooo oo o
有如上图所示的一个txt文件,由 '空格 '和 'o '构成一幅抽象画,要求生成任意个树(左右和上下相连的‘o’为一个树)。给了如下几个函数,要求实现。但是我现在不知道这些函数都是干什莫用的.
我现在把这个文件里的字符读到了一个数组中,假设这些函数都实现了,谁能告诉我怎末用这些函数生成树.头一次写树的算法,没有思路,请高手指点一二.
// This function creates a tree with a single node x
public void make_set(int x)
{
}
// Traverse parent pointers from x up the tree until you find the root of the tree
public int find_set(int x)
{
return 0;
}
// This function causes the root of one tree (containing x or y ) to point to
// the root of the other tree
public void union_sets(int x, int y)
{
}
// This function calculates and returns the total number of existing sets, and
// resets the lables of these sets to be integers started fron 1 to final_sets().
public int final_sets()
{
return 0;
}
[解决办法]
每个函数不都有注释了嘛,汗一个。。。
[解决办法]
就是那这些函数把上面的图形生成一个树
// This function creates a tree with a single node x
public void make_set(int x)
{
}
用一个x节点生成一棵树
类似上面的
按照英语翻译就好了