是 python 设置 s.difference_update(t) O(m X n)
Is python set s.difference_update(t) O(m X n)
问题陈述:
我正在处理一个问题,我有一个数据库,其中包含来自文件系统的大量文件。
如果一堆文件从系统中删除,同样应该在数据库中更新。
方法:
查询数据库中的文件列表和文件系统中的文件列表。
然后比较来自 db 的每个文件是否在另一个列表中。
找不到就删除
为了避免重复查找列表中的每个文件,我计划在 python 和 difference_update() 方法中使用集合
问题:
在内部,这是否会再次具有 O(m X n) 的复杂性,就像重复搜索的其他方法一样,或者它是否经过优化以降低复杂性?
如评论中所述,它将是 O(len(t))
,因为设置了常量查找时间。
也在 http://python-reference.readthedocs.org/en/latest/docs/sets/difference_update.html
中确认
问题陈述:
我正在处理一个问题,我有一个数据库,其中包含来自文件系统的大量文件。 如果一堆文件从系统中删除,同样应该在数据库中更新。
方法:
查询数据库中的文件列表和文件系统中的文件列表。 然后比较来自 db 的每个文件是否在另一个列表中。 找不到就删除 为了避免重复查找列表中的每个文件,我计划在 python 和 difference_update() 方法中使用集合
问题:
在内部,这是否会再次具有 O(m X n) 的复杂性,就像重复搜索的其他方法一样,或者它是否经过优化以降低复杂性?
如评论中所述,它将是 O(len(t))
,因为设置了常量查找时间。
也在 http://python-reference.readthedocs.org/en/latest/docs/sets/difference_update.html