除了二元和二元搜索树之外;我不确定以下基于树的数据结构之间的根本区别究竟是什么。有些树只是另一棵树的子集吗?一些树是完全相同的,但遵循不同的命名法?
唯一具有非常清晰定义且没有重叠的树是二进制,二叉搜索树,甚至可能是尝试。
除此之外,上面列出的树的谷歌搜索结果导致了许多不同的定义,一些重叠,一些非常不同。例如,一个人对b树的实现与另一个人的实现是如此不同;它确实要求改变定义。它已经到了所有这些定义刚开始混淆了我的地步。是否有一本书可以被认为是标准圣经的所有上述树数据结构?一些澄清将不胜感激。
答案 0 :(得分:0)
大多数,尽管可能不是所有这些都在Aho,Hopcroft和Ullman的数据结构和算法
一个提示是,其名称中包含-ary的任何内容都是具有已定义分支度的树 - 因此二叉树每个节点有两个(可能为null)子节点; n -ary树每个节点有n个(可能为null)子节点。
列表中的大多数其他人在他们的定义和算法中都有某种平衡,以将他们的最坏情况行为保持为O(n log n),而没有平衡他们通常具有O的最坏情况行为(n ^ 2)
四叉树将是例外,因为它是一种划分空间的方法,用于图形和图像处理算法。