用python画一棵树?

Python020

用python画一棵树?,第1张

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    

}

}