首页 > 代码库 > (一)二叉树
(一)二叉树
二叉树
1.二叉树定义
在计算机科学中,二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”和“右子树”,左子树和右子树同时也是二叉树。二叉树的子树有左右之分,并且次序不能任意颠倒。二叉树是递归定义的,所以一般二叉树的相关题目也都可以使用递归的思想来解决,当然也有一些可以使用非递归的思想解决。
2.什么是二叉排序树
二叉排序树又叫二叉查找树或者二叉搜索树,它首先是一个二叉树,而且必须满足下面的条件:
1)若左子树不空,则左子树上所有结点的值均小于它的根节点的值;
2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值
3)左、右子树也分别为二叉排序树
4)没有键值相等的节点
3.二叉树节点定义
采用单项链表的形式,只从根节点指向孩子节点,不保存父节点。
//节点类,用于存储二叉树的节点信息 Class Node{ public int data; public Node leftChild; public Node rightChild; }
4.二叉树的操作
二叉树(我们这里以二叉排序树为例)的查找、插入操作:
1 Class Tree{ 2 //根节点 3 private Node root; 4 //当前节点 5 Node current = root; 6 7 //查找元素 8 public Node findNode(int key){ 9 if(key < current.data){ 10 current = current.leftChild; 11 } else if(key > current.data) { 12 current = current.rightChild; 13 } 14 else if(current == null) { 15 return null 16 } 17 return current; 18 } 19 }
(一)二叉树
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。