- 浏览: 231830 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (281)
- hibernate (16)
- sql工具 (2)
- eclipse (15)
- tomcat (13)
- 项目部署 (4)
- java (62)
- spring (15)
- EL (1)
- javascript (8)
- 正则表达式 (1)
- jQuery (4)
- mysql (15)
- jstl (1)
- jsp (1)
- eclipse,eclipse插件 (1)
- svn (4)
- java,resin (1)
- jdbc (1)
- jdk (2)
- android (21)
- resin (3)
- php (3)
- 其他 (2)
- 数据库 (2)
- cas单点登录 (2)
- 邮箱激活 (1)
- jad (1)
- 支付 (1)
- struts (1)
- jpa (1)
- struts2 (4)
- json (3)
- oracle (2)
- velocity (1)
- sina微博登陆 (2)
- qq账户登录 (1)
- spring security (1)
- java图片处理 (1)
- http请求 (1)
- cas springsecurity (1)
- freemarker (1)
- cas (6)
- java oauth2 (2)
- oauth2.0 (6)
- springsecurity oauth2 (1)
- sms (1)
- springmvc (2)
- spring aop (1)
- luaeclipse (1)
- cocos2d (1)
- hibernate缓存 (1)
- ibatis (1)
- linux (7)
- 技术网站 (1)
- python (2)
- hadoop (1)
- war3 (0)
- elasticsearch (2)
- jboss (1)
- spring data jpa (2)
- java json (1)
- jsonp (1)
- webservice (4)
- java多线程 (1)
- java加密解密 (1)
- spring task (1)
- java session and cookie (1)
- java nio (1)
- 缓存 (1)
- java大数据 (1)
- cygwin (1)
- 设计模式 (1)
- mybatis (2)
- jquery插件 (2)
- jvm内存溢出 (1)
- drools (1)
- cookie and session (1)
- jvm内存设置 (1)
- nginx (1)
- 微信 (1)
- extjs (1)
- redis (7)
- memcached (1)
- js闭包 (1)
- js (0)
- mongodb (3)
- dubbo (2)
- jdk版本问题 (1)
- opnfire (1)
- git (1)
- jsp视频播放 (1)
- 国际化 (1)
- 后台管理 (1)
- yum (1)
- k (1)
- 算法 (0)
- jvm优化 (1)
- java检测 (1)
- maven操作 (0)
- ios打包 (1)
- 网络通信 (1)
- node.js (1)
- maven (4)
- 消息队列 (2)
- springcloud (6)
- mq (2)
- idea (3)
- log4j (1)
- docker (4)
- editplus (1)
- springboot (1)
- Kubernetes (1)
- jenkins (1)
- websocket (1)
- thirft (1)
- strom (1)
- postman (1)
- kafka (1)
- 线程池 (1)
- JVisualVM (1)
- java反射 (1)
- shell (1)
- java8 (2)
- i18 (1)
- jvm (0)
- nio (1)
- nodejs (1)
- idea java (1)
最新评论
-
pengfeifei26:
wbzhaohl 写道这个有解决方案没有时间长了,貌似有点忘了 ...
A redirect is required to get the users approval -
wbzhaohl:
这个有解决方案没有
A redirect is required to get the users approval -
somebody:
恩。好吧。这个只有在 还没发布的 2.0 版本才有。
oauth2.0设置自动授权
package test; import java.util.ArrayDeque; import java.util.LinkedList; import java.util.List; /** * 功能:把一个数组的值存入二叉树中,然后进行3种方式的遍历 * * 参考资料0:数据结构(C语言版)严蔚敏 * * 参考资料1:http://zhidao.baidu.com/question/81938912.html * * 参考资料2:http://cslibrary.stanford.edu/110/BinaryTrees.html#java * * @author ocaicai@yeah.net @date: 2011-5-17 * */ public class BinTreeTraverse2 { private int[] array = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; private static List<Node> nodeList = null; /** * 内部类:节点 * * @author ocaicai@yeah.net @date: 2011-5-17 * */ private static class Node { Node leftChild; Node rightChild; int data; Node(int newData) { leftChild = null; rightChild = null; data = newData; } } public void createBinTree() { nodeList = new LinkedList<Node>(); // 将一个数组的值依次转换为Node节点 for (int nodeIndex = 0; nodeIndex < array.length; nodeIndex++) { Node node = new Node(array[nodeIndex]); nodeList.add(node); } // 对前lastParentIndex-1个父节点按照父节点与孩子节点的数字关系建立二叉树 for (int parentIndex = 0; parentIndex < array.length / 2 - 1; parentIndex++) { // 左孩子 nodeList.get(parentIndex).leftChild = nodeList.get(parentIndex * 2 + 1); // 右孩子 nodeList.get(parentIndex).rightChild = nodeList.get(parentIndex * 2 + 2); } // 最后一个父节点:因为最后一个父节点可能没有右孩子,所以单独拿出来处理 int lastParentIndex = array.length / 2 - 1; // 左孩子 nodeList.get(lastParentIndex).leftChild = nodeList.get(lastParentIndex * 2 + 1); // 右孩子,如果数组的长度为奇数才建立右孩子 if (array.length % 2 == 1) { nodeList.get(lastParentIndex).rightChild = nodeList.get(lastParentIndex * 2 + 2); } } /** * 先序遍历 * * 这三种不同的遍历结构都是一样的,只是先后顺序不一样而已 * * @param node * 遍历的节点 */ public static void preOrderTraverse(Node node) { if (node == null) return; System.out.print(node.data + " "); preOrderTraverse(node.leftChild); preOrderTraverse(node.rightChild); } /** * 中序遍历 * * 这三种不同的遍历结构都是一样的,只是先后顺序不一样而已 * * @param node * 遍历的节点 */ public static void inOrderTraverse(Node node) { if (node == null) return; inOrderTraverse(node.leftChild); System.out.print(node.data + " "); inOrderTraverse(node.rightChild); } /** * 后序遍历 * * 这三种不同的遍历结构都是一样的,只是先后顺序不一样而已 * * @param node * 遍历的节点 */ public static void postOrderTraverse(Node node) { if (node == null) return; postOrderTraverse(node.leftChild); postOrderTraverse(node.rightChild); System.out.print(node.data + " "); } public static void depthOrderTraversal(Node root){ if(root==null){ System.out.println("empty tree"); return; } ArrayDeque<Node> stack=new ArrayDeque<Node>(); //这种方法将元素推入此deque队列所表示的堆栈。 stack.push(root); while(stack.isEmpty()==false){ //这种方法的此deque队列所表示的堆栈弹出一个元素。 Node node=stack.pop(); System.out.print(node.data+" "); if(node.rightChild!=null){ stack.push(node.rightChild); } if(node.leftChild!=null){ stack.push(node.leftChild); } } System.out.print("\n"); } /** * 广度优先遍历 * 采用非递归实现 * 需要辅助数据结构:队列 */ public static void levelOrderTraversal(Node root){ if(root==null){ System.out.println("empty tree"); return; } ArrayDeque<Node> queue=new ArrayDeque<Node>(); queue.add(root); while(queue.isEmpty()==false){ //此方法检索并移除此deque队列的第一个元素。 Node node=queue.remove(); System.out.print(node.data+" "); if(node.leftChild!=null){ queue.add(node.leftChild); } if(node.rightChild!=null){ queue.add(node.rightChild); } } System.out.print("\n"); } public static void main(String[] args) { BinTreeTraverse2 binTree = new BinTreeTraverse2(); binTree.createBinTree(); // nodeList中第0个索引处的值即为根节点 Node root = nodeList.get(0); System.out.println("先序遍历:"); preOrderTraverse(root); System.out.println(); System.out.println("中序遍历:"); inOrderTraverse(root); System.out.println(); System.out.println("后序遍历:"); postOrderTraverse(root); System.out.println("深度遍历:"); depthOrderTraversal(root); System.out.println("广度遍历:"); levelOrderTraversal(root); } }
发表评论
-
solr使用
2015-03-08 12:31 0http://www.52menshao.com/conten ... -
java 对xml进行sax解析
2014-04-25 14:28 761import java.util.ArrayList; ... -
关于算法
2014-03-31 18:48 351http://bbs.csdn.net/topics/3907 ... -
java js 插件
2014-03-27 16:08 307http://www.malot.fr/bootstrap-d ... -
关于java模式
2014-03-13 17:04 252http://gxl-ct001.iteye.com/blog ... -
关于秒杀
2014-02-25 18:47 0http://www.blogjava.net/dongbul ... -
json格式时间转java时间
2014-01-08 16:17 999http://surongly.iteye.com/blog/ ... -
Java时间日期格式转换
2014-01-03 18:26 410http://blog.csdn.net/Miniyaner/ ... -
JAVA调用sms
2014-01-03 16:15 382http://sms.webchinese.cn/api.sh ... -
oauth2.0 accesstoken验证无效处理类
2013-12-24 19:20 1045org.springframework.security.oa ... -
oauth2.0设置自动授权
2013-12-24 19:12 1327将 oauth_client_details 库表中autoa ... -
刷新access_token 类
2013-12-24 18:52 600刷新access_token 类 先删除掉库里保存的记录,然 ... -
oauth2.0怎么验证accesstoken是否正确或合法
2013-12-24 18:05 2081验证access_token流程 OAuth2Authent ... -
怎么样判断accesstoken是否过期
2013-12-24 18:02 1762用code去换取token的时候,会返回三个参数:现在的acc ... -
Java模拟HTTP的Get和Post请求
2013-09-17 17:03 1046/** post * 调用httpClient ... -
通过url获取图片并保存至本地
2013-09-17 15:39 1139/** * 通过url获取图片并保存至本 ... -
css 控制字数,多出用...表示
2013-09-16 18:20 1187<html> <head> ... -
com/caucho/server/http/ResinServer
2013-09-12 18:33 1108java.lang.NoClassDefFoundError: ... -
sina微博和腾讯微博OAuth2.0授权笔记实例
2013-09-04 09:56 760sina微博和腾讯微博OAuth2.0授权笔记实例 -
sina微博oauth2 获取accessToken
2013-09-02 23:25 1016public String execute() throw ...
相关推荐
以二叉链表存储二叉树,按照完全二叉树的编号顺序输入节点,创建二叉树,最后,给出三种遍历的结果
采用二叉链表存储,实现二叉树的创建、遍历(递归)、赫夫曼编码和译码等典型操作。 1. 编程实现如下功能: (1)假设二叉树的结点值是字符型,根据输入的一棵二叉树的完整先序遍历序列(子树空用’#’表示),建立...
二叉树的建立和遍历算法 数据结构课程设计用
建立二叉树,实现二叉树的先序、中序、后序的递归遍历算法,输出遍历结果。 实现二叉树的先序、中序、后序和层次遍历的非递归算法,输出遍历结果。
利用递归方式完成二叉树的简单创建以及遍历。
大型二叉树建立与遍历系统\大型二叉树建立与遍历系统.
c语言中关于二叉树的先序遍历,链表的创建
数据结构实用教程之二叉树,其中包含了:二叉树的定义、二叉树的递归遍历、二叉树基本操作。 数据结构实用教程之二叉树,其中包含了:二叉树的定义、二叉树的递归遍历、二叉树基本操作。 数据结构实用教程之二叉树,...
大连理工大学数据结构上机 二叉树三种遍历,先序和中序建立二叉树,后序和中序建立二叉树,二叉搜索树查找,删除,插入
用C++写的二叉树先序遍历、中序遍历和后序遍历非递归算法
c语言,二叉树的建立和遍历操作。数据结构Bitree
二叉树创建及遍历算法
编写采用二叉链表形式存储的二叉树的创建、先序、中序、后序和按层遍历的算法。 2 编写将一棵二叉树的所有左右子树进行交换的算法。 提示:验证是否交换可以调用二叉树的遍历算法,比较输出结点序列。 3 编写一个...
本程序是数据结构课程设计作业,实现对二叉树的创建,遍历 找到相应结果,删除等操作。
二叉树的创建与遍历,使用递归调用,含前序遍历、中序遍历、后序遍历、层序遍历
C实现二叉树的建立及先中后序的遍历,控制台程序,在各版本vs上均可运行
关于二叉树的创建及遍历,代码实现功能。二叉树的创建和遍历 主要完成二叉树的创建以及二叉树的先序、中序、后序遍历
根据先序与中序遍历结果建立二叉树 输入为: 第一行:二叉树的先序遍历结果 第二行:二叉树的中序遍历结果 例如: ①输入aa则返回的指针指向的二叉树应该就是仅有一个节点,值为a. ②输入123213则返回的指针指向...
建立一棵二叉树,编程实现二叉树的如下操作: 1)按先序序列构造一棵二叉链表表示的二叉树T; 2)对这棵二叉树进行先序遍历(采用递归算法实现)与中序遍历(采用非递归算法实现),分别输出结点的遍历序列; 2)求...