public class TreeNode<E> { //左结点、右结点、父结点 private TreeNode<E> left; private TreeNode<E> right; private TreeNode<E> parent; private E data; //结点的构造器,存储入数据 public TreeNode(E e){ this.setData(e); } //设置父结点的方法 public void setParent(TreeNode<E> parent) { this.parent = parent; } //得到父结点的方法 public TreeNode<E> getParent() { return parent; } //设置左结点的方法 public void setLeft(TreeNode<E> left) { this.left = left; } //得到左结点的方法 public TreeNode<E> getLeft() { return left; } //设置右结点的方法 public void setRight(TreeNode<E> right) { this.right = right; } //得到右结点的方法 public TreeNode<E> getRight() { return right; } //存储入数据的方法 public void setData(E data) { this.data = data; } //得到数据的方法 public E getData() { return data; } }
public class TreeNodeTest { /** * @param args */ public static void main(String[] args) { paintTree(CreatTree()); } /** * 建树 * @return:树的根节点 */ public static TreeNode<String> CreatTree(){ TreeNode<String> root = new TreeNode<String>("媒"); root.setParent(root); TreeNode<String> left = new TreeNode<String>("杰"); TreeNode<String> right = new TreeNode<String>("李"); root.setLeft(left); root.setRight(right); left.setParent(root); right.setParent(root); TreeNode<String> left_left = new TreeNode<String>("蓝"); TreeNode<String> left_right = new TreeNode<String>("数"); left.setLeft(left_left); left.setRight(left_right); left_left.setParent(left); left_right.setParent(left); TreeNode<String> right_left = new TreeNode<String>("班"); TreeNode<String> right_right = new TreeNode<String>("勇"); right.setLeft(right_left); right.setRight(right_right); right_left.setParent(right); right_right.setParent(right); return root; } /** * 打印数中的数据 * @param root:树的根节点 */ public static void paintTree(TreeNode<String> root){ if(root!=null){ String s = root.getData(); System.out.println("数据是:"+s); TreeNode<String> node1 = root.getLeft(); TreeNode<String> node2 = root.getRight(); paintTree(node1); paintTree(node2); } } }
您还没有登录,请您登录后再发表评论
数据结构中的树是一种重要的抽象数据类型,它模拟了自然界中许多结构的层次关系。在C语言版的数据结构中,树的表示和操作是关键部分。本文主要梳理了树与二叉树的相关知识点,并包含了相关作业习题的详解。 首先,...
小结 通过上述分析,我们可以看到二叉树的顺序存储表示在C语言中的实现细节。这种方式不仅节省了空间,而且在处理一些特定问题时,如寻找父节点或子节点,可以极大地提高效率。然而,它也存在一定的局限性,比如...
"C语言数据结构的小结"是一个针对初学者的指南,旨在帮助他们理解并掌握C语言中的数据结构概念。数据结构是计算机科学的核心组成部分,它涉及到如何有效地组织和管理数据,以便于高效地访问和操作。 首先,我们要...
小结 这段代码提供了一个基本的框架来处理二叉树的操作,包括创建、遍历、计算节点数量、计算叶子节点数量和计算树的深度等功能。通过对这些函数的理解和使用,可以帮助我们更好地掌握二叉树的相关概念和操作方法。...
数据结构中的二叉树是一种重要的抽象数据类型,它在计算机科学中被广泛应用,尤其是在算法设计、数据存储和问题解决等领域。二叉树是由节点(也称为结点)构成的,每个节点最多有两个子节点,分别被称为左子节点和右...
6. **求二叉树中所有结点数**:`BinTreeCount(BitTree BT)` 函数计算二叉树中的节点总数。 在题目二中,涉及到一个与二叉搜索树(BST)相关的应用问题。BST 是一种特殊的二叉树,其中每个节点的左子树包含所有小于...
实验小结强调了书本和PPT是学习的重要资源,并提醒在未来的编程中注意类型定义的一致性。 总的来说,这个实验报告覆盖了二叉树的基本概念、创建、遍历和操作,通过实际编码加深了对二叉树的理解。在学习和实践中,...
七、实验小结 * 遇到的问题:对于树的递归思想不是很明白,需要通过画图分析和思考来明白。 * 解决方法:通过画图分析和思考,明白了树的递归思想。 * 实验体会和收获:只要愿意思考,就会有收获,别为懒惰找借口。
使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。 使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。 3) 使...
树是一种抽象的数据类型,它模拟了自然界中的树形结构,被广泛应用于计算机科学的各个领域,例如文件系统的目录结构、XML文档的解析等。 #### 二、树的定义与基本术语 ##### 1. 树的定义 树是由一个或多个节点组成...
- **实验小结**:讨论二叉树的不同形态(满二叉树、完全二叉树、平衡二叉树等),以及它们在不同场景下的应用。 通过这三个实验,学生可以深入理解数据结构的基本原理,掌握C语言实现数据结构的方法,为后续的算法...
在本PPT学习教案中,主要探讨了树的基本概念,包括二叉树在内的特殊类型的树,以及它们的遍历和存储方法。 首先,树是由一个或多个结点组成,其中有一个特定的结点被称为根结点,其余结点分为若干个互不相交的子集...
在本实验报告中,主要涉及了数据结构中的线性表和二叉树的实现,具体包括基于顺序存储结构和链式存储结构的线性表,以及基于二叉链表的二叉树。以下是对这些知识点的详细说明: 1. **线性表**: 线性表是一种基本...
在该资源中,我们首先定义了平衡二叉树的抽象数据类型(ADT),包括数据对象、数据关系和基本操作。在这里,我们使用C语言实现了平衡二叉树的操作,包括树的建立、插入、删除和查找等。 平衡二叉树的ADT定义 我们...
抽象数据类型 有序链表 双向链表 迭代器 小结 问题 实验 编程作业 第6章 递归 三角数字 阶乘 变位字 递归的二分查找 汉诺(Hanoi)塔问题 归并排序 消除递归 一些有趣的递归应用 小结 问题 实验 ...
抽象数据类型 有序链表 双向链表 迭代器 小结 问题 实验 编程作业 第6章 递归 三角数字 阶乘 变位字 递归的二分查找 汉诺(Hanoi)塔问题 归并排序 消除递归 一些有趣的递归应用 小结 问题 实验 编程作业 第7章 高级...
1.4小结 第2章数组 2.1数组 2.2Delphi中的数组类型 2.3TList类和指针数组 2.4磁盘数组 2.5小结 第3章链表、栈和队列 3.1单链表 3.2双向链表 3.3链表的优缺点 3.4栈 3.5队列 3.6小结 .第4章查找 4.1比较...
1.2.3 数据类型和抽象数据类型 6 1.3 抽象数据类型的表示与实现 7 1.4 算法和算法分析 11 1.4.1 算法的定义及特性 11 1.4.2 评价算法优劣的基本标准 11 1.4.3 算法的时间复杂度 12 1.4.4 算法的空间...
二叉树是树的一个特殊类型,每个节点最多有两个子节点,分别被称为左子节点和右子节点。 在树的基本概念中,定义了树的几个关键特征: 1. 树是由至少一个节点(根节点)组成的有限集合,其余节点都有且仅有一个直接...
相关推荐
数据结构中的树是一种重要的抽象数据类型,它模拟了自然界中许多结构的层次关系。在C语言版的数据结构中,树的表示和操作是关键部分。本文主要梳理了树与二叉树的相关知识点,并包含了相关作业习题的详解。 首先,...
小结 通过上述分析,我们可以看到二叉树的顺序存储表示在C语言中的实现细节。这种方式不仅节省了空间,而且在处理一些特定问题时,如寻找父节点或子节点,可以极大地提高效率。然而,它也存在一定的局限性,比如...
"C语言数据结构的小结"是一个针对初学者的指南,旨在帮助他们理解并掌握C语言中的数据结构概念。数据结构是计算机科学的核心组成部分,它涉及到如何有效地组织和管理数据,以便于高效地访问和操作。 首先,我们要...
小结 这段代码提供了一个基本的框架来处理二叉树的操作,包括创建、遍历、计算节点数量、计算叶子节点数量和计算树的深度等功能。通过对这些函数的理解和使用,可以帮助我们更好地掌握二叉树的相关概念和操作方法。...
数据结构中的二叉树是一种重要的抽象数据类型,它在计算机科学中被广泛应用,尤其是在算法设计、数据存储和问题解决等领域。二叉树是由节点(也称为结点)构成的,每个节点最多有两个子节点,分别被称为左子节点和右...
6. **求二叉树中所有结点数**:`BinTreeCount(BitTree BT)` 函数计算二叉树中的节点总数。 在题目二中,涉及到一个与二叉搜索树(BST)相关的应用问题。BST 是一种特殊的二叉树,其中每个节点的左子树包含所有小于...
实验小结强调了书本和PPT是学习的重要资源,并提醒在未来的编程中注意类型定义的一致性。 总的来说,这个实验报告覆盖了二叉树的基本概念、创建、遍历和操作,通过实际编码加深了对二叉树的理解。在学习和实践中,...
七、实验小结 * 遇到的问题:对于树的递归思想不是很明白,需要通过画图分析和思考来明白。 * 解决方法:通过画图分析和思考,明白了树的递归思想。 * 实验体会和收获:只要愿意思考,就会有收获,别为懒惰找借口。
使学生进一步理解和掌握课堂上所学各种基本抽象数据类型的逻辑结构、存储结构和操作实现算法,以及它们在程序中的使用方法。 使学生掌握软件设计的基本内容和设计方法,并培养学生进行规范化软件设计的能力。 3) 使...
树是一种抽象的数据类型,它模拟了自然界中的树形结构,被广泛应用于计算机科学的各个领域,例如文件系统的目录结构、XML文档的解析等。 #### 二、树的定义与基本术语 ##### 1. 树的定义 树是由一个或多个节点组成...
- **实验小结**:讨论二叉树的不同形态(满二叉树、完全二叉树、平衡二叉树等),以及它们在不同场景下的应用。 通过这三个实验,学生可以深入理解数据结构的基本原理,掌握C语言实现数据结构的方法,为后续的算法...
在本PPT学习教案中,主要探讨了树的基本概念,包括二叉树在内的特殊类型的树,以及它们的遍历和存储方法。 首先,树是由一个或多个结点组成,其中有一个特定的结点被称为根结点,其余结点分为若干个互不相交的子集...
在本实验报告中,主要涉及了数据结构中的线性表和二叉树的实现,具体包括基于顺序存储结构和链式存储结构的线性表,以及基于二叉链表的二叉树。以下是对这些知识点的详细说明: 1. **线性表**: 线性表是一种基本...
在该资源中,我们首先定义了平衡二叉树的抽象数据类型(ADT),包括数据对象、数据关系和基本操作。在这里,我们使用C语言实现了平衡二叉树的操作,包括树的建立、插入、删除和查找等。 平衡二叉树的ADT定义 我们...
抽象数据类型 有序链表 双向链表 迭代器 小结 问题 实验 编程作业 第6章 递归 三角数字 阶乘 变位字 递归的二分查找 汉诺(Hanoi)塔问题 归并排序 消除递归 一些有趣的递归应用 小结 问题 实验 ...
抽象数据类型 有序链表 双向链表 迭代器 小结 问题 实验 编程作业 第6章 递归 三角数字 阶乘 变位字 递归的二分查找 汉诺(Hanoi)塔问题 归并排序 消除递归 一些有趣的递归应用 小结 问题 实验 编程作业 第7章 高级...
1.4小结 第2章数组 2.1数组 2.2Delphi中的数组类型 2.3TList类和指针数组 2.4磁盘数组 2.5小结 第3章链表、栈和队列 3.1单链表 3.2双向链表 3.3链表的优缺点 3.4栈 3.5队列 3.6小结 .第4章查找 4.1比较...
1.2.3 数据类型和抽象数据类型 6 1.3 抽象数据类型的表示与实现 7 1.4 算法和算法分析 11 1.4.1 算法的定义及特性 11 1.4.2 评价算法优劣的基本标准 11 1.4.3 算法的时间复杂度 12 1.4.4 算法的空间...
二叉树是树的一个特殊类型,每个节点最多有两个子节点,分别被称为左子节点和右子节点。 在树的基本概念中,定义了树的几个关键特征: 1. 树是由至少一个节点(根节点)组成的有限集合,其余节点都有且仅有一个直接...