上一页 1 ··· 6 7 8 9 10 11 下一页
摘要: 0 引言 struct RandomListNode { int label; struct RandomListNode *next, *random; RandomListNode(int x) : label(x), next(NULL), random(NULL) { } }; 1 抽象问题 阅读全文
posted @ 2018-12-02 17:02 十步一杀2017 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 0 引言 1 抽象问题具体化 举例1:树的形态如图所示。给定的整数值为22,求路径。 解答:所有的路径总共有三条,分别是 1)10->5->4,和为19; 2)10->5->7,和为22,打印出路径信息; 3)10->12,和为22,打印出路径信息. 2 具体问题抽象分析 1)currentSum 阅读全文
posted @ 2018-12-01 16:36 十步一杀2017 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 0 引言 1 抽象问题具体化 举例1:判断序列{2,1,3,5,7,8,6,4}是否是二叉搜索树的后序遍历序列. 1)4是根结点,以根结点为基准,将序列二分,左子树为从左到右直到某个数大于4为止;右子树为从该数到倒数第二个数为止, 同时对这其中的每个数进行判断,必须每个数都大于4才可以,对当前树的有 阅读全文
posted @ 2018-11-29 13:00 十步一杀2017 阅读(216) 评论(0) 推荐(0) 编辑
摘要: 0 引言 1 抽象问题具体化 举例1: 前序遍历序列:{1,2,3} 中序遍历序列:{2,1,3} 重建二叉树 举例2: 前序遍历序列:{1,2,4,7,3,5,6,8 } 中序遍历序列:{4,7,2,1,5,3,8,6 } 重建二叉树 2 具体问题抽象分析 先上图. 1)前序遍历的第一个数是根结点 阅读全文
posted @ 2018-11-27 09:39 十步一杀2017 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 0 引言 1 抽象问题具体化 举例1:序列1,2,3,4,5为某栈的压入顺序,判断4,5,3,2,1是否为该压栈序列对应的一个弹出序列。 可知4,5,3,2,1是该压栈序列对应的一个弹出序列 举例2:序列1,2,3,4,5为某栈的压入顺序,判断4,3,5,1,2是否为该压栈序列对应的一个弹出序列。 阅读全文
posted @ 2018-11-27 09:37 十步一杀2017 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 0 引言 1 抽象问题具体化 2 具体问题抽象分析 需要解决的两个主要问题如下。 (1)如何在复杂度O(1)的条件下,返回当前栈的最小值。解决思路是定义一个minNum变量保存当前栈的最小值。 (2)另外一个问题是如果当前最小值被弹出了,如何更新minNum的值。解决思路是定义一个新的栈,该栈用于保 阅读全文
posted @ 2018-11-26 14:52 十步一杀2017 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 0 引言 1 抽象问题具体化 打印顺序为: 1)最外圈,一直到最里圈,一圈一圈地打印; 2)最外圈的打印顺序为:左上角到右上角,右上角到右下角,右下角到左下角,左下角到左上角 举例1: {1},输出{1} 举例2: {{1,2},{3,4}},输出{1,2,4,3} 举例3: {1,2,3,4,5} 阅读全文
posted @ 2018-11-25 22:33 十步一杀2017 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 0 引言 问题:请完成一个函数,输入一个二叉树,该函数输出它的镜像. 二叉树的结点定义如下: 1 抽象问题具体化 举例1: 举例2: 举例3:输入为空,返回为空 2 具体问题抽象分析 语言+伪代码描述算法流程 (1)第一层遍历:前序递归遍历给定二叉树 1)对头结点输入有效性进行判断 2)完成前序递归 阅读全文
posted @ 2018-11-24 21:49 十步一杀2017 阅读(179) 评论(0) 推荐(0) 编辑
摘要: 0 引言 题目:输入两棵二叉树A和B,判断B是不是A的子结构。约定空树不是任意一个树的子结构。二叉树结点的定义如下: 1 抽象问题具体化 举例1: 举例2:A是任意树,B为空树,返回true; 举例3:A是空树,若B不是空树,返回false,否则,返回true。 2 具体问题抽象化 语言描述算法,并 阅读全文
posted @ 2018-11-19 16:01 十步一杀2017 阅读(233) 评论(0) 推荐(0) 编辑
摘要: 0 引言 题目描述:输入两个递增排序的链表,合并这两个链表并使新链表中的结点仍然是按照递增排序的。链表结点定义如下。 1 抽象问题具体化 2 具体问题抽象化 (1)定义接口: ListNode* Merge(ListNode* p, ListNode* q); (2)操作流程 1)输入两个链表,并定 阅读全文
posted @ 2018-11-17 21:59 十步一杀2017 阅读(159) 评论(0) 推荐(0) 编辑
上一页 1 ··· 6 7 8 9 10 11 下一页