数据结构与算法.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
教据结构与算法 实验报告 题 目 实验1线性表 学 院 电气工程学院 专 业 组 名 数构不会小组 组 长 学号 姓名 工作 贡献度 1.1、1.4实现及讷试 23% 12、1.3实现及讷试 30% 时空性能分析、总结 27% 算法描述及测试 20% 实验 实验1线性表 1.1.1实脸题目 设有一个线性表(如,a:,…,怎小d)存放在顺序表的前n个数组元素位 置。请编写一个函数将这个线性表原地逆置,即将数组的前n个原址内容置换为 (為de…,电at)o最后分析此算法的时间复杂度及空间复杂度。 1.1.2问题描述 (1)操作 输入L表佼,随机生成线性表L,进入reverse函数,新定义数据域temp 后对线性表依次访问一半的元素,将第i个元素与L. length-i-1个元素互换, 循环结束后,打印线性表。 (2)接口 函数名:reverse 函数名: reverse 入口参数:L 出口参数:逆序线性表 返回值:无 (3)算法描述 初始定义i for(iO;il. length/2;i++) 初始定义temp 将L的第i +1个元素赋值给temp 将L的倒数第i + 1个元素賦值给L的正数第i + 1个元素 将temp的值赋给L的倒数第i+1个元素 图1 reverse函数MS图 1.1.3调试 (1)出错信息 字输入表8 和茹舊加.结果 584 605 195 765 -739 -972 742 -180 共个元素 逆转后的线性表: 584 605 195 765 -739 972 742 -180 共8个元素 请按任意键继续??.. 函数实错误原因:编写的函数没有编在给的模板CPP上,原cpp的reverse 为空,则运行的输入输出的顺序表示完全相同的,实际没有进行逆序。 函数实 修改方法:将程序代码打入正确的cpp文件中,准确运行即可。 效果:岀现正确结果。 1.1.4测试 (1)源表为空表 请输入表长:0 紀转前的/曷M验?禁果- 逆转后的耕£兀素 请按任意髄续後 (2)源表表长为1 请输入表长:1 实验1.]结果 逆转前的线性表: -584 共1个元素 逆转后的线性表: -584 共1个元素 请按任意键继续.?. (3)源表表长大于1 实验1.1结果 史转前的线性表: -553 -288 616 -660 269 782 953 704 共8个元素 由转后的线性表: 704 953 782 269 -660 616 -288 -553 共8个元素 吉按任意铤继续??? 1.1.5时空性能分析 时间性能分析: 核心语句:将的值賦给中间变量temp,将am的值赋给萄将temp的值 赋纟合 时间复杂度:。(n) 空间性能分析: 使用了一个辅助变量temp 空间复杂度:0(1) 121实脸题目 la、lb为两个非递减有序顺序表,试设计一个算法,将这两个有序顺序表 合并成一个非递增有序的顺序表其中lc为新生成的顺序la, lb表中允 许有重复的数据,但新生成的表lc中不允许有重复的数据。 例如:la中的数据元素为{1,3,3,4,5,8,13}, lb中的数据元素为 {2,5,6,8,19},则生成的 lc 应为{19, 13, 8, 6, 5, 4, 3, 2, 1}。 1.2.2冋题描述 (1)操作 输入la、lb表长,随机生成有序顺序表表la、lb并输出。 进入mergeList函数,定义并初始化顺序表lc,定义i、j两个变量分别表 示la、lb的长度,定义k用来将数据存入lc中。用i、j分别对la. lb进行自 后向前的遍历,比较后将较小且不重复元素通过变量k放入1C中。至其中一表 完成遍历后,将剩余表不重复元素以此放入1C中。 函数结束,返回并输出lc。 (2) 接口 函数名:mergeList 入口参数:la、lb (有序线性表,源表) 出口参数:lc (归并后的结果表) 返回值:lc (3) 算法描述 如图2所示 123调试 T72 61 806 共3个元会 忤靖果表为: 出错信息: 出错原因:没有对lc表长进行设置 修改方法:在数据存储结束后对1C表长进行设置 效果:不再出现错误信息 初始化顺序表1C 定义变量i, j分别表示la, lb表长,定义变量k初始化为0 for(;i0j0;) 个元素 大于lb的第j 一-一-1 将la的该元素赋值给lc的 第k+1个元素 将lb的该元素赋值给1C的第k+1个元素 i前移减1 j前移減1 lc的当前元素与前一元素 ― 一一 1 是 k后移加1 其中一表完成遍历后,将剰余表不重复元素以此放入1C中。 返回lc 图2 mergeList函薮NS图 1.2.4测试 (1)源表均为空表 (2)有一源表为空表 3B :\W1 NDOWS\sys

文档评论(0)

文档查询,农业合作 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体土默特左旗农特农机经销部
IP属地广西
统一社会信用代码/组织机构代码
92150121MA0R6LAH4P

1亿VIP精品文档

相关文档