二叉树的三叉链表存储及其Java实现

本文介绍了二叉树的一种特殊存储方式——三叉链表,通过这种方式,每个节点可以同时指向其父节点、左子节点和右子节点。详细讨论了这种数据结构的优势,并给出了相应的Java实现代码示例。
摘要由CSDN通过智能技术生成

三叉链表存储的思想是让每个节点持有三个引用parent、left、right,分别指向其父节点、左子节点和右子节点。如下图所示:

基于三叉链表的二叉树的逻辑结构

因此,三叉链表存储的节点大致如:

class Node{
        T data;
        Node parent;
        Node left;
        Node right;
    }
Java实现代码:

package com.liuhao.DataStructures;

import com.liuhao.DataStructures.TwoLinkBinTree.TreeNode;

public class ThreeLinkBinTree<E> {

	public static class TreeNode{
		Object data;
		TreeNode parent;
		TreeNode left;
		TreeNode right;
		
		public TreeNode() {
		}
		
		public TreeNode(Object data) {
			this.data = data;
		}

		public TreeNode(Object data, TreeNode parent, TreeNode left,
				TreeNode right) {
			this.data = data;
			this.parent = par
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值