【发布时间】:2023-02-17 23:07:41
【问题描述】:
我正在从大小为 6000 的二叉搜索树(因此排序为单边树)中执行 3000 个元素的删除操作。我需要计算完成所有删除所花费的时间
我做了这个
bst2 = foo.BinarySearchTree() #init
insert_all_to_tree(bst2,insert_lines) #insert 6000 elements
start = datetime.now() #start time
for idx, line in enumerate(lines):
bst2.delete(line) #deleting
if (idx%10 == 0):
print("deleted ", (idx+1), "th element - ", line)
end = datetime.now() #completion time
duration = end - start
print(duration.microseconds) #duration in microseconds
我得到了答案761716微秒,当我的实际代码运行大约时甚至不到一分钟5个小时.我期待的范围内的东西10^9 - 10^10.我什至检查了 python 中允许的最大整数,看看它是否与此相关,但显然这不是问题所在。
为什么我在这段时间内得到错误的答案?
【问题讨论】:
-
microseconds字段永远不能超过一百万,因为那是一秒中的所有微秒。它不是全部的时间,只是不到一秒的那部分时间。 -
@jasonharper哦!我以为我得到了微秒的差异。我的错
-
@jasonharper 你介意把它作为答案吗?这是我出错的地方。现在我知道如何进行了
标签: python python-3.x datetime binary-search-tree python-datetime