二叉树前序,中序转后序

由二叉树的前序和中序如何得到二叉树的后序呢?要给出答案,首先得明白什么是前序、中序、后序。 二叉树前序:遍历顺序为,根节点、左子树、右子树;中序:遍历顺序为,左子树、根节点、右子树;后序:遍历顺序为,左子树、右子树、根节点 可以发现,二叉树前序中的第一个节点为树的根节点root,然后找...

2016-09-17 11:24:17

阅读数:1053

评论数:0

跳台阶问题(变态跳台阶)

题目1:一个台阶总共有n级,如果一次可以跳1级,也可以跳2级。求总共有多少总跳法,并分析算法的时间复杂度。 分析:这道题最近经常出现,包括MicroStrategy等比较重视算法的公司都曾先后选用过个这道题作为面试题或者笔试题。 首先我们考虑最简单的情况。如果只有1级台阶,那显然只...

2016-07-17 16:17:57

阅读数:2307

评论数:0

二进制中1的个数

问题描述 任意给定一个32位无符号整数n,求n的二进制表示中1的个数,比如n = 5(0101)时,返回2,n = 15(1111)时,返回4 这也是一道比较经典的题目了,相信不少人面试的时候可能遇到过这道题吧,下面介绍了几种方法来实现这道题,相信很多人可能见过下面的算法,但我相信很少有人见到...

2016-07-11 21:21:07

阅读数:344

评论数:0

归并排序求逆序对

给定数组 如{5,8,3,1}   则有 5个逆序对  给定数组 求其逆序对的个数 思路:归并排序   O(NlogN) 时间复杂度   O(N) 空间复杂度 如上图:在两个有序的子序列中。 arr[p] > arr[q] && p #i...

2016-04-19 18:53:21

阅读数:206

评论数:0

数据结构和算法系列16 哈夫曼树

数据结构和算法系列16 哈夫曼树 阅读目录 一,什么是哈夫曼树二,如何构建哈夫曼树四,算法实现 这一篇要总结的是树中的最后一种,即哈夫曼树,我想从以下几点对其进行总结: 1,什么是哈夫曼树? 2,如何构建哈夫曼树? 3,哈夫曼编码? 4,算法实现? 回到顶部 ...

2016-04-06 00:28:05

阅读数:315

评论数:0

LRU算法

LRU是Least Recently Used的缩写,即最近最少使用页面置换算法,是为虚拟页式存储管理服务的,是根据页面调入内存后的使用情况进行决策了。由于无法预测各页面将来的使用情况,只能利用“最近的过去”作为“最近的将来”的近似,因此,LRU算法就是将最近最久未使用的页面予以淘汰。 可以用一...

2016-04-06 00:11:06

阅读数:252

评论数:0

1-D closet pair 二分法

/************************** 解题思路:二分法 。。。。。。。。。。。。。。。。。。。。。。。。。 left mid right 点到自身的距离设为inf 递归边界:返回两个...

2015-04-26 22:35:51

阅读数:327

评论数:0

动态规划算法

五大常用算法之二:动态规划算法 一、基本概念     动态规划过程是:每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。 二、基本思想与策略     基本思想与分治...

2015-04-26 22:19:08

阅读数:331

评论数:0

优先队列用法

优先队列用法 在优先队列中,优先级高的元素先出队列。 标准库默认使用元素类型的 优先队列的第一种用法,也是最常用的用法: priority_queueint> qi; 通过 故示例1中输出结果为:9 6 5 3 2 第二种方法: 在示例1中,如果我们要把元素从...

2015-04-15 11:44:58

阅读数:260

评论数:0

sicily 1176 Two ends

题目大意:给定一个数列,两人轮流取数,只能从两端取,第一个取的人可以用任何策略,第二个贪心,问结束时第一个人会赢多少分。 题目分析:第一个人采用动态规划的方法,一定能最大化地赢第二个使用贪心的人。 思路:使用Bottom-Up的动态规划,,复杂度O(n2)。        状态:dp[i][j]...

2015-04-06 17:22:32

阅读数:367

评论数:0

大数取模运算

大数取模运算 sicily 1020 Big Integer

2015-03-22 11:11:23

阅读数:6665

评论数:0

快速幂取模

在Miller Rabbin测试素数,就用到了快速幂取模的思想。这里总结下。 求a^b%c(这就是著名的RSA公钥的加密方法),当a,b很大时,直接求解这个问题不太可能  算法1:利用公式a*b%c=((a%c)*b)%c,这样每一步都进行这种处理,这就解决了a^b可能太大存不...

2015-03-22 09:33:38

阅读数:390

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭