我们被要求在Haskell中创建一个2-3-4树,就像在编写数据类型、插入函数和显示函数一样。
我发现很难获得关于这种树的信息,即使用我熟悉的语言(Java、C++)也是如此。
到目前为止我所掌握的-
data Tree t = Empty
| Two t (Tree t)(Tree t)
| Three t t (Tree t)(Tree t)(Tree t)
| Four t t t (Tree t)(Tree t)(Tree t)(Tree t) deriving (Eq, Ord, Show)
leaf2 a = Two a Empty Empty
l
我想得到每个节点的绝对值。绝对值意味着与根的距离。
如果我有一个骨架模型。
根孩子是
root
left hip - child
left knee - child
left foot - child
assume that all the bones lengths are equal to 1.
root to hip = 1
hip to knee = 1
knee to foot = 1
所以,如果我想从根部得到脚关节的位置,应该是3,对吗?
root to foot = root to hip + hip to knee + knee to foot = 3
这些是我正在使用的子程
我为二叉树和字符串编辑了代码。但有个小问题。当我输入一个简单的输入,如A,B,C,D,E,F,我的程序说预先订购形式是A B C D E F.实际上应该是A B D E C F。
因为,它应该在根处打印单词,然后按预顺序在左边的子树上打印单词,然后按预顺序在右边的子树上打印单词。
Post order也应该打印D E B F C A,但是它会打印A B C D E F,并按顺序打印D B E A F C.但它给了我F E D C B A。
任何帮助都是感激的,我不知道哪里出了问题。
以下是工作的完整源代码:
#include <iostream>
#include <
我有一个特别的要求,我很确定这并不是微不足道的,但我想问的只是以防万一。如果我有任何关于WHERE条件的查询:
SELECT * FROM table1 WHERE a = b AND a->fn(b->c) > 0
我想知道参与WHERE的所有操作数,在本例中是['a', 'b', 'a->fn(b->c)', 0]。
原因是我希望跟踪这些值,如果有任何更改,我只需要重新评估查询。