题目内容
(请给出正确答案)
[主观题]
设一棵二叉树采用二叉链表表示,编写一个算法,利用二叉树的前序遍历求任意指定的两个结点I和J间的路径和路径长度。
查看答案
如果结果不匹配,请 联系老师 获取答案
解题思路:本题就是在一个二叉链表中查找指定的结点x的过程。可以利用二叉树的任意一种遍历方法进行查找。这里利用先序遍历方法,首先判断当前结点是否是要查找的结点,如果是,则查找成功,返回结点的地址;如果不是,则分别到它的左子树和右子树中进行查找。
二叉树采用二叉链表存储: (1)编写计算整个二叉树高度的算法(二叉树的高度也叫二叉树的深度)。 (2)编写计算二叉树最大宽度的算法(二叉树的最大宽度是指二叉树所有层中结点个数的最大值)。
A、二叉链表
B、广义表
C、三叉链表
D、烦序
要求二叉树按二叉链表形式存储,编写算法实现: (1)建立二叉树的算法。 (2)判别给定的二叉树是否是完全二叉树的算法。 (完全二叉树的定义为:深度为K,具有N个结点的二叉树的每个结点都与深度为K的满二叉树中编号从1~N的结点一一对应。此题以此定义为准)
二叉树
实验目的:
(1)熟悉二叉树的各种存储结构及适用范围。
(2)掌握建立二叉树的存储结构的方法。
(3)熟练掌握二叉树的先序、中序、后序遍历的递归算法和非递归算法。
(4)灵活运用递归的遍历算法实现二叉树的其他各种运算。
(5)掌握和理解本实验中出现的一些基本的C语言语句。
(6)体会算法在程序设计中的重要性。
实验内容:
(1)以二叉链表作存储结构,设计求二叉树高度的算法。
(2)以二叉链表作存储结构,编写递归的中序遍历算法。
(3)以二叉链表作存储结构,编写非递归的中序遍历算法。
(4)以二叉链表作存储结构,编写求二叉树中叶子结点的个数算法。