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

写代码久了,感觉数据结构都是浮云,主程序只要保存一棵树,就能搞定 95%的场景需求。

  •  1
     
  •   tool2d · 99 天前 · 4360 次点击
    这是一个创建于 99 天前的主题,其中的信息可能已经有所发展或是发生改变。
    用户有新需求,就不断的往这一棵树上加子叶,用 ID 做为键值来查找。

    如果叶子上有大数据,就用类似二次索引 index ,去数据库里实时查询。

    保存数据的时候,JSON 一把梭导出,简单又明了。

    高端的程序(食材)往往只需要采用最朴素的数据结构(烹饪方式)。
    25 条回复    2022-07-01 11:59:39 +08:00
    hello2090
        1
    hello2090  
       99 天前 via iPhone
    牛逼!
    wliansheng
        2
    wliansheng  
       99 天前
    适合通用场景,
    thedrwu
        3
    thedrwu  
       99 天前
    lisp 用户: 链表能搞定 100% 场景
    tool2d
        4
    tool2d  
    OP
       99 天前
    以前大家都会设计各种各样的数据结构,大多都是和算法混在一起的。

    后来代码写多了,越来越倾向于用函数式编程。

    把那些很复杂的数据结构封装起来,封装成函数链式管道中的临时对象。这样主程序就可以不去管理这些细节。只需要维护一棵主树,扩展用户业务就比较方便了。
    ql562482472
        5
    ql562482472  
       99 天前
    感觉这个思路很牛逼,能不能细说一下
    Jooooooooo
        6
    Jooooooooo  
       99 天前
    java 作者: 我也不用 linkedList
    jhdxr
        7
    jhdxr  
       99 天前
    盲猜对于性能指标没啥要求
    abctt
        8
    abctt  
       99 天前   ❤️ 1
    关系型数据库也是一棵树,有需求加个表加字段,不也就在树上加了节点减个节点吗
    littlewing
        9
    littlewing  
       99 天前
    对啊,MySQL 也就是一颗 B+ 树而已嘛
    littlewing
        10
    littlewing  
       99 天前
    RocksDB 也就是一个 LSM-Tree 嘛,万物皆是 Tree
    reter
        11
    reter  
       99 天前
    我是说,有没有可能,列表是一种特殊的树,树是一种特殊的图结构
    nulIptr
        12
    nulIptr  
       99 天前
    前端是这样的
    cheng6563
        13
    cheng6563  
       99 天前   ❤️ 18
    有没有可能,只需要 0 和 1 就能保存任意数据?
    haolongsun
        14
    haolongsun  
       99 天前
    有没有一种可能,数据结构都能用图来表示,树也是一种特殊的图,链表也是,栈也可以,队列也可以。
    otakustay
        15
    otakustay  
       99 天前   ❤️ 2
    然后有一天你发现这个树某一边查起来特别慢,于是苦心钻研并发明了平衡树
    Xusually
        16
    Xusually  
       99 天前
    文艺复兴了属于是
    opengg
        17
    opengg  
       99 天前
    有没有一种可能,内存中的栈和堆结构,就可以解决所有问题?
    PureWhiteWu
        18
    PureWhiteWu  
       99 天前
    有没有一种可能,你需要存一个有环图?
    xylxAdai
        19
    xylxAdai  
       99 天前
    有没有一种可能。键值 ID 叫做方法名,子叶叫做方法实现,保存数据的时候叫做序列化,这棵树的根节点是 main 函数。
    hello2090
        20
    hello2090  
       99 天前
    有没有一种可能,一个数据库实现了这棵树,从此以后所有的变量都存在了数据库里
    pythonee
        21
    pythonee  
       99 天前
    不需要模型抽象吗?

    客户、订单、产品、合同、项目、工单...
    SorcererXW
        22
    SorcererXW  
       99 天前
    有没有一种可能,这个东西叫状态机
    GoogleMicrosoft
        23
    GoogleMicrosoft  
       99 天前 via Android
    又不是不能用
    nothingistrue
        24
    nothingistrue  
       98 天前   ❤️ 1
    哪有什么岁月静好,只不过有人在替你负重前行。你看到的只是一个树,但它背后是茫茫多的数据结构。别得不说,没有众多数据结构,数据库你都没有。
    SilentRhythm
        25
    SilentRhythm  
       98 天前
    有没有一种可能,你的数据库其实只要一张表
    关于   ·   帮助文档   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   947 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 39ms · UTC 19:21 · PVG 03:21 · LAX 12:21 · JFK 15:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.