第7章 数据结问题.pptVIP

  • 1
  • 0
  • 约1.42千字
  • 约 15页
  • 2017-06-29 发布于贵州
  • 举报
第7章 数据结问题

零基础学算法 第7章:数据结构问题 课程安排 7.1 约瑟夫环 7.2 大整数四则运算 7.3 进制转换 7.4 括号匹配 7.5 中序式转后序式 7.6 停车场管理 7.7 迷宫求解 7.8 LZW压缩的实现 7.1 约瑟夫环 7.2 大整数四则运算 7.2.1 使用数组进行大整数运算 设计大整数的存储结构 输入/输出大整数 比较大整数的大小 进行加减乘除运算 7.2 大整数四则运算 7.2.1 使用数组进行大整数运算 加法运算 7.2 大整数四则运算 7.2.1 使用数组进行大整数运算 乘法运算 7.2 大整数四则运算 7.2.1 使用数组进行大整数运算 除法运算 7.2 大整数四则运算 7.2.2 使用链表进行大整数运算 设计大整数的链表结构 输入/输出大整数 进行加减运算 7.3 进制转换 任意进制转换为十进制 对于任意进制转换为十进制的操作,只需要将该进制的数据按权展开,然后相加即可。 十进制转换为任意进制 十进制数转换为其他任意进制时,采用反复除以某进制的基数,取其余数作为对应进制的数据,并且最先得到的是该进制的低位,最后得到的才是该进制的高位。 7.4 括号匹配 要检查某一表达式的括号是否匹配,可从左向右扫描表达式中的每一个字符,若字符为左、右括号,则进行匹配操作,可分两种情况: ? 若是左括号,则将其位置序号进入栈中。 ? 若是右括号,则从栈中弹出一个左括号与之匹配。如果栈已为空,表示多了一个右括号。 7.5 中序式转后序多 1. 后序表达式 中序表达式:(a+b)*(c+d) 转为后序表达式:ab+cd+* 2.中序式转 后序式的过程 使用栈来进行转换,逐个取出中序表达式中的字符,若是运算数,则直接将其输出,若是运算符,则需根据运算符的优先级进行判断: 若是左括号,将其入栈; 若是“+、-、*、/”运算符,用当前运算符与栈顶运算符比较,若栈顶运算符优先级大,则弹出栈顶运算符。接着再将当前运算符与栈顶运算符进行比较,这样不断循环,直到栈顶运算符的优先级比当前运算符相等或低时为止。接着将当前运算符入栈。 若是右括号,则查看栈顶是否为左括号 7.6 停车场管理 该题的具体描述是:设停车场内只有一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场内按车辆到达时的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若停车场内已停满n辆汽车(即车位已满),则后来的汽车只能停在门外的过道上等候,一旦停车场内有车开走,则排在过道上的第一辆车即可开入;当停车场内某辆车要离开时,由于停车场是狭长的通道,在它之后开入车场的车辆必须先退出车场为它让路,待该辆车开出大门外后,为它让路的车辆再按原次序进入车场(在这里假设汽车不能从便道上开走)。每辆车按其在停车场停留的时间付费,车辆停在停车场内时需要计时收费,而停在过道上不收费。 7.7 迷宫求解 7.8 LZW压缩的实现 压缩字符串“One One One ”的过程: 性格决定命运, 专注成就人生 Oracle Database 10g: Administration Workshop II 1-*

文档评论(0)

1亿VIP精品文档

相关文档