面向对象核心概念-Java实验三

面向对象核心概念-Java实验三

ID:44344468

大小:277.27 KB

页数:12页

时间:2019-10-21

面向对象核心概念-Java实验三_第1页
面向对象核心概念-Java实验三_第2页
面向对象核心概念-Java实验三_第3页
面向对象核心概念-Java实验三_第4页
面向对象核心概念-Java实验三_第5页
资源描述:

《面向对象核心概念-Java实验三》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、一.实验目的掌握Java的面向对象核心概念°二.实验软件环境OracleNetbeansIDE7三.实验内容1.(必做)编程题:由数据结构可知,已知一棵二叉树的前序和中序遍历序列,则可以唯一还原岀一棵二叉树请编写一个Java的GUI程序,要达到以下两个目标:A.在界面上有两个输入框,分别接受前序和中序的字符串输入(用大写字母表示树中结点),有一个按钮Run,按下之后在一个Label处显示出该二叉树的后序序列。B.在A的基础上,把二叉树用一种可视化的方式画出来。如:A以上“可视化”的二叉树是程序根据你所输入的前序和中序列自动生成的,可以考虑自己编程实现,也

2、可以考虑使用现成的JavaTree控件。请自行在互联网上查找可用的实现。2.(必做)设计题:请设计一组类、类的继承层次和接口,对上述的可视化二叉树进行封装,然后用该封装好的可视化二叉树模块来展示一个堆排序的过程和一个哈夫曼树的构造过程。本题的重点是对可视化二叉树进行设计和包装,然后再设计一个堆排序的类和一个哈夫曼树的类,若两者都能使用同一个可视化的二叉树类(或其子类),那你的设计就是成功的了。请给出框架性代码(类定义、方法定义、成员变量定义),界面设计,方法调用序列,以及必要的文字和图表说明来细化你的设计。!1!实验的结果及分析1、前序后序字符串生成程序

3、:程序的设计思路:程序包含一个节点类(BiTreeNode)和一个树类(BiTree),前序遍历字符串储存为一个队列,中序遍历字符串储存为一个字符串。根据二叉树的Top-down递归构造过程,树的生成叫由节点递归进行,前序字符串队列在每生成一个节点后就将该节点出队,而中序字符串则会以该节点的字符进行二分。白•・・§§S,,,^>gBinaryIreeRestorehil彳•…LinChan.JavaProject.ITetbgans.EntitimsBiTree.javaBiTreelTode.javaBiTreeNode类成员一览:成员视囹••色>••

4、电曰仓BilreelTodeBilreelTode(StringstrOriTree,BilreelTodebtriParent丿StringwGeneratgLgf*tChildGtringstrChildData)GenerateRightChild(Stringstr匚hi1dl>ata)OGeneratwSubTrgQ(LinkedList

5、丿getlTodeData():StringgetlTodeslTum():intmain(String[]args)gmtRightSubTree():StringisFind(Stringstrlnputed,LinkedListquelnputed)btnLe£tChiId:BilreelTodebtnRightChild:BilreelTodebtriRoot:BilreelTodeiritITodeslTum:iritstrLe£tSubTr^m:StringstrlTodeData:StringstrRightSubTrwQ:

6、String主要类成员说明:strLeftSubTree对象和strRightSubTree对象:分别是左右子树的屮序历遍字符串。构造方法:privateBiTreeNode(StringstrOriTree,finalBiTreeNodebtnParent,StringstrlnputedNodeData){this.btnRoot=btnParent;String[]strAirSplited=strOriTree.split(strInputedNodeData,2);//局限:不能识别重复的元素this.strLeftSubTree=strArr

7、Splited[O];this.strNodeData=strlnputedNodeData;this.strRightSubTree=strArrSplitedfl];}btnNewNode方法:改方法调用类的构造方法,返回新的节点,并对节点进行汁数。publicstaticBiTreeNodebtnNewNode(StringstrOriTree,finalBiTreeNodebtnParent,StringstrlnputedNodeData){BiTreeNodebtnNewNode=newBiTreeNode(strOriTree,btnPar

8、ent,strlnputedNodeData);intNodesNum++;〃节

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。