欢迎来到天天文库
浏览记录
ID:30273288
大小:16.99 KB
页数:5页
时间:2018-12-28
《数据结构,马鞍点,上机报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划数据结构,马鞍点,上机报告 西安郵電學院 数据结构课内实验报告 题目:马鞍点问题 院系名称:计算机学院 专业名称:班级:软件工程0901 学生姓名:学号: 一.需求分析 以无歧义的陈述说明程序设计的任务,强调的是程序要做什么?并明确规定 (1)输入的形式和输入值的范围; 1.输入的形式:按照矩阵的输入。 2.输入值的范围:所有数字。 (2)输出的形式; 输出马鞍点的行号,列号,和值。 (3)程序所能达到的功能: 输出输入数组里的所有马鞍点。 (4)测
2、试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。 正确: 二.概要设计目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 输入:345输出:该数组的马鞍点是:245a[0][0]3132输入:457输出:该数组的马鞍点是:457a[0][0]4457a[1][0]4a[2][0]4 说明本程序中用到的所有抽象数据类型的定义、主程序的流程以及各程序模块之间的层次(调用)关系。 1.功
3、能模块图; 2.各个模块的功能描述。 三.详细设计 实现概要设计中定义的所有数据类型,对每个操作只需要写出伪码算法;对主程序和其他模块也都需要写出伪码算法(伪码算法达到的详细程度建议为:按照伪码算法可以在计算机键盘直接输入高级程序设计语言程序);画出函数和过程的调用关系图。 四.时间复杂度分析 分析所设计程序的时间复杂度。 时间复杂度:O(m*n);(其中,m和n是数组行数和列数) 五.测试数据及运行结果 1.正常测试数据及运行结果; 0个马鞍点:输入:321输出:该数组没有马鞍点。 321 123 1个马鞍点:输入:321输出:该数组的马鞍点是:目的-通过该培训员工
4、可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 a[2][1]3 多个马鞍点:输入:123输出:该数组的马鞍点是: 234 234 2.非正常测试数据及运行结果。a[1][0]2a[2][0]2 六.调试情况,设计技巧及体会 1.对自己的设计进行评价,指出合理和不足之处,提出改进方案: 2.对设计及调试过程的心得体会。 本程序的设计算法并不复杂,就是利用两个函数分别提取出指定数组元素的行元素和列元素并返回
5、数组。而后在函数中比较,使得行最小,列最大的元素输出。时间复杂度并不理想,可以考虑当某些元素判定行最小,或非列最大时,改行或该列元素将不可能为马鞍点,由这里看程序有些语句是重复没有必要执行的。 七.附录: 源代码,包括注释 #include #defineM3 #defineN3 voidInitArray(inta[M][N]) {目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 //i
6、nti,j;for(i=0;iI[x]){}flag1=1;break;}for(x=0;x#definem3 #definen3 voidinitarray(inta[m][n]){//inti,j;for(i=0;ii[x]){}flag1=1;break;} for(x=0;x数据结构,马鞍点,上机报告)到就输出零。具体步骤,在输入一个n时,由n控制a数组的元素个数,输入n个数,然后用冒泡法 对a数组进行升序排序。然后输入一个m,用来控制b数组的元素个数,然后是 输入m个数到b数组,接下来就是要做二分查找。二分查找即折半查找,主要思想为:将n 个元素分成个数大致相同的两半,
7、取a[mid]与欲查找的b[i]作比较,如果b[i]
此文档下载收益归作者所有