“数据结构与算法”作业 |
|
关于大作业分组方式的调整方案
|
2014年春季辅导教师: |
序号 | 布置日期 | 提交日期 | 作业内容 |
9 | 12.22 | 12.28 | 本次作业主要是为了帮助同学复习字典与集合一章的概念和算法。
|
8 | 12.11 | 15.1.2 | 第三个分组项目。这次要求做一个更接近实际应用的项目,请从两个题目中任选一个,具体要求见项目说明文件:
|
7 | 12.04 | 12.11 | 作业内容
|
6 | 11.20 | 12.05 | 第二个分组项目,两个题目任选一个,要求见项目说明文件: |
5 | 11.13 | 11.20 | 作业内容:
前两个题写电子文档或纸面作业,第3题写程序。 1,根据二叉树的几种结构形态,严格证明扩充二叉树的外部路径长度和内部路径长度的关系式 E = I + 2*n。 2,请总结出在二叉树的 list 表示中空表的个数与树中分支结点与叶结点数目的关系公式,并严格证明这一关系公式。 3,请在表达式的 list 表示基础上完成下面工作:
|
4 | 10.30 | 11.13 | 作业内容: 1,请试写出描述下面集合的正则表达式(注意写出匹配集合尽可能小的表达式):
2,实现一个中缀表达式求值函数。课堂讨论的某些代码可能有帮助,请实现一个独立的函数。另外写一个 demo 函数展示你的函数的功能,说明它能正确工作。 (11月6日新增作业)下面是几个书面作业题,目的在于帮助理解课堂讨论的一些内容(可以用电子文档或纸面形式交作业): 3, 把下面中缀表达式翻译为与之等价的前缀形式:
|
3 | 10.21 | 11.6 | 第一个分组项目,有关描述见项目说明文件。 |
2 | 10.09 | 10.16 | 作业内容: 请检查自己上学期的编程作业,从中找出 3 个使用了 list 的函数定义。应用有关算法分析的技术,以及课程中有关 list 的实现和性质情况的介绍,考察这几个函数的复杂性。请注意,所考察的函数应是能处理任意大小的表的函数,以表长度为问题规模 n 完成要求的分析工作。三个函数应该有一定的差异性。 作业用一个文档文件(例如 word 文件)的形式上交。拷贝你原来的程序(把格式整理好),然后写出你的分析和结论。 |
1 | 9.25 | 10.9 | 作业内容: 1,扩充参考程序所给的有理数类,加入下面功能:
2,定义一个表示时间的类 Time,它提供下面操作:
这种情况也表现出 “抽象数据类型” 的抽象性,其内部实现与使用之间有良好的隔离,换一种实现方式(或改变一些操作的实现技术)完全可以不影响使用它的代码。
注意:在定义了一个类后,应写一段使用它的演示代码,产生一些输出。代码和输出应能清晰表现你完成的工作,以便辅导老师检查。演示代码是作业的必要部分。 自我练习(考察完成同样工作的不同程序的时间代价的增长趋势):利用 time 包的 time 函数(上学期已介绍),考察课堂幻灯片给出的生成整数表的几种方法。写一些代码,用不同大小的的参数运行各 test_i 函数,输出其运行时间。分析总结各函数相对于参数的耗时增长趋势,比较不同方法。 |
本页及相关页面(除另声明者外)由裘宗燕创建维护,可自由用于各种学习活动。其他使用需得到作者许可。 |