V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
gitnot
V2EX  ›  Java

请教大家设计流程节点这个场景适合什么算法?

  •  
  •   gitnot · 2020-07-21 13:01:53 +08:00 · 1344 次点击
    这是一个创建于 1346 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需要设计一个工作流程, 流程包括节点,节点用来记录内容, 节点要求有序且可以灵活增删。

    数据库设计拟定字段:

    node_id 当前节点 ID,

    pre_node 上一个节点 ID,

    对应实体

    @Data

    public class ListNode {

     int nodeId;
    
     int preNode;
    

    }

    如果这样设计, 数据库查出后是一个 List<ListNode>, 需要将这些节点排序, 用什么算法, 或者说要经过什么处理更好呢?

    如果是 pre_node 是一个对象, 我能用归并排序, 但是这里感觉不太会用。

    谢谢大家。

    4 条回复    2020-07-22 11:11:56 +08:00
    buliugu
        1
    buliugu  
       2020-07-22 01:11:46 +08:00
    流程用 flowable 之类现成的流程引擎它不香嘛
    aguesuka
        2
    aguesuka  
       2020-07-22 01:29:53 +08:00 via Android
    用 hash,O(n)时间复杂度
    ffLoveJava
        3
    ffLoveJava  
       2020-07-22 09:27:18 +08:00
    @buliugu 太重了, 就一条线没必要
    @gitnot 你不记录后面的节点吗
    gitnot
        4
    gitnot  
    OP
       2020-07-22 11:11:56 +08:00
    @ffLoveJava 我原设计觉得记录一个节点够用,且更新节点关系操作简单。已经有个实现, 但是想找找最优解。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3152 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 12:40 · PVG 20:40 · LAX 05:40 · JFK 08:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.