我创建了描述二叉树的新类型
data BinTree a = Null | Num a (BinTree a) (BinTree a)
deriving (Show)
并创建了以下函数:
treehandle :: BinTree a -> Bool
treehandle a = True
检查至少输入值。
当输入值为Null时,程序输出结果成功,但不能输入二叉树。我试图这样做:
treehandle (5 (Null) (Null))
但获得:
<interactive>:66:13:
No instance for (Num (BinTree a1 -> BinTr
函数方法和缺失的having接受参数节点和X.节点表示指向二叉树的根注释和整数值x的指针函数方法和缺失的子节点必须找到在给定的二叉树中只有一个子节点的注释,然后函数必须添加丢失的子节点为值X,您的任务是实现函数和缺少的单元格,这样程序只能使用c。
输入输出输入示例:9 10 10 20 L 10 30 R 20 30 L 30 50 L 30 60 R 50 80 R 60 80 R 100输出10 20 100 50 50 70 80 60 100 90
我知道这个问题本身可能是微不足道的,但我正在尝试从level order输入生成一个二叉树,然后遍历它,以表示该树保存在数据结构中。假设输入是- a,s,e,r,t,*,w,它将生成一个二叉树,其表示如下:
a
/ \
s e
/\ /\
r t * w
有没有办法实现这一点,就像从树输入生成二叉树一样。如果有人以前遇到过这种问题,请用JAVA分享一些实现,比如使用队列。
我有个问题需要帮助:
编写计算扩展二叉树内部路径长度的程序。使用它来实证地调查在随机生成的二叉树中搜索的键比较的平均数量。
编辑:
所以我想出了一个二叉树的C++类
#include <iostream>
/*Binary tree class based on the struct. Includes basic functions insert, delete, search */
struct node
{
int data;
node *left;
node *right;
};
class binarytree{
public:
给定一些文本文件,我需要读取每个字母数字字符并使用对它们进行编码。
读取字符、存储概率和创建节点,以及使用指针创建Huffman的trie。
但是,我需要使用二叉树的顺序表示来创建和初始化Huffman树,而不需要任何指针。
这可以通过使用指针创建一个常规树来完成,然后将其读入数组中,但是我的目标是直接填充一个带有节点的数组。
我考虑创建较小的树并将它们合并在一起,但选择了矩阵表示,在这种表示中,我将从二进制堆中收集具有最小概率的元素,并将它们存储到矩阵的行中,其中矩阵的行将以相反的顺序表示节点应该在二叉树中的级别。
E.g. Given characters and their probab
输入1 :
64
输出:(大小为3)
1 x 1 x 64 =64
1 x 2 x 32 =64
1 x 4 x 16 =64
1 x 8 x 8 =64
2 x 2 x 16 =64
2 x 4 x 8 =64
4 x 4 x 4 =64
输入2 :
6
输出:(大小为2)
1 x 6 =6
2 x 3 =6
我尝试使用完整的二叉树,但没有得到所有可能的组合。
以下是:
64
32 2
16