- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
基本pathyon知识及算法
西安交通大学实验报告
课程名称:大学计算机基础实验名称:树和图的储存
学院:___理学院______________________实验日
期年月日
班级:_信计11_______________姓名:___王响
_____________学号:2110902016
1.实验目的
了解通过计算机程序解决问题的方法。
理解树和图在计算机中的顺序存储方式。
2.实验任务与要求
(1)编写程序,计算信息熵。要求:用户从键盘输入各信息元符号
的概率,输入0表示输入的数据结束,程序计算其信息熵并输出
(2)实现二叉树的存储。要求自己构造一棵二叉树,将其用列表存
储在计算中,用户输入某结点的值,计算其父结点和左右子结点并显
示,如果没有,则显示“没有”之类的提示信息。
(3)实现图的存储。自己设计一个图,应至少有5个结点,6条边。
将其存储在计算机中,用户输入结点的名称,如果是图中的结点,显
示其邻接点。
3.实验工具和方法
操作系统:Windows操作系统
应用软件:Python语言环境
4.实验步骤与结果
(1)I=0
bsize=13
a=input(输入一个字母)
ifainbinarytree:
l=binarytree.index(a)
ifl==1:ifl==1:
这是根“)
else:
print(binarytree[l])
ifl*2=sizeandbinarytree[l*2]!=#
print(binarytree[l])
ifl*2+1=sizeandbinarytree[l*2+1]!=#
print(binarytree[l])
ifl*2sizeifl*2size
elseend
五、实验总结(列出实验的结论、收获和存在的问题,必写)
实验结论:对树与图的储存有了进一步的认识与理解。
能进一步掌握编程语言,将所学的知识进行编程,灵活运用。但仍有
一些语言障碍,应不断实践学习,熟练其语言。慢慢有了很多兴趣,
相信会越做越好的。
(1)用户从键盘输入N,它表示将要输入N个数据。然后继续输入N
个不同的整数,找出这N个数中的最大、最小的数并在屏幕上输出。
参考运行结果如下(带下划线的为输入数据):
请输入请输入
list=[]
max=list[0]
i=1
whileiN:
请输入单词请输入单词
ifminlist[i]:
min=list[i]
ifmaxlist[i]:
max=list[i]
i=i+1i=i+1
最前单词最前单词最后单词最后单词
结果:
请输入N
5
请输入单词eat
请输入单词art
请输入单词wet
请输入单词like
请输入单词more
最前单词=art最后单词=wet
(3)用户从键盘输入N,它表示将要输入N个数据。然后继续输入N
个不同的整数,找出这N个数中最接近100的数和它的位置(从1开
始)并在屏幕上输出。如果这样的数多于1个,则只记录出现较早的
数。
请输入请输入
list=[]
请输入数字请输入数字
number=list[0]
i=1
whileiN:
请输入数字请输入数字
ifabs(number-100)abs(list[i]-100):
number=list[i]
i=i+1
print(最接近一百的数,number,是第,i,个数,差的绝对值
,abs(number-100
文档评论(0)