奥赛分类—栈队列树.docVIP

  • 59
  • 0
  • 约5.07万字
  • 约 68页
  • 2016-11-29 发布于重庆
  • 举报
奥赛分类—栈队列树

目录 9 栈 队列 3 9.1 栈与队列概述 3 9.1.1 栈的基本特征 3 9.1.2队列的基本特征 3 9.2 栈与队列选择题 4 9.2.1 栈与队列的基本特征 4 9.2.2 栈与队列的典型应用 5 9.3 完善程序—栈与队列模拟 5 9.4 栈应用—等价表达式 11 9.5 队列应用—集合删数 18 9.6 队列应用—合并果子 21 9.7 队列应用—滑动窗口 21 9.8 栈的应用—最长词链 26 10 链表 29 10.1 选择题 29 11 树 30 11.1树概述 30 11.1.1二叉树的性质 30 11.1.2多叉转二叉树 30 11.2树概述选择题 30 11.2.1计算节点数量 30 11.2.2计算数的深度 31 11.2.3前缀表达式 32 11.4树的遍历 33 11.4.1树遍列基础 33 11.4.2阅读程序—先序中序确定树 34 11.4.2阅读程序—深度搜索遍列树 36 11.4.3 完善程序—笛卡尔树 38 11. 5 Huffman树 39 11.5.1二叉哈夫曼树 39 11.5.2多叉哈夫曼树 40 11.5.3哈夫曼树选择题 41 11.6 堆 42 11.6.1堆的建立 42 11.6.2堆排序 44 11.6.3线性结构和堆—最小序列问题 45 11. 7 二叉搜索树 45 11.7.1二叉搜索树概述 45 11.7.2二叉搜索树选择题 47 11.7.3搜索树应用——字典排序 47 11. 8 并查集 52 11.8.1并查集定义 52 11.8.2并查集表示 52 11.8.3并查集操作 52 11.8.4并查集应用—亲戚 54 11.8.5并查集应用—畅通工程 55 11.8.6并查集应用—银河英雄传说 58 11.8.7并查集应用—战争 62 11. 9 树的存储 67 9 栈 队列 9.1 栈与队列概述 9.1.1 栈的基本特征 1 栈的概念: (1)只允许在一端插入和删除的表, (2)栈顶栈底:允许插入和删除的一端称为栈顶 (top),另一端称为栈底(bottom) (3)特点 后进先出 (LIFO) 2. 栈的基本操作 (1)初始化 (2)进栈PUSH (3)出栈POP (4)取栈顶元素GetTop (5)判栈是否非空 9.1.2队列的基本特征 1. 队列的概念 (1)队列是只允许在一端删除,在另一端插入的顺序表 (2)允许删除的一端叫做队头(front),允许插入的一端叫做队尾(rear)。 (3)进队时队尾指针 rear = rear + 1,将新元素按 rear 指示位置加入。 (4)出队时队头指针 front = front + 1,再将下标为 front 的元素取出。 2. 循环队列的进队和出队 (1)队头指针: front = (front + 1) % maxSize; (2)队尾指针: rear = (rear + 1) % maxSize; (3)队列初始化:front = rear = 0; 3. 循环队列的队空队满问题 (1)浪费一个单元。当使用MaxSize-1个单元时即认为是队满:(rear+1) % MaxSize==front (2)设置一个布尔变量flag。当flag==flase时为空,当flag==true时为满。 (3)使用一个计数器记录队列中元素的个数。如num,当num==0时队空,当num==MaxSize时队满。 9.2 栈与队列选择题 9.2.1 栈与队列的基本特征 2. (19)( B )是一种先进先出的线性表。 A.栈 B.队列 C.哈希表(散列表) D.二叉树 1.(十六普)元素R1、R2、R3、R4、R5入栈的顺序为R1、R2、R3、R4、R5。如果第1个出栈的是R3,那么第5个出栈的可能是 ( ? )。 A.? R1???????? B.?R2???????? C. R4???????? D. R5 D )。 A. 6 B. 5 C. 4 D. 3 E. 2 13. 设栈S的初始状态为空,元素a, b, c, d, e 依次入栈,以下出栈序列不可能出现的有( C)。 A. a, b, c, e, d B. b, c, a, e, d C. a, e, c, b, d D. d, c, e, b, a 12. (18/2012)如果一个栈初始时为空,且当前栈中的元素从栈底到栈顶依次为a,b,c,另有元素d已经出栈,则可能的入栈顺序是( D )。 A.a, d, c, b B.b, a, c, d C.a, c,

文档评论(0)

1亿VIP精品文档

相关文档