python - 如何确定这个函数的空间和时间复杂度
问题描述
我正在尝试确定我编写的函数的空间和时间复杂度,以便我可以在报告中根据渐近界限讨论该函数。
给定一个列表列表,其中每个子列表表示“冲突”中的两个元素,此函数返回唯一的成对冲突字典。在这种情况下[1,2]
,并且[2,1]
彼此重复,因此列表[[1,2], [1,2], [2,1], [3,4]]
将导致字典{1: [2], 3: [4]}
def calculateDistinctConflicts():
conflicts = [[1,2], [1,2], [2,1], [3,4]]
distinctConflicts = {}
for pair in conflicts:
element0 = pair[0]
element1 = pair[1]
conflictKeys = distinctConflicts.keys()
if element0 not in conflictKeys and element1 not in conflictKeys:
distinctConflicts[element0] = []
targetList = distinctConflicts[element0]
targetList.append(element1)
elif element0 in conflictKeys and element1 not in distinctConflicts[element0]:
targetList = distinctConflicts[element0]
targetList.append(element1)
elif element1 in conflictKeys and element0 not in distinctConflicts[element1]:
targetList = distinctConflicts[element1]
targetList.append(element0)
elif element0 in conflictKeys and element1 in distinctConflicts[element0] or element1 in conflictKeys and element0 in distinctConflicts[element1]:
continue
print (distinctConflicts)
# {1: [2], 3: [4]}
解决方案
推荐阅读
- scala - 如何在 MLReader 上创建通用函数
- node.js - 网络实时分析仪表板:应该使用哪些技术?(节点/django、cassandra/mongodb...)
- javascript - 通过javascript删除句子中的选定重复词
- html - 为什么我的按钮没有将用户重定向到另一个页面?
- java - 验证是否使用重载方法中的正确参数调用了重载方法
- c# - 为什么,用 Command 替换 DelegateCommand 在 Prism 中不起作用
- numpy - 使用python在两个值之间进行插值
- html - CSS响应表 - 高度问题
- python - 如何在 tensorflow 急切执行模式下打印纯文本常量
- android - Anychart X 轴数据溢出