好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

01.【实习一】线性表及应用(1).ppt

10页
  • 卖家[上传人]:第***
  • 文档编号:48976937
  • 上传时间:2018-07-22
  • 文档格式:PPT
  • 文档大小:347KB
  • / 10 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 数据结构数据结构20122012年秋季年秋季授课教师:授课教师: 方方 芳芳授课班级:授课班级:115111-3115111-3班班【【实习一实习一】】 线性表应用线性表应用【【实习题目一实习题目一】】::n n((n>20n>20)的阶乘)的阶乘【【问题描述问题描述】】大数运算大数运算————计算计算n n的阶乘(的阶乘(n>=20n>=20)基本要求基本要求】】((1 1)数据的表示和存储;)数据的表示和存储;((1.11.1)) 累积运算的中间结果和最终的计算结果的数据类型要累积运算的中间结果和最终的计算结果的数据类型要 求是整型求是整型————这是问题本身的要求;这是问题本身的要求;((1.21.2)) 试设计合适的存储结构,要求每个元素或节点最多存试设计合适的存储结构,要求每个元素或节点最多存 储数据的储数据的3 3位位数值 ((2 2)数据的操作及其实现:)数据的操作及其实现:基于设计的存储结构实现乘法操作,要求从键盘上输入基于设计的存储结构实现乘法操作,要求从键盘上输入n n值,在屏幕上显示最终计算结果值,在屏幕上显示最终计算结果测试数据测试数据】】((1 1))n n==2020,,n n!=!=24329020081766400002432902008176640000((2 2))n n==3030,,n n!=!=265252859812191058636308480000000265252859812191058636308480000000((1 1)设计数据的)设计数据的存储结构存储结构::介于阶乘运算的精确性以及实型数据表示的不精确性,本介于阶乘运算的精确性以及实型数据表示的不精确性,本题不能采用实型表示累积运算的中间结果和最终的计算结果,题不能采用实型表示累积运算的中间结果和最终的计算结果, 而而只能用整型只能用整型。

      然而由于普通整型和长整型所能表述数的范围然而由于普通整型和长整型所能表述数的范围 受其字长的限制受其字长的限制,不能表示大数阶乘的累积结果,故必须设计,不能表示大数阶乘的累积结果,故必须设计 一个合适的数据结构实现对数据的存储,例如可以让每个元素一个合适的数据结构实现对数据的存储,例如可以让每个元素 或节点存储数据的若干位数值或节点存储数据的若干位数值从问题描述不难看出从问题描述不难看出n n值为任意值,故为使程序尽量不受限值为任意值,故为使程序尽量不受限制,应采用动态存储结构制,应采用动态存储结构2 2)) 数据的操作及其实现:数据的操作及其实现:((2.12.1)累积运算的特点是当前的计算结果是下次乘法运算的)累积运算的特点是当前的计算结果是下次乘法运算的乘数;乘数;【【实现提示实现提示】】((2.22.2)实现两个数的乘法运算须考虑:)实现两个数的乘法运算须考虑:((1 1)乘数的)乘数的各位数都要与被乘数进行乘法运算各位数都要与被乘数进行乘法运算;;((2 2)乘法)乘法过程中的进位问题过程中的进位问题及其实现;及其实现;((3 3)因每个元素或节点最多存储数据的)因每个元素或节点最多存储数据的3 3位数值,故当元位数值,故当元素或节点中的数值大于素或节点中的数值大于999999,需,需向前一个元素或节点进位向前一个元素或节点进位。

      【【可采用的数据结构可采用的数据结构】】((1 1)采用)采用链式存储结构链式存储结构实现(普通单链表,循环单链表,普通实现(普通单链表,循环单链表,普通双项链表和双向循环链表中任选一种结构)双项链表和双向循环链表中任选一种结构)————本次实习要求本次实习要求((2 2)采用动态数组实现采用动态数组实现3 3))STLSTL的的listlist————提高要求)提高要求)12 1234345656^ ^7878* 10* 101 1232345456767^ ^8080实现提示实现提示【【假设假设】】每个元素或节点最多存储数据的每个元素或节点最多存储数据的2 2位位数值• • 每个节点每个节点存储三位数据存储三位数据,, • • 进行运算时,从头节点开始乘,所得数据暂存在节点进行运算时,从头节点开始乘,所得数据暂存在节点datadata域域中,中, • • 如果它大于如果它大于999999,则向前进位,进位为,则向前进位,进位为data/1000data/1000,, • • 如果前位为空,则新建一个节点,新建节点的如果前位为空,则新建一个节点,新建节点的datadata为该为该 data/1000data/1000,, • • 只要某一位有进位,则从该点依次向检查,如果因加了进位只要某一位有进位,则从该点依次向检查,如果因加了进位 后使自己后使自己datadata大于大于999999,则继续向前进位,直到每位节点数据,则继续向前进位,直到每位节点数据 都小于都小于999999,,• •【【注意注意】】输出结果时:如果节点数据域的值不足三位,应注输出结果时:如果节点数据域的值不足三位,应注 意在前补意在前补0 0以补足三位。

      以补足三位实现提示实现提示1 1、数据结构:不带表头节点的、数据结构:不带表头节点的双双 向链表向链表^1^firstfirstcurrentcurrent2 2、某一状态下的计算过程分析、某一状态下的计算过程分析^^currentcurrent…………current->data>999current->data>999头节点,插入新节点头节点,插入新节点非头节点,直接进位非头节点,直接进位当前节点当前节点前一节点前一节点。

      点击阅读更多内容
      相关文档
      吉林省松原市2025~2026学年度八年级上册语文课时训练26 诗词五首(含答案).docx 吉林省松原市2025~2026学年度八年级上册语文第二单元测试卷(含答案).docx 吉林省松原市2025~2026学年度八年级上册语文第六单元测试卷(含答案).docx 2025~2026学年度下学期初中学业水平考试模拟试题 九年级化学(含答案).docx 吉林市2024-2025学年度初中毕业年级第二次阶段性教学质量检测 道德与法治.历史合卷(含答题卡、答案).docx 2025~2026学年度下学期八年级期中考试物理(含答题卡、答案)(1).docx 吉林省松原市2025~2026学年度八年级上册语文第三单元测试卷(含答案).docx 2025~2026学年度下学期初中学业水平考试模拟试题题 九年级道德与法治(含答案).docx 2025~2026学年度下学期八年级期中考试道德与法治(含答题卡、答案).docx 2025~2026学年度下学期九年级第三次模拟测试 化学(含答案).docx 吉林省松原市2025~2026学年度八年级上册语文课时训练17散文两篇(含答案).docx 第四章整式的加减第一课时4.1整式1 初中数学人教版(2024)七年级上册 课时练(含答案).docx 第六章几何图形初步第八课时6.3.2角的比较与运算1初中数学人教版(2024)七年级上册 课时练(含答案).docx 初中学业水平考试模拟试题 九年级化学(含答案).docx 2025~2026学年度下学期初中学业水平考试模拟试题 九年级数学(含答案).docx 第四章整式的加减第四课时4.2整式的加法与减法2 初中数学人教版(2024)七年级上册 课时练(含答案).docx 第五章一元一次方程第十一课时5.3 实际问题与一元一次方程3 初中数学人教版(2024)七年级上册 课时练(含答案).docx 吉林省松原市2025~2026学年度八年级上册语文第四单元测试卷(含答案).docx 初中学业水平考试模拟试题 九年级英语(含答案).docx 2025~2026学年度下学期八年级期中考试英语(含答题卡、答案).docx
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.