- 1、本文档共15页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验一:线性表应用
实验报告学院(系)名称:计算机与通信工程学院姓名**学号********专业计算机科学与技术班级2015级*班实验项目实验一:线性表应用课程名称数据结构与算法课程代码0661013实验时间2017年3月9日第一节实验地点7-219考核标准实验过程25分程序运行20分回答问题15分实验报告30分特色功能5分考勤违纪情况5分成绩成绩栏其它批改意见:教师签字:考核内容评价在实验课堂中的表现,包括实验态度、编写程序过程等内容等。□功能完善, □功能不全□有小错□无法运行○正确○基本正确○有提示○无法回答○完整○较完整○一般○内容极少○无报告○有○无○有○无一、实验目的实验目的:理解线性表的逻辑特点;掌握顺序表、链表存储结构,以及线性表的基本操作,如插入、删除、查找,以及线性表合并等操作在顺序存储结构和链式存储结构上的实现算法,并能够在实际问题背景下的灵活运用线性表来解决问题,实现相应算法。二、实验题目与要求1.一元稀疏多项式简单的计算器1)问题描述:用线性表表示一元稀疏多项式,设计一个一元多项式运算器2)要求: (1)采用单链表存储结构一元稀疏多项式(2)输入并建立多项式(3)输出多项式(4)实现多项式加、减运算 3)分析算法时间复杂度2. 约瑟夫环问题 1)问题描述:有编号为 1, 2…n 的 n 个人按顺时针方向围坐一圈,每人持有一个正整数密码。开始给定一个正整数 m,从第一个人按顺时针方向自 1 开始报数,报到 m 者出列,不再参加报数,这时将出列者的密码作为 m,从出列者顺时针方向的下一人开始重新自 1 开始报数。如此下去,直到所有人都出列。试设计算法,输出出列者的序列。 2)要求: 采用顺序和链式两种存储结构实现3)分析算法时间复杂度3.单链表基本操作练习1)问题描述:在主程序中提供下列菜单:1…建立链表2…连接链表3…输出链表0…结束2)实验要求:算法中包含下列过程,分别完成相应的功能:CreateLinklist(): 从键盘输入数据,创建单链表ContLinklist():将前面建立的两个单链表首尾相连OutputLinklist():输出显示单链表3)分析算法时间复杂度4.单链表基本操作练习1)问题描述:已知单链表 L(带头节点)是一个递增有序表,试编写算法,删除表中值大于 min 且小于 max 的节点(若表中有这样的节点),同时释放被删节点的空间。2)实验要求:min 和 max 是两个给定参数。3)分析算法时间复杂实验过程与实验结果应包括如下主要内容:数据结构定义链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。?算法设计思路简介通过建立包含数据和指针的节点来保存数据,然后将一系列节点通过指针插入到链表中去,实现建立链表,插入、删除节点,进而组合各种基本功能,编写符合题目要求的算法。算法描述:可以用自然语言、伪代码或流程图等方式1、(1)将多项式各项的系数和指数分别存在A、B两个链表的中。(2)用指针Pa、Pb分别指向连个链表的首元素。(3)遍历两个链表,比较各元素的指数,若相同则相加减,将结果插入新表中,若不相等则将指数较小的插入新表中,继续向后遍历,直到其中一个链表到达表尾。(4)将另一表中的剩余元素按指数大小顺序全部插入到新表中。(5)新表中的元素按规定格式输出既为相加或相减后的多项式。3、(1)通过构造函数创建单链表(2)通过循环变量temp找到第一个链表的尾部设为p。(3)使p的next指向第二个链表的第一个元素(4)将连接后的两链表输出4、(1)用两个变量minZ,maxZ分别存储输入的最小值和最大值(2)遍历整个单链表,将小于minZ和大于maxZ的节点删除(3)输出操作后的单链表算法的实现和测试结果:包括算法运行时的输入、输出,实验中出现的问题及解决办法等出现问题无法返回操作后的单链表解决办法经老师直到后,在相关函数前面加*成功返回操作后的单链表1、3、 4、算法时间复杂度分析1、O(1表长度+2表长度)---------------可视为O(n)3、O(1表长度+2表长度)---------------可视为O(n)4、O(n)四、收获与体会线性表分为顺序表和链表,其中顺序表已相当熟悉,主要练了新接触的链表,感觉现在才真正体会到指针的魅力之处。同时也明白了顺序表和链表的优缺点,在老师的知道下,更增进了对C++的理解。算法相对来说还是比较简单的,很容易理解,关键在如何把算法变成你想要的计算机程序,在实验课以及平时的训练中,自己对代码的理解、控制能力都有所提高。五、源代码清
您可能关注的文档
- 如何设计包装彩箱彩盒?.pptx
- 如何访问幼儿园.ppt
- 如何设计任务.ppt
- 如何轻松的工作.ppt
- 如何进行公文写作.ppt
- 如何鉴赏古诗词的表达技巧(好).ppt
- 如何陪伴孩子度过假期-1.doc
- 如何高效管理时间2014.pptx
- 如何购买家财险.pptx
- 如何选购车辆.ppt
- DB44_T 2611-2025 城市排水管网有毒有害气体监测与风险分级管理技术标准.pdf
- DB44_T 2612-2025 竞赛类科普活动策划与实施服务规范.pdf
- DB43_T 2947-2024 烟草种子质量控制规程.pdf
- DB37_T 4836-2025 煤矿风量实时监测技术要求.pdf
- 叉车防撞系统,全球前22强生产商排名及市场份额(by QYResearch).docx
- 超滤膜,全球前18强生产商排名及市场份额(by QYResearch).docx
- DB62T 4172-2020 玉米品种 酒623规范.pdf
- DB62T 4160-2020 在用真空绝热深冷压力容器综合性能在线检测方法.pdf
- DB62T 4164-2020 辣椒品种 酒椒1号.pdf
- DB62T 4133-2020 公路隧道地质超前预报机械能无损探测技术规程.pdf
文档评论(0)