蟒.如何计算时间复杂度?



我写了这段代码来完成我想要的工作。我想做的是找出代码的大O表示法。所以我想学习如何计算时间复杂度并最终得到一个大的 O 表示法结果。通俗地说,它是怎么做到的?

"">

def treetocode(hTree):
code = dict()

def getCode(hNode, currentcode=""):
if (hNode == None): return
if (hNode.left == None and hNode.right == None):
code[hNode.char] = currentcode
getCode(hNode.left, currentcode + "0")
getCode(hNode.right, currentcode + "1")
if hNode.char == None:
return None
else:
print('Character = {}  :  Freq = {} --- Huffman code {}'.format(hNode.char, hNode.freq, currentcode))
getCode(hTree)
return code

"">

时间复杂度与你使用的语言无关,除非你的实现导致代码的行为与你设想的算法不同。既然你想出了算法,你可以回顾一下用来计算时间复杂度的常用步骤。

在脑海中运行该程序。为树的每个节点调用函数多少次?(或你拥有的任何结构(。

最新更新