我在开发一些代码的过程中设计了一种算法。我想知道它是否有一个名称,或者它是一个更一般类别的实例。
该算法概述如下:
简而言之,该算法采用可以合并的任意元素。
现在,我最好的猜测是,这是某种树形折叠(见https://en.wikipedia.org/wiki/Catamorphism#List_fold)。但它跟踪折叠过程创建的数据结构,并允许折叠过程并行进行。
实际上,元素是对象列表,其中只有一些是兼容的。因此,并非每个合并步骤都是成功的,因此有时需要遍历子节点并找到要输入的新对象列表。
答案 0 :(得分:0)
这个算法很可能被一些其他名称所知,但有一点是mergesort算法,只是在线性时间内合并2个排序列表以生成第3个排序列表"向左走"打开"作为占位符。