数据结构与算法.docxVIP

  • 2
  • 0
  • 约8.69千字
  • 约 21页
  • 2021-10-20 发布于天津
  • 举报
数据结构与算δ? 实验报告 题 目 实验1线性表 学 院 电气工程学院 专 业 组 名 数构不会小组 组 长 学号 姓名 工作 贡献度 1?1、14实现及羽试 23% 1.2. 1.3实现及羽试 30% 时空性能分析、总结 27% 算法描述及测试 20% 实验1线性表 1.1.1实验题目 设有一个线性表(a1, a2,…,aa-1, ar.)存放在顺序表的前n个数组元素位 置。请编写一个函数将这个线性表原地逆置,即将数组的前n个原址内容置换为 (S ar,1,…,S①)。最后分析此算法的时间复杂度及空间复朵度。 1.1.2问题描述 操作 输入L表长,随机生成线性表L,进入reverse函数,新定义数据域temp 后对线性表依次访问一半的元素,将第i个元素与L. Iength-i-l个元素互换, 循环结束后,打印线性表。 接口 函数名:reverse 入口参数:L 出口参数:逆序线性表 返回值:无 算法描述 初始定义i for (i0;il. Iength/2;i++) 初始定义temp 将L的第i + 1个元素赋值给temp 将L的倒数第i + 1个元素賦值给L的正数第i + 1个元素 将temp的值赋给L的倒数第i+1个元素 图1 reverse函数NS图 1.1.3调试 (I)出错信息 请输入表长;8 实验L]结果 转前的线性表: 584 605 195 765 -739 -972 742 -180 共8个元素 逆转后的线性表: 584 605 195 765 -739 -972 742 -180 共8个元素 请按任意键继续???■ 错误原因:编写的函数没有编在给的模板CPP上,原CPP的reverse函数实 为空,则运行的输入输出的顺序表示完全相同的,实际没有进行逆序。 修改方法:将程序代码打入正确的CPP文件中,准确运行即可。 效果:出现正确结果。 1.1.4测试 (1)源表为空表 请输入表长:0 实验1.1结果 逆转前的线性表: 共0个元素 逆转后的线性表: 共0个元索 请按任意键继续...■ 源表表长为1 请输入表长:1 实验1 ]结果 逆转前的线性表: -584 JII I个亓盍 逆转后的發性表:、 -584 ≠ 1个亓素 请按任意養继续? ? ?、 (3)源表表长大于1 请输入表长:8 实验1 1结果 逆转前的线性表: -553 -288 616 -660 269 782 953 704 共8个尤素 逆转后的线件表: 704 953 782 269 -660 616 -288 -553 共8个元素 请按任意键继续??? 1.1.5时空性能分析 时间性能分析: 核心语句:将i的值赋给中间变量temp,将dα-沖的值赋给ai,将temp的值 赋给aβ-i+ι 时间复杂度:O (n) 空间性能分析: 使用了一个辅助变量temp 空间复杂度:O (1) 1.2.1实脸题目 la. Ib为两个非递减有序顺序表,试设计一个算法,将这两个有序顺序表 合并成一个非递增有序的顺序表Is其中IC为新生成的顺序表。la, Ib表中允 许有重复的数据,但新生成的表IC中不允许有重复的数据。 例如:Id中的数据元素为{1,3, 3,4, 5,8, 13} , Ib中的数据元素为 {2, 5, 6, 8, 19},则生成的 IC 应为{19, 13, 8, 6, 5, 4, 3, 2, 1}。 1.2.2问題描述 (1) 操作 输入IaX Ib表长,随机生成有序顺序表表la、Ib并输出。 进入mergeList函数,定义并初始化顺序表Ic,定义i、j两个变量分别表 示la. Ib的长度,定义k用来将数据存入IC中。用i、j分别对la、Ib进行自 后向前的遍历,比较后将较小且不重复元素通过变量k放入Ie中。至其中一表 完成遍历后,将剩余表不重复元素以此放入IC中。 函数结束,返回并输出lc。 (2) 接口 函数名:mergeList 入口参数:la、Ib (有序线性表,源表) 出口参数:IC (归并后的结果表) 返回值:IC (3) 算法描述 如图2所示 1.2.3调试 Sa C:\WINCOWS\sys怔m32\5d.exe IffSAX农长:2 渚验入Ib表长^ 3 实??l.2运行纳果 -409 -283 共2个元談 农】A -972 61 806 共3个元麦 01并结果为: (1)岀错信息: 出错原因:没有对IC表长进行设置 修改方法:在数据存储结束后对IC表长进行设置 效果:不再出现错误信息 初始化顺序表IC 定义变量i, j分别表示la, Ib表长,定义变量k初始化为O for(;i0j0;) i个元素 大于Ib的第i 一一~ 将Ia的该元素赋值给IC的 第k+1个元素 将Ib的该元素赋值给IC的第k÷l个

文档评论(0)

1亿VIP精品文档

相关文档