数据结构上机作业模板

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2011上机实习基本要求及内容

上机实习基本目标

计算机学科分为理论、抽象、设计三个形态。

数据结构是计算机学科的重要分支研究领域之一。在算法分析与设计、操作系统、软件工程、数据库概论、编译技术、计算机图形学、人机交互等专业基础课和专业课程中均有涉及。对特定领域或应用要使用到头特定的数据结构:编译系统要使用栈、散列表及语法树;操作系统中要用队列、存储管理表及目录树等;数据库系统要用线性表、多链表及索引树等;在人工智能领域依求解问题性质的差异将涉及到各种不同的数据结构,如广义表,集合、搜索树及各种有向图等等。

通过数据结构上机实习要让学生掌握链表、树、图是如何实现的,进一步从理论、抽象、设计的角度来考虑问题。第一,让学生真正理解“数据结构+算法=程序”。程序不仅仅是求解算法的实现,也要配有恰当的数据结构;第二,培养学生数据抽象的能力。让学生了解链表、树、图等数据结构是如何实现的,特别要加强对数据逻辑关系的分析与认识;第三,培养学生使用数据结构的能力。要把数据结构与算法的理论分析与编程实践相结合,灵活运用于实际解题中。

需要强调以下几个方面的知识和能力:

(1)掌握并能够灵活应用基本数据结构的抽象数据类型、存储方法、主要的算法,特别是线性结构、二叉树、树、图、文件等;

(2)掌握并应用常用的排序、检索和索引算法和方法;

(3)掌握基本的算法设计和分析技术,并结合具体的设计,对所设计的数据结构和算法进行分析;

(4)在进行程序设计、调试中,注意综合应用,将所学到的数据结构和算法知识应用到对具体数据对象的特性分析。结合实际例子进行设计,选择合适的数据结构和存贮结构以及相应的算法。

上机实习基本要求

1.合理地选用组织数据、有效地表示数据、正确地处理数据,清晰地表述算法。

2.完成选定题目,按照规范格式(附件一)写出实习报告(原问题、设计算法、DS、程序、给出实例并分析结果、讨论T(n))。

3.线性关系、非线性关系、算法三部分的实习报告电子版提交日期在上机后2日内提交;第四次机考电子版在上机结束时提交(电子版交liuxd@,将四次上机汇总打印纸版笔试前1周交西1楼711室);请按时提交注意上交电子版与纸版应一致。

4. 请按照附件给定报告内容格式安排。

附件一:报告封面格式

数据结构与算法B上机实习报告

第1次2011-9-dd 题目名称

第2次yyyy-mm-dd 题目名称

第3次yyyy-mm-dd 题目名称

第4次yyyy-mm-dd 题目名称

报告人:MMM

班级:信息nn

学号:nnnnnnnn

附件二:报告内容格式(封面见附件一。正文要求:A4纸,小4#宋体,右下页码,最小行距)

一、上机实习题目(原问题 解目标)

二、相关知识或技术(对应DS部分)

三、算法及数据结构设计(算法设计)

四、上机环境和使用语言(计算机程序实现)

五、源程序(带注释或说明)、运行结果(数据或屏幕显示、结果分析、讨论T(n))

六、上机总结(体会提高)

七、参考资料

附件三:上机实习参考题目

(1)各个DS的插入、删除、建立、判空;

(2)线性链表操作——插入、删除、合并、排序、查找

(3)将一个递归程序转为非递归程序。

(4)编制标准算法,将两个线性表合并成一个。

(5)用一个数组S(设大小为MAX)作为对开栈的共享空间。请说明共享方法、栈满/栈空的判断条

件,设计入栈操作push(i,x),其中i为0或1,用于表示栈号,x为入栈值;并设计清、判空、判满、

出栈操作。

(6)对于一个堆栈,若其入栈序列为1,2,3,...,n,不同的出入栈操作将产生不同的出栈序列。其

出栈序列的个数正好等于节点个数为n的二叉树的个数,且与不同形态的二叉树一一对应。请简要叙

述一种从堆栈输入(固定为1,2,3,...n)/输出序列对应一种二叉树形态的方法,并以入栈序列1,2,3

(即n等于3)为例加以说明。

(7)求Л到小数点后100位。

(8)长整数四则运算ADT与存储实现。

(9)树和二叉树的递归遍历/非递归遍历;

(10)求二叉树中最长/短路径。

(11)求最大平台问题(n个整数序列,相同值连续最大的称最大平台)。

(12)最小生成树;

(13)检索与查找算法。

(14)排序与广义表算法。

(15)为图书馆借书处/食堂售卡处业务设计一个业务系统完成日常的相关工作。

(16)为民航/火车售票处的票务业务设计一个计划、团体/零售、查询系统。

(17)已知二叉树中结点的左右儿子域分别为left和right。p指向二叉树的某一节点。请编一个非递归函数postfirst(p),求p所对应子树的第一个后序(后根)遍历节点。

(18)已知树中结点的用左孩子右兄弟表示,p指向二叉树的某一结点。请编遍历树算法。

(19)编程生成国际象棋棋盘,使马踏棋盘各格一次且仅一次。

(20)编程生成迷宫(平面,立体),指定出入口位置,找出一条/所有路径。

(21)图的遍历算法。

(22)求最大平台问题(n个字符的串,相同字符最长的)。

提示:教材各章后练习题、实习题均可选用。也可选择最基本的ADT操作编程上机调试,作为课程考

核内容;要求认真精选上机题完成上机调试、获取实验结果、写出实习报告。

相关文档
最新文档