- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有时我在 Haskell 中使用不同类型的树,但我不知道它们叫什么,也不知道在哪里可以获取有关使用它们的算法或它们的类实例的更多信息,甚至不知道一些预先存在的代码或库黑客攻击。
示例:
标签位于叶子或 Twig 上的二叉树:
data BinTree1 a = Leaf |
Branch {label :: a, leftChild :: BinTree1 a, rightChild :: BinTree1 a}
data BinTree2 a = Leaf {label :: a} |
Branch {leftChild :: BinTree2 a, rightChild :: BinTree2 a}
类似地,每个子节点都有标签或所有子节点都有通用标签的树:
data Tree1 a = Branch {label :: a, children :: [Tree1 a]}
data Tree2 a = Branch {labelledChildren :: [(a, Tree2 a)]}
有时我开始使用 Tree2
,在开发过程中不知何故它被重构为 Tree1
,这看起来更容易处理,但我从来没有考虑太多关于它。这里有某种二元性吗?
此外,如果您可以发布一些您认为有用的其他不同种类的树,请这样做。
总之:你能告诉我的关于这些树的一切都会有用! :)
谢谢。
编辑:
澄清:这不是家庭作业。只是我通常最终会使用这些数据类型并创建实例(Functor、Monad 等),也许如果我更新它们的名称,我会找到包含已实现内容和更多理论信息的库。
通常,当 Hackage 上的库名称中包含 Tree 时,它会实现 BinTree2 或仅在叶子上带有标签的非二叉树的某些版本,所以在我看来,Tree2 和 BinTree2 可能有其他名称或标识符.
而且我觉得可能存在某种对偶性或同构性,或者通过某种转换将使用 Tree1 的代码转换为使用 Tree2 的代码的方法。有没有?也许这只是一个印象。
最佳答案
我听过的名字:
BinTree1
是 binary tree BinTree2
不知道名称,但您可以使用这样的树来表示无前缀代码,例如霍夫曼编码Tree1
是 Rose tree Tree2
与 [Tree1]
同构(Tree1
的森林),或者以另一种方式查看它是 Tree1
没有根标签。关于haskell - 以下某些树数据类型在计算机科学中使用的名称是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12030199/
#include using namespace std; struct dateofbirth{ char day[2]; char month[2]; char year
关闭。这个问题是opinion-based .它目前不接受答案。 想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题. 3年前关闭。 Improve t
在我接触到这个方法之前,我以为我理解了递归。我对这件事的时间安排感到非常惊讶,因此请求你们的帮助。 public static void mystery5(String sWord) { in
private int[] myStuff; /** Precondition: myStuff contains int values in no particular order. /*/ p
问题是: 给定一个由未知大小的整数和其他三个 int 值组成的 ArrayList,删除 ArrayList 中位于 int 值指定的索引位置的三个元素。将 ArrayList 的第一个元素设置为三个
我正在尝试找出一种算法来找到数字列表中最大的 2 个数字。 最高的数字可以在 n-1 个阶段中找到,也许通过做冒泡排序的第一步或类似的事情。对我来说,似乎也可以在总共 1.5n 次比较中找到下一个最高
所以我的在线 AP Comp Sci 老师没有回复我,我的程序遇到了问题。我需要根据此列表中的用户输入创建一个随 secret 码生成器: System.out.println("※※※※※※※※
我应该编写一个实现 Locatable 接口(interface)的 Cruiser 类。 Cruiser 将具有 x、y 和速度属性。 x、y 和速度是整数。您必须为 Cruiser 类提供 3 个
我是一名优秀的程序员,十分优秀!