1、准备
1
打开我们的Python shell界面,也就是大家所说的idle界面。
2
单击界面中的“file”-“new file”,就可以建立一个Python脚本了。
END
2、保存脚本文件
1
单击脚本文件中工具栏的“file”-“save”就可以实现我们调出我们的保存配置界面了。
2
在该界面中配置我们的文件名和要保存的路径就可以了。
END
3.编写代码
1
1.代码的结构:
本代码有两个子函数组成,据图有main函数和画树函数组成。
2
2.编写画树函数:
画树函数,就是用来画出我们的树的一种子函数,代码如下:
def tree(plist,l,a,f):
if l>5:
lst=[]
for p in plist:
p.forward(l)
q=p.clone()
p.left(a)
q.right(a)
lst.append(p)
lst.append(q)
tree(lst,l*f,a,f)
3
3.编写main函数:
main函数用来对画树的总体的配置,来画出我们整体的书代码如图下。
def main():
p=Turtle()
p.color('green')
p.pensize(11)
p.hideturtle()
p.speed(4)
# p.getscreen().tracer(30,0)
p.left(90)
p.penup()
p.goto(0,-100)
p.pendown()
t=tree([p],110,65,0.6375)
4
4.调用main函数:
在Python语言中与其它的语言不同的是,我们得在脚本中说明我们的主函数,而不是默认的main函数,具体如下。
main()
END
4、执行代码
单击“run”-“run module”,就可以运行我们的代码了。
接着就可以看到我们的运行界面了。
用python构造一个n层的完全二叉树的代码如下:typedef struct {
int weight
int parent, lchild, rchild
} HTNode ,*HuffmanTree // 动态分配数组存储huffman树
算法设计
void createHuffmantree(){
ht=(HuffmanTree)malloc(m+1)*sizeof(HTNode)// 动态分配数组存储huffman树,0号单元未用
// m:huffman 树中的结点数(m=2*n-1)
for (i=1i<=m++i)
ht[i].parent= ht[i]->lch= ht[i]->rch=0
for (i=1i<=n++i)
ht[i].weight=w[i] //初始化,w[i]:n个叶子的权值
for (i=n+1i<=m,++i) { //建哈夫曼树
select(i-1),s1,s2) //在ht[k](1<=k<=i-1)中选择两个双亲域为零而权值取最小的结点 :s1和s2
ht[s1].parent= ht[s2].parent=i
ht[i].lch=s1
ht[i].rch=s2
ht[i].weight=ht[s1].weight + ht[s2].weight
}
}