python是否设置了s.difference\u update(t)O(m X n)

python是否设置了s.difference\u update(t)O(m X n),python,set,time-complexity,Python,Set,Time Complexity,问题陈述: 我正在解决一个问题,我有一个数据库,其中包含来自文件系统的大量文件列表。 如果从系统中删除了一组文件,则应在数据库中更新这些文件 方法: 查询数据库中的文件列表和文件系统中的文件列表。 然后比较db中的每个文件是否在其他列表中。 如果找不到,请删除 为了避免重复查找列表中的每个文件,我计划在python中使用集合和difference_update()方法 问题: 在内部,这会像其他重复搜索的方法一样具有O(m X n)的复杂性,还是经过优化以降低复杂性?正如注释中所述,由于设置了恒

问题陈述:

我正在解决一个问题,我有一个数据库,其中包含来自文件系统的大量文件列表。 如果从系统中删除了一组文件,则应在数据库中更新这些文件

方法:

查询数据库中的文件列表和文件系统中的文件列表。 然后比较db中的每个文件是否在其他列表中。 如果找不到,请删除 为了避免重复查找列表中的每个文件,我计划在python中使用集合和difference_update()方法

问题:

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

正如注释中所述,由于设置了恒定的查找时间,它将是
O(len(t))


也在

中确认,因为集合中的查找是
O(1)
,而不是列表中的
O(n)
,所以总体复杂性将是
O(m)
。感谢您的快速回复。顺便问一下,有没有其他更优化、更通灵的方法来实现这一点??