此功能的时间复杂度(O)是多少?我的代码中也有mergesort和binary搜索。我知道二进制搜索是O(log n),mergesort是O(nlogn)但是这个算法的复杂性是什么?
import os
mydatafile = open("myss.csv","w+")
def rec(searchpath):
if os.path.isdir(searchpath):
for i in os.listdir(searchpath):
childpath = os.path.join(searchpath,i)
if not os.path.isdir(childpath):
mydata = i + ", " + childpath + "\n"
mydatafile.write(mydata)
else:
mydata = i + ", " + childpath + "\n"
mydatafile.write(mydata)
rec(childpath)
rec("C:\Python27")
mydatafile.close()
答案 0 :(得分:1)
I / O函数在某种程度上掩盖了输入。您可能认为根目录searchpath
的名称是输入,但将输入视为表示目录层次结构的根树是更合理的。假设(再次,合理地)在每个节点上完成了一定量的工作,运行时间就是O(n)。