- 浏览: 428969 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (170)
- java (77)
- javascript (5)
- jsp (1)
- servlet (6)
- struts (8)
- hibernate (3)
- spring (4)
- ajax (5)
- jquery (3)
- apache cxf (0)
- ext.js (1)
- hadoop (0)
- android (0)
- html5 (2)
- linux (5)
- flex (1)
- tomcat (1)
- jboss (0)
- nginx (0)
- mysql (16)
- sql server (3)
- oracle (4)
- div+css (0)
- mybatis (4)
- design patterns (22)
- xml (2)
- postgresql (3)
- velocity (1)
- freemarker (1)
- kendo-ui (2)
- ibatis (1)
- socket (1)
- C and C++ (1)
- C# (2)
- 程序设计----算法 (0)
- jersey (1)
- dd (0)
- perl (1)
- shell (0)
最新评论
-
书策稠浊:
兄弟,这tm是Java?
java调用百度地图和谷歌地图 -
fengyunlouyanyu:
jquery----删除指定id的div下的img -
yangjianzhouctgu:
Neoman 写道hi,我看你引入了kendo.web.min ...
kendo-ui中kendoGrid的用法 -
Neoman:
hi,我看你引入了kendo.web.min.js 这个js, ...
kendo-ui中kendoGrid的用法 -
yangjianzhouctgu:
llscp 写道这是JS吧...对的呀
java调用百度地图和谷歌地图
package com.xianfengshangtai.interview; /** * 已知给定输出为: * 1 * -2 * --3 * --4 * --5 * -6 * -7 * --8 * --9 * ---10 * ---11 * ---12 * 在空格去填入合适的语句 */ public class Problem15_17 { private static String m_strContents [] = {"1","2","3",null,"4",null,"5",null,null, "6",null,"7","8",null,"9","10",null,"11",null,"12",null,null}; public static void main(String[] args) { BTree bt = new BTree("root"); bt.generateTree(m_strContents); bt.getSon().browse(0); } }
BTree.java代码如下:
package com.xianfengshangtai.interview; /** * * 本程序用二叉树来表示森林 * @author yangjianzhou * 根节点除外,每个节点除了保存自己的信息外,还要保存孩子节点与兄弟节点的信息 * 解决方法:画图,使用栈来模拟程序运行过程 * _____________(横线处)是要填写代码的部分 */ public class BTree { private static int nNodesNum = 0;//表示当前节点的信息在输入数组中的索引 private String m_strNode;//保存节点本身的信息 private BTree m_btSon;//孩子节点 private BTree m_btBrother;//兄弟节点 public BTree(String strNode){ m_strNode = strNode; m_btSon = null; m_btBrother = null; } public BTree getSon(){ return m_btSon; } /** * n表示当前节点在第几层 * 当前节点的子节点在第n+1层 * @param n */ public void browse(int n){ for(int i=1;i<=n;i++){ System.out.print("-"); } System.out.println(m_strNode); if(m_btSon!=null){ m_btSon.browse(n+1); //__m_btSon.browse(n+1);______ //完成 } if(m_btBrother!=null){ m_btBrother.browse(n); } } /** * 生成森林 * @param strNodes */ public void generateTree(String[] strNodes){ nNodesNum = 0; addSon(strNodes); } /** * 添加孩子节点 * @param strNodes */ private void addSon(String[] strNodes){ if(nNodesNum>=strNodes.length){ return ; } if(strNodes[nNodesNum]==null){ nNodesNum++; addBrother(strNodes); }else{ m_btSon = new BTree(strNodes[nNodesNum++]); m_btSon.addSon(strNodes); addBrother(strNodes); //_______addBrother(strNodes);____________ } } /** * 添加兄弟节点 * @param strNodes */ private void addBrother(String[] strNodes){ if(nNodesNum>=strNodes.length){ return ; } if(strNodes[nNodesNum]==null){ nNodesNum++; return ; }else{ m_btBrother = new BTree(strNodes[nNodesNum++]); m_btBrother.addSon(strNodes); //_________不填写任何语句___________________ } } }
运行结果:
1 -2 --3 --4 --5 -6 -7 --8 --9 ---10 ---11 ---12
发表评论
-
spring boot应用测试框架介绍
2018-07-19 14:44 753个人原创博客:spring boot应用测试框架介绍 -
可执行jar包的配置与运行
2017-06-04 19:42 1009spring boot项目可以以jar包的形式执行运行。s ... -
多线程并发
2016-05-21 23:49 0Splitter.on('|').trimResults(). ... -
jdk动态代理实现原理
2016-05-09 23:12 775jdk的动态代理即使用反射来实现,具体由Proxy、Invoc ... -
spring常见注解
2016-05-01 23:33 12321.Autowired 通过spring的依赖注入功能来 ... -
spring常见配置作用
2016-04-29 23:08 937一般应用中常见spring的 ... -
数据来自两个系统时的内存分页算法
2016-04-24 23:12 844业务数据来自a-app与b-app,其中a-app中数据的业务 ... -
linux下java web开发环境搭建
2016-04-10 14:09 1135一般的java web开发涉及到的开发工具有:jdk、tomc ... -
linux下md5sum和DigestUtils.md5Hex的关系
2015-12-19 22:30 8527本文对linux下md5sum命令和java中DigestUt ... -
基于jersey的web service
2015-11-22 22:55 1012本文是基于jersey的web service 的两个小例子, ... -
面试总结----spring
2015-05-19 22:17 912spring在面试中经常被 ... -
面试总结----多线程
2015-05-18 22:10 902面试过程中,多线程被问到的概率非常大,差不多都会问的。 下面 ... -
面试总结----java虚拟机
2015-05-17 23:20 742在面试过程中,java虚拟机被问到的概率非常大,应该是每场面试 ... -
面试总结----java集合
2015-05-17 11:57 677春节刚过,打算换一份工作,于是就开始了一段准备面试的生活,准备 ... -
json串与对象之间转换的几种实现方式
2015-01-24 18:56 1878这里使用了gson,fastjson,jackson,json ... -
google关于事件的生产者消费者模式实现例子
2015-01-24 11:28 977google使用生产者/消费者模式实现了事件的产生传播处理过程 ... -
图形化显示---冒泡排序
2014-12-05 22:17 918代码: package com.thread.singal ... -
多线程----wait/notify
2014-11-06 22:06 688线程同步:两个线程依次对同一变量进行操作。 packag ... -
多线程-----阻塞队列
2014-11-05 22:43 851使用一个线程将一个指定目录下面的所有文件放在一个阻塞队列中,用 ... -
迷宫的最短路径
2014-08-19 00:31 3765代码如下: package com.chapterO ...
相关推荐
例如,可以使用`FileReader`和`BufferedReader`读取文件,用`FileWriter`和`BufferedWriter`写入文件。同时,`ObjectOutputStream`和`ObjectInputStream`可以用于序列化和反序列化Java对象,但这种方式通常不适用于...
通过构建最小带权路径长度的二叉树,可以生成效率高的编码方案,使频繁出现的字符占用更短的编码。 学习和掌握二叉树及其遍历对于任何IT专业人员来说都是至关重要的,因为它们在数据结构和算法的设计中扮演着核心...
此外,还要能够解决具体问题,如求二叉树的结点平均值、交换子树、构造二叉树、找到后根遍历的第一个结点、非递归后根遍历、确定结点层次,以及构建哈夫曼树和生成哈夫曼编码。完成这些任务有助于深化对二叉树的理解...
二叉树可执行代码,用了就知道 。 二叉树的遍历、线索及应用( 用递归或非递归的方法都可以) [问题描述] 建立二叉树,并输出二叉树的先序,中序和后序遍历序列,以及二叉树的叶子数。 [基本要求] 要求根据读取的...
在实际应用中,二叉树模版不仅可以用于解决传统的计算机科学问题,还可以扩展到其他领域,如人工智能中的决策树、机器学习中的随机森林等。熟悉并精通这些模版,将大大提高编程效率和解决问题的能力。
反过来,任何一棵二叉树也可以转换为森林,只需将右子树为空的节点作为树的根节点即可。 七、应用实例 二叉树在计算机科学中具有广泛的应用,如用于存储和处理具有层次关系的数据(如文件系统、组织结构图等)、...
* 建立一棵二叉树并分别用先根、中根、后根遍历的算法 * 建立一棵线索二叉树并寻找某结点的前驱和后继算法 * 建立一棵二叉排序树并用中序遍历的算法 实验三图的建立和遍历: * 掌握图的三种存储结构 * 掌握图邻接...
6. 树与森林:森林是由多棵树组成的集合,可以转化为对应的二叉树表示,反之亦然。在森林中也有相应的遍历方式。 理解并熟练掌握树和二叉树的概念、性质、遍历方法以及相关操作,是学习数据结构和算法的关键,对...
* Create(x,lbt,rbt):生成一棵以x为根结点的数据域信息,以lbt和rbt为左、右子树的二叉树。 * InsertL(x,Parent):将数据域信息为x的结点插入到二叉树中,插入位置是结点Parent的左孩子结点。 * DeleteL(bt,Parent)...
随机森林的生成规则包括:(1) 使用Bootstrap抽样方法从原始训练集构造子集;(2) 每棵树在分裂时只考虑随机选取的一部分特征;(3) 让每棵树尽可能地生长,不进行剪枝。这种随机性引入增强了模型的多样性和鲁棒性。 ...
7. 树、森林与二叉树的转换:通过左孩子右兄弟表示法可以将一般的树或森林转换为二叉树,反之亦然。 8. 哈夫曼树和编码:哈夫曼树是一种带权路径长度最短的二叉树,也称为最优二叉树。哈夫曼编码是根据哈夫曼树生成...
在二叉树中,森林可以通过二叉链表的形式表示,每个树的根节点作为链表中的一个节点,而森林的表示则通过根节点的子节点链表来体现。 **6.7 树和森林的遍历** 森林的遍历类似于单棵树的遍历,但需要处理多个根节点...
计算森林(多个无根二叉树)的叶子个数,需要对每棵树进行叶子计数。 6. **中序线索二叉树**:在二叉链表中插入线索,使得中序遍历可以连续进行,无需借助栈。线索化过程涉及修改节点的指针,使其既能表示子节点...
此外,还有有序树、无序树、森林等概念,以及孩子、双亲、子孙、祖先、兄弟等关系的定义。 接着,我们转向“二叉树”,它是树的一个特例,每个结点最多有两个子结点,分别称为左子结点和右子结点。二叉树也有多种...
在这个PPT课件中,涵盖了五个关键知识点:树的基本概念、二叉树的基本概念、哈夫曼树与哈夫曼编码、二叉树的遍历以及树与森林。 首先,树是一种抽象的数据结构,它由n个节点构成,其中n可以是0。当n为0时,我们称之...
例如,Dijkstra算法和Prim算法都用到了最小生成树的概念,它们在寻找网络中最短路径或构建成本最低的连接时发挥着关键作用。 总的来说,"合工大数据结构实验 - 树和森林"旨在通过实践让学生掌握树和森林的数据结构...
"二叉树.opt"和"c.opt"可能包含了编译器的优化设置,这些设置可以影响代码的生成方式,比如是否开启O2优化,或者选择其他性能相关的编译选项。"二叉树.plg"文件可能是编译器产生的编译日志或项目状态信息。 在人工...
- **转换**:树与二叉树之间可以通过特定操作互相转换,例如森林可以转换为二叉树,反之亦然。 5. **赫夫曼树及其应用**: - **赫夫曼树(Huffman Tree)**:是一种带权路径长度最短的二叉树,常用于数据压缩。 ...