二叉树的算法实现_第1页
二叉树的算法实现_第2页
二叉树的算法实现_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、二叉树算法实现二叉树的三种遍历:根据访问结点操作发生位置命名:NLR:前序遍历(PreorderTraversal亦称(先序遍历) 访问根结点的操作发生在遍历其左右子树之前。LNR:中序遍历(InorderTraversal) 访问根结点的操作发生在遍历其左右子树之中(间)。LRN:后序遍历(PostorderTraversal) 访问根结点的操作发生在遍历其左右子树之后。注意:由于被访问的结点必是某子树的根,所以N(Node)、L(Left subtree)和R(Right subtree)又可解释为根、根的左子树和根的右子树。NLR、LNR和LRN分别又称为先根遍历、 中根遍历和后根遍历。

2、二叉树 java 实现代码:package com.dgy.arithmetic;/binarytreesearch 二叉树查找public class BinaryTreeSearch /数据节点private int data_node ;/左子树private BinaryTreeSearch left;/右子树private BinaryTreeSearch right;/构造方法public BinaryTreeSearch( int data_node) this.data_node = data_node; this.left = null;this.right = null;/

3、先判断二叉树是否为空,为空则创建二叉树public static BinaryTreeSearch create_binarytree( int input) BinaryTreeSearch root = null;BinaryTreeSearch temp = null; for(int i=0;iinput. length;i+)if(root=null) /创建根结点root=temp= new BinaryTreeSearch(inputi);else/返回根结点temp = root;/添加节点while(temp. data_node !=inputi) if(inputi=te

4、mp. data_node ) if(temp.left!=null) temp = temp. left;elsetemp.left=new BinaryTreeSearch(inputi); elseif(temp.right!=null)temp = temp. right;elsetemp.right=new BinaryTreeSearch(inputi);return root;/前序遍历public static void preorder_traversal(BinaryTreeSearch binaryTreeSearch)if(binaryTreeSearch!= null

5、) System.out.print(binaryTreeSearch. data_node+ ); preorder_traversal (binaryTreeSearch. left); preorder_traversal (binaryTreeSearch. right);/后序遍历public static void postorder_traversal(BinaryTreeSearch binaryTreeSearch)if(binaryTreeSearch!= null) postorder_traversal (binaryTreeSearch. left); postord

6、er_traversal (binaryTreeSearch. right); System.out.print(binaryTreeSearch. data_node+ );/中序遍历public static void inorder_traversal(BinaryTreeSearch binaryTreeSearch)if(binaryTreeSearch!= null)inorder_traversal (binaryTreeSearch. left);System.out.print(binaryTreeSearch. data_node+ ); inorder_traversal

7、 (binaryTreeSearch. right);/层次遍历public static void levelorder_traversal()public static void main(String args) int input= 3,4,9,43,5,23,24,57;BinaryTreeSearch binaryTreeSearch = create_binarytree (input);System. out .println(前序遍历:);preorder_traversal (binaryTreeSearch);System. out.println();System. out .println(中序遍历:);postorder

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论