第04章栈和队列(Java版)课题.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 栈和队列 4.1 栈 4.2 队列 4.3 优先队列 4.4 递归算法 目的和要求 目的:使用栈或队列作为求解复杂应用问题的 有效手段和措施。 内容:栈和队列抽象数据类型及它们的实现和应 用;优先队列;递归算法设计。 要求:掌握栈和队列抽象数据类型,以及顺序和链式存储结构实现;理解对于怎样的应用问题,需要使用栈或队列,以及怎样使用。 重点:栈和队列的设计和实现;理解递归定义, 设计递归算法。 难点:使用栈或队列求解复杂应用问题;递归算 法设计。 实验:栈和队列及其应用;递归算法。 4.1 栈 4.1.1 栈抽象数据类型 4.1.2 顺序栈 4.1.3 链式栈 4.1.4 栈的应用 4.1.1 栈抽象数据类型 栈(stack)是一种特殊的线性表,其插入和删除操作只允许在线性表的一端进行。 public interface SStackT { //栈接口,栈抽象数据类型 boolean isEmpty(); //判断是否空栈 void push(T x); //元素x入栈 T pop(); //出栈,返回当前栈顶元素 T get(); //取栈顶元素,未出栈 } 4.1.2 顺序栈 public class SeqStackT implements SStackT //顺序栈类,实现栈接口 { Object element[]; //存储栈数据元素的数组 int top; //栈顶元素下标 } 4.1.3 链式栈 public class LinkedStackT implements SStackT { private NodeT top; } 4.1.4 栈的应用 栈是嵌套调用机制的实现基础 使用栈以非递归方式实现递归算法 例4.1 判断表达式中圆括号是否匹配 例4.2 使用栈计算表达式的值。 中缀表达式1+2*(3-4)+5 (1)将中缀表达式转换为后缀表达式 (2)后缀表达式求值 4.2 队列 4.2.1 队列抽象数据类型 4.2.2 顺序队列 4.2.3 链式队列 4.2.4 队列的应用 4.2.1 队列抽象数据类型 队列(queue)是一种特殊的线性表,其插入和删除操作分别在线性表的两端进行。 public interface QQueueT //队列接口 { boolean isEmpty(); //判断队列是否为空 void enqueue(T x); //入队 T dequeue(); //出队 } 4.2.2 顺序队列 顺序队列,假溢出 2.顺序循环队列 front=(front+1) % length; rear=(rear+1) % length; 3.顺序循环队列类 public class SeqQueueT implements QQueueT { private Object value[]; private int front,rear; //队列头尾下标 } 4.2.3 链式队列 public class LinkedQueueT implements QQueueT //链式队列类 { private NodeT front, rear; } 4.2.4 队列的应用 例4.3 求解素数环问题。 4.3 优先队列 优先队列及其存储结构 优先队列类 public class PriorityQueueT extends ComparableT implements QQueueT 例4.4 进程按优先级调度管理。 4.4 递归算法 递归定义 递归算法 f(n)=n×f(n-1) 【例4.5】 求n!。 【例4.6】 求Fibonacci序列。 例4.7 打印数字塔 public static void line(int i) { if (i10) line(i+1); System.out.print(String.format(%3d,i)); } 执行line(1)输出10

文档评论(0)

a5522235 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档