- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《实验大纲_数据结构
《》 课程编号英文名称:Data Structure
课程类型: 实验学时:适用对象:
先修课程:
一、
《数据结构》主要讨论各种数据结构的逻辑结构、存储结构及有关操作的算法。目的是使学生学会分析和研究计算机处理的数据结构的特点,以便为应用中涉及到的数据选择适当的逻辑结构、存储结构及相应的算法,并初步了解对算法的时间复杂度分析和空间复杂度的分析方法。
二、性质、目的和任务
、基本要求
掌握C语言的基本语句和程序设计方法。掌握根据实际问题, 选择适当的数据表示方法, 并进行算法设计的方法。 学会独立调试程序。、内容及要求
必须仔细理解《数据结构》实验内容认真主动完成实验的要求有问题及时主动通过各种方式与教师联系沟通要发挥自主学习的能力充分利用时间安排好实验的时间计划并在实验过程中不断检测自己的计划完成情况及时的向教师汇报、
《数据结构》中的算法需要通过高级程序语言来实现,本课程实验是在VC6.0环境下使用C语言来实现,所以要求学生有较好的C语言基础。试验的最后章节最好有一个综合实验,能够让学生体会到数据结构的应用。
六、各环节学时分配 1 多个数的求和、平均、最大值、最小值 2 2 集合的交、并差 2 3 顺序表的基本操作 6 4 链表的基本操作 4 5 顺序栈的基本操作 2 6 链队列的基本操作 2 7 矩阵的2种转置运算 4 8 二叉树的应用 4 9 赫夫曼树的构建 6 10 构造无向图(算法7.1),深度和广度遍历 4 合计 36
七、考核方式
八、推荐教材和参考书
C程序设计 谭浩强 清华大学出版社九、实验内容
实验1、多个数的求和、平均、最大值、最小值 (2学时)
(1)实验目的
通过该实验,让学生对上学期所学C语言的相关内容进行回顾和熟悉,特别是顺序结构、循环结构和分支结构,熟悉C中对数组相关操作的实现。
(2)实验内容
通过键盘输入整数,直到遇到一个负数为止,该负数不考虑在内,求所输整数的合、平均值、最大值和最小值,并在屏幕上输出。
(3)验收/测试用例
输入:1、3、5、10、16、-1
输出:总和 = 35;平均值 = 7; 最大值 = 10; 最小值 = 1
#include stdio.h
#include math.h
main()
{
int a[10],i,j,b,c,d,e,k,l,p;
i=0;
printf(请输入数:\n);
scanf(%d,a[i]);
while(a[i]0)
{
i++;
scanf(%d,a[i]);
}
j=i;
printf(共%d个整数\n,j);
//add
b=0;
for(k=0;kj;k++)
b+=a[k];
printf(总和为%d\n,b);
//average
c=b/j;
printf(平均数为%d\n,c);
//max
d=a[0];
for(l=0;lj;l++)
{
if(da[l])
d=a[l];
}
printf(最大值为%d\n,d);
//min
e=a[0];
for(p=0;pj;p++)
{
if(ea[p])
e=a[p];
}
printf(最小值为%d\n,e);
}
实验2、集合的交、并差 (2学时)
(1)实验目的
通过该实验,进一步让学生熟练掌握循环结构、循环控制条件、分支结构和数组/链表基本操作的实现,掌握函数参数设定的有关内容,体会到用数组存储集合时,需要记录集合元素的个数,否则输出结果会出现数据越界现象。
(2)实验内容
通过键盘,分别输入两个数据元素类型为正整数的集合A和B,以负数输入为结束条件,输出两个集合的交、并、差。从程序完善性上考虑,集合元素输入时,要有检查元素重复的功能。集合可以用数组也可以用链表存储。
(3)验收/测试用例
输入: A={1,2,3,4,5} B={3,4,5,6,7}
输出 A交B={3, 4, 5} A并B={1,2,3,4,5,6,7} A-B={1, 2}
#include stdio.h
main()
{
int a[10],b[10];
printf(请输入集合A);
printf(请输入集合B);
}实验3、顺序表的基本操作 (6学时)
(1)实验目的
通过该实验,深入理解顺序表的逻辑结构、物理结构等概念,掌握顺序表基本操作的编程实现,注意顺序表插入、删除等操作过程中数据元素的移动现象,培养学生编写程序时,要考虑程序的强壮性,熟练掌握通过函数参数返回函数结果的办法。
(2)实验内容
编程实现顺序表下教材第二章定义的线性表的基本操作,最好用菜单形式对应各个
您可能关注的文档
最近下载
- 最美家庭事迹材料范文1500字(整理15篇).docx VIP
- 基金投顾系列(二):海外投顾代表之Vanguard-20200618-海通证券-19页.pdf VIP
- 人教版九上《Unit 9 I like music that I can dance to》作业设计.docx VIP
- 雨林木风GhostXPSP3WindowsXP系统YN201111.doc VIP
- 12-3DMine矿山工程软件自学教程.pdf VIP
- 2025年甘肃省白银市靖远县人民法院招聘司法辅助人员笔试备考试题及答案解析.docx VIP
- APQP第三版-附录表格B-E.xlsx VIP
- 中小学财务测试题答案.pdf VIP
- 20201228-海通证券-基金投顾系列(三):海外投顾代表之Fidelity.pdf VIP
- 00-精益生产跟精益工具.ppt VIP
文档评论(0)