日期:2014-05-20  浏览次数:20606 次

数据结构初学者,有几道比较难的题目求教!
以下几道数据结构题求JAVA实现,谢谢大牛们了
第一题
(1)读入一连串字母(前序遍历)并根据字母顺序组成一个二叉搜索树,并逆时针旋转90度将树状结构打印出来(只需要打印字母本身,不需要打印直线,并打印出中序遍历
(2)然后输入第二串字符,如果二叉搜索树中含有输入字符的任何一个即删除之,最终得到一个新的二叉搜索树,然后一样将树状图和中序遍历打印一次。
一个例子如下(第一次输入MBADEROU(树的前序遍历),不能有空格):


第二题
(1)从tree.txt中读入一串数字并组成一个平衡二叉搜索树(AVL树),然后像第一题那样逆时针90度打印树状图
(2)写出计算这棵树的叶子间的最大距离的方法。例子如下(txt文件里的内容是数字10,20到90):

txt文件里的内容是数字10,20到90,diameter就是两个叶子路径的最大值(包括叶子本身)

第三题
如果两棵树分支相同就称这两棵树同形(不需要数值相同),譬如下面第一和第三棵树同形但一二不是:

写一个程序要求用户输入两串前序遍历的字符串组成二叉树,并判断这两棵树是否同形。输出例子如下:


分数不多,谢谢大家了

------解决方案--------------------
疑似作业题,自己努力吧
------解决方案--------------------
(1)读入一连串字母(前序遍历)并根据字母顺序组成一个二叉搜索树,并逆时针旋转90度将树状结构打印出来(只需要打印字母本身,不需要打印直线,并打印出中序遍历
逆转90度的意思 是不是根节点不变 然后左右节点变换位置呀?........
------解决方案--------------------
老师说自己的作业要自己做!
------解决方案--------------------
这么简单的网上一抓一大把,不过如果你上了课还做不出来,你们老师是不是欠抽?