是python设置s.difference_update(t)O(m X n)

mit*_*tal 6 python set time-complexity

问题陈述:

我正在研究一个问题,我有一个数据库,其中包含来自文件系统的大量文件.如果从系统中删除了一堆文件,则应在数据库中更新相同的文件.

做法:

查询来自db的文件列表和来自filesystem的文件列表.然后比较db中的每个文件是否在另一个列表中.如果没有找到删除为避免重复查找列表中的每个文件,我打算在python中使用集合和difference_update()方法

题:

在内部,它是否会再次具有O(m X n)的复杂性,就像重复搜索的其他方法一样,或者它是否经过优化以降低复杂性?

mat*_*ino 5

它将O(len(t))如评论中所述,因为设定的持续查找时间.
也在http://python-reference.readthedocs.org/en/latest/docs/sets/difference_update.html中确认