14分析2
来源:互联网 发布:fenrir软件 编辑:程序博客网 时间:2024/05/18 00:27
3.出队的操作是先从 A[end1]读数,然后 end1 再加 1。入队操作是先存数到 A[end2],然后 end2 再加1。
若把 A[0]储存第一个元素,当队列初始时,入队操作是先把数据放到 A[0],然后 end2自增,即可知 end2 初值为 0;
而 end1 指向的是队头元素,队头元素的在数组 A 中的下标为0,所以得知 end1 初值也为 0,可知队空条件为 end1==end2;
考虑队列满时,因为队列 最多能容纳 M-1 个元素,假设队列存储在下标为 0 到下标为 M-2 的 M-1 个区域,队头为 A[0],队尾为 A[M-2],此时队列满
考虑在这种情况下 end1 和 end2 的状态,end1 指向队 头元素,可知 end1=0,end2 指向队尾元素的后一个位置,可知 end2=M-2+1=M-1,所以可 知队满的条件为 end1==(end2+1)mod M
考虑这类具体问题时,用一些特殊情况判断往往比直接思考问题能更快的得到答 案,并可以画出简单的草图以方便解题。
4.线索二叉树的线索实际上指向的是相应遍历序列特定结点的前驱结点和后继结点, 所以先写出二叉树的中序遍历序列:edbxac,中序遍历中在 x 左边和右边的字符,就是它在 中序线索化的左、右线索,即 b、a,
若把 A[0]储存第一个元素,当队列初始时,入队操作是先把数据放到 A[0],然后 end2自增,即可知 end2 初值为 0;
而 end1 指向的是队头元素,队头元素的在数组 A 中的下标为0,所以得知 end1 初值也为 0,可知队空条件为 end1==end2;
考虑队列满时,因为队列 最多能容纳 M-1 个元素,假设队列存储在下标为 0 到下标为 M-2 的 M-1 个区域,队头为 A[0],队尾为 A[M-2],此时队列满
考虑在这种情况下 end1 和 end2 的状态,end1 指向队 头元素,可知 end1=0,end2 指向队尾元素的后一个位置,可知 end2=M-2+1=M-1,所以可 知队满的条件为 end1==(end2+1)mod M
考虑这类具体问题时,用一些特殊情况判断往往比直接思考问题能更快的得到答 案,并可以画出简单的草图以方便解题。
4.线索二叉树的线索实际上指向的是相应遍历序列特定结点的前驱结点和后继结点, 所以先写出二叉树的中序遍历序列:edbxac,中序遍历中在 x 左边和右边的字符,就是它在 中序线索化的左、右线索,即 b、a,
5.将森林转化为二叉树即相当于用孩子兄弟表示法表示森林。在变化过程中,原森林某树结点的第一个孩子结点作为它的左子树,它的兄弟作为它的右子树。那么森林中的叶结点 由于没有孩子结点,那么转化为二叉树时,该结点就没有左结点,所以 F 中叶结点的个数就等于 T 中左孩子指针为空的结点个数
0 0
- 14分析2
- 2008-2-14大盘分析
- Object分析--2,equals()分析
- Mikrokopter MK 代码分析2-main分析
- nc 源代码分析(2),流程分析
- Hadoop源码分析2: NIO Socket 分析
- SystemC分析(2)Method运行机制分析
- ESock_Clien 14 原因分析
- Leveldb源码分析--14
- 14分析1
- 14分析3
- 14分析4
- 14分析6
- 14分析5
- Leveldb源码分析--14
- linker分析2
- CASSINI源代码分析(2)
- linker分析2
- InputAccessoryView
- 并行化资源池队列3——紧密相关的同步化队列
- mysql 慢查询
- My97DatePicker基本用法
- git简单使用
- 14分析2
- 第十六周项目3函数指针调用函数 吃饭睡觉打豆豆
- Android自定义对话框
- Android常用组件
- MatLab估算数据序列斜率
- mysql group by having用法+having where之间的区别+group by按日期分组统计的查询
- Unique Paths
- cmd-bat批处理命令延时方法
- Android开发实战--高级篇总结