社区
C语言
帖子详情
求“二叉树”随机生成的算法!!!
__lhl__
2004-09-29 09:52:02
为了测试程序方便起见,我想设计一个函数,它能按照要求“层数”随机生成一棵二叉树,初步拟定用队列实现之(逐层生成),但又想不到好的办法来控制生成的树一定有指定的层数(我用随机数控制当前树”是否有左右子树“)!
严重求救!!!
...全文
321
2
打赏
收藏
求“二叉树”随机生成的算法!!!
为了测试程序方便起见,我想设计一个函数,它能按照要求“层数”随机生成一棵二叉树,初步拟定用队列实现之(逐层生成),但又想不到好的办法来控制生成的树一定有指定的层数(我用随机数控制当前树”是否有左右子树“)! 严重求救!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
短歌如风
2004-09-29
打赏
举报
回复
void build_random_tree(tree_node* root, int level)
{
if (level > 0)
{
if(rand() % 2 != 0)
{
tree_node->left = build_rand_node();
build_random_tree(tree_node->left, level - 1);
}
if(rand() % 2 != 0)
{
tree_node->right = build_rand_node();
build_random_tree(tree_node->right, level - 1);
}
}
}
stonepeter
2004-09-29
打赏
举报
回复
这样吧,每个节点记下一个层数
struct node
{
DataType data;
node *lchild, *rchild;
int layer;
},*Tree;
opengl显示二
叉树
随机
生成
建立二
叉树
通过OPENGL显示树状关系 但由于没有使用智能
算法
,显示时不能自动配置节点位置。
算法
入门教程——二
叉树
循序渐进的讲解二
叉树
的相关知识。其中包括二叉搜索树的插入、删除与查询、二
叉树
的遍历、
求
一颗二
叉树
的高度等重要且经典的知识。
随机
树
生成
算法
(就是树!)
一个
生成
随机
树(此树非彼数)的
算法
,树的结点编号从1开始,这个
算法
生成
了树的结点个数、树的结点的权值、树的每条边的结点。 如下面是一棵10结点的二
叉树
的
生成
结果: 10 -23 -44 -51 -9 13 51 62 11 -63 19 6 9 6 4 9 2 9 3 4 7 4 1 2 5 2 8 3 10 思路是将结点编号1-n push进vector中,然后
随机
选一个点为root,并从...
强迫症的
随机
二
叉树
分享一个
生成
随机
二
叉树
的小想法 PS:写这篇帖的人患了强迫癌,症状极其严重。 最近学习数据结构写了一些二
叉树
的
算法
,但偶尔调试的时候想整一棵
随机
二
叉树
来验证,自己建总是觉得
随机
性不高,所以抱着研究的心态写一个
生成
随机
二
叉树
的代码,跟大家分享一个想法,有不足的地方,但希望可以帮到一些有需要的朋友。 关于二
叉树
的概念,网上很多大神的分析都很到位,而且还有动画大神直接图形化的超级带感,这里就不多说了。由于后面要用到节点位置的值,所以这里简单讲一下二
叉树
位置的一些表示方法: 对于左边的满二
叉树
而言,根节点位置是1
C语言
69,373
社区成员
243,079
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章