📖 功能概述
将多个输入数据树按照右键菜单选择的 8 种组合模式之一进行合并。
支持动态扩展输入端口——连接新的数据源后端口自动增加。
核心思路:每个输入流依次经过"模式预处理"后再合并到一个数据集。不同模式适用于不同的树形合并场景——从简单的拍平合并到带标记的路径前缀合并。
🧠 核心算法:8 种合并模式详解
模式对照表:
模式 0 · 直接合并(默认):← 不对输入树做任何预处理
每个输入流的数据以其原始路径直接追加到结果树,不修改路径结构
模式 1 · 拍平合并:← 将每个输入树拍平后再合并
每个输入流先调用 Flatten() 展开为单级路径,再合并到同一个 {0;N} 结构中
模式 2 · 嫁接合并:← 将每个元素都提升为独立分支
每个输入流先 Graft(每元素独立分支),再合并 → 适合将多个列表中的每个元素按序独立存放
模式 3 · 简化合并:← 折叠重叠路径后合并
每个输入流先 Simplify(CollapseAllOverlaps),消除冗余层级后再合并
模式 4 · 嫁接+简化:← Graft 后立即 Simplify
先 Graft 再 Simplify,常用于生成标准化分组后再合并
模式 5 · 输入标记合并:← 用输入流序号标记路径前缀
每个输入流的分支路径前前置追加输入流索引(i),例如输入流 3 的 {0;1} 变为 {3;0;1}
适用于区分不同数据源的场景
模式 6 · 重置路径合并:← 将每个输入流的所有元素重新编号到 0..N
每个输入流的每条分支路径被替换为递增序号 {0}, {1}, {2}...
适用于消除原路径结构、以纯序号方式组织数据
模式 7 · 输入标记 + 最终排序:← 同模式5,但最终将所有分支路径重新编号
先做输入标记合并(模式5),然后对整个结果树再做一次路径重编号 {0}, {1}, {2}...