完成一个习题(数据结构 C++)

[复制链接]
查看11 | 回复4 | 2010-8-3 07:55:54 | 显示全部楼层 |阅读模式
在一个广度优先的二叉树中,节点在一个规定的顺序下被访问。首先根节点的深度是0,接下来是,按从左到右的顺序。你能用一个queue去实现一个广度优先的二叉树。
Algorithm for Breadth- First Traversal of a Binary Tree
1. Insert the root node in the queue.
2.while the queue is not empty
3.Remove a node from the queue and visit it.
4.Place references to its left and right subtrees in the
queue.
You can use the queue class from the standard library.
这个程序需要在BinaryTree1.txt BinaryTee2.txt 中测试。你需要用到的文件在以下链接中会得到。
文件夹名字请用 yourname_BFS_FP.tar
可能的话请尽量在LINUX下编写,尽量不要用VC来写
多谢了先
下载地址是 rayfile /zh-cn/files/abe8045e-9d76-11df-bd6e-0015c55db73d/
请自行补全网址,多谢了先
3号能回到上来再加100分

回复

使用道具 举报

千问 | 2010-8-3 07:55:54 | 显示全部楼层
你需要两个列表,队列Q1,Q2Q1,用来访问节点,Q2用来临时存放儿子节点1.插入根节点到队列Q1,Q2中2.当队列Q1非空时循环执行:移除Q1中一个节点,并访问它3.循环访问Q2中的节点,并把它的子节点插入Q1中4.循环执行2->3步。直到执行完3时Q1为空由于时间关系(我还得上班去)先写了个粗略算法。如果晚上还没人回答,百度Hi我吧。大概19:00以后下班
回复

使用道具 举报

千问 | 2010-8-3 07:55:54 | 显示全部楼层
我也在学习数据结构,但是我们不考这么难度的编程题。不过建议你去找旁边的同学指导,或者找老师指导,找老师指导师最好的,毕竟你是付过学费的。他们有这个义务。
回复

使用道具 举报

千问 | 2010-8-3 07:55:54 | 显示全部楼层
下载地址是 rayfile /zh-cn/files/abe8045e-9d76-11df-bd6e-0015c55db73d/请自行补全网址不知道如何补全网址
回复

使用道具 举报

千问 | 2010-8-3 07:55:54 | 显示全部楼层
哇,这个分多。可惜我也在学习数据结构,且用的是C语言版严蔚敏的那本书。……mark下,学习了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行