V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
secsilm
V2EX  ›  Python

树结构数据是最难处理的,有人反对吗

  •  
  •   secsilm ·
    secsilm · 2022-01-25 10:41:27 +08:00 · 5155 次点击
    这是一个创建于 1067 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近经常要处理树结构数据,很是烦。

    要执行的操作包括但不限于:

    • 创建树。
    • 修改节点,如属性等。这是最简单的了,不需要什么复杂操作。
    • 删除节点。
    • 在某一符合条件的节点处增加层级。烦点。
    • 将某一符合条件的节点重新挂到其他节点下。烦点。
    • 根据树生成另一个结构数据,这基本上是遍历操作,但实际上由于业务数据的不确定性,执行起来有点复杂。烦点。

    我用的是 anytree 来操作。大家有什么推荐的库吗?

    16 条回复    2022-01-26 19:49:37 +08:00
    jackchenly
        1
    jackchenly  
       2022-01-25 10:51:25 +08:00
    没有推荐
    aguesuka
        3
    aguesuka  
       2022-01-25 11:31:11 +08:00
    没有权重, 说明不够难. 带权重的图应该是日常会用到最难的
    otakustay
        4
    otakustay  
       2022-01-25 11:47:18 +08:00   ❤️ 5
    树怎么着也不可能有图处理来得麻烦,说最难就有点过了
    2i2Re2PLMaDnghL
        5
    2i2Re2PLMaDnghL  
       2022-01-25 12:24:28 +08:00
    其实叠的词条最多的是带权重的超重图(超:「边」可以链接多个「顶点」;重( chóng ):任意两个「顶点」间可以有多个「边」(重复的边))

    但一般遇到这样的模型需求的计算并不复杂,而且可以让 SQL 引擎解决大部分问题。
    crackhopper
        6
    crackhopper  
       2022-01-25 12:29:34 +08:00
    图包含树,你说呢。
    charlie21
        7
    charlie21  
       2022-01-25 12:29:50 +08:00
    图的变化少
    littlewing
        8
    littlewing  
       2022-01-25 12:47:00 +08:00
    你让面试要手撸 rb-tree 的怎么办
    Leviathann
        9
    Leviathann  
       2022-01-25 12:48:57 +08:00 via iPhone
    @littlewing
    这个用有 adt 和 pattern matching 的语言会简单些
    lululau
        10
    lululau  
       2022-01-25 12:56:02 +08:00   ❤️ 3
    我觉得数学里面乘法是最难的 😂
    ipwx
        11
    ipwx  
       2022-01-25 14:10:22 +08:00
    图结构表示不服。

    各种神奇的结构比如 B+-Tree ,RB-Tree 表示不服。

    文件系统表示不服。

    ……
    whusnoopy
        12
    whusnoopy  
       2022-01-25 14:23:26 +08:00
    仅仅回答标题的问题,不是最难的

    如果你打过 ICPC 之类的比赛,各种高级树结构和高级图让你爽得飞起
    如果你自己手写过多级索引,所谓的树结构就是稀松平常吃饭一样
    LotusChuan
        13
    LotusChuan  
       2022-01-25 18:11:42 +08:00
    想起之前写过红黑树版的 malloc ,感谢算法导论。
    IvanLi127
        14
    IvanLi127  
       2022-01-25 20:34:15 +08:00 via Android
    图结构: 那我走?
    kilasuelika
        15
    kilasuelika  
       2022-01-26 13:37:55 +08:00 via Android
    计算几何里面的数据结构比上面的树结构那些都要复杂。
    Akiya
        16
    Akiya  
       2022-01-26 19:49:37 +08:00 via iPhone
    这时候就需要图数据库了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3819 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:16 · PVG 18:16 · LAX 02:16 · JFK 05:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.