自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

转载 在centOs7虚拟机上安装vmware-tools时的报错解决

今天在vmware上安装了centOS7,安装完后更新vmware-tools。 在安装vmware-tools-10.0的过程中,提示 “The path "" is not a valid path to the 3.10.0.-327.el7.x86_64 kernel headers. Woluld you like th change it?[yes]" 之前报过一个

2016-07-19 16:27:19 6195

原创 算法导论15.2矩阵链乘法 练习总结

15.2-1 对矩阵规模序列,求矩阵链最优括号化方案。ANSWER:def MATRIX_CHAIN_ORDER(p): n = len(p) s = [[0 for j in range(n)] for i in range(n)] m = [[0 for j in range(n)] for i in range(n)] for l in range(2, n): #l is

2016-02-01 16:38:24 7316

原创 算法导论15.1钢条切割 练习总结

15.1-1 由公式(15.3)和初始条件T(0) = 1,证明公式(15.4)成立。ANSWER:15.1-2 举反例证明下面的“贪心”策略不能保证总是得到最优切割方案。定义长度为i的钢条的密度为Pi / i,即每英寸的价值。贪心策略将长度为n的钢条切割下长度为i (1 ≤ i ≤ n)的一段,其密度最高。接下来继续使用相同的策略切割长度为n-i的剩余部分。ANSWER:当长

2016-01-28 21:32:17 3634

原创 算法导论22章基本的图算法 思考题总结

22-1 (以广度优先搜索来对图的边进行分类)深度优先搜索将图中的边分类为树边、后向边、前向边和横向边。广度优先搜索也可以用来进行这种分类。具体来说,广度优先搜索将从源结点可以到达的边划分为同样的4种类型。a.证明在对无向图进行的广度优先搜索中,下面的性质成立:1.不存在后向边,也不存在前向边。2.对于每条树边(u, v),我们有v.d = u.d + 1。3.对于每条横向边(u,

2016-01-27 22:22:41 3032

原创 算法导论22.5强连通分量 练习总结

22.5-1 如果在图G中加入一条新的边,G中的强连通分量的数量会发生怎样的变化?ANSWER:减1或者不变。22.5-2 给出算法STRONGLY-CONNECTED-COMPONENTS 在图22-6上的运行过程。具体要求是,给出算法第1行所计算出的完成时间和第3行所生成的森林。假定DFS的第5~7行的循环是以字母表顺序来对结点进行处理,并且连接链表中的结点也是以字母表顺序排列

2016-01-07 10:27:02 6336 3

原创 算法导论22.4拓扑排序 练习总结

22.4-1 给出算法 TOPOLOGICAL-SORT 运行于图 22-8 上时所生成的结点次序。这里的所有假设和练习 22.3-2 一样。ANSWER:22.4-2 请给出一个线性时间的算法,算法的输入为一个有向无环图 G = (V, E) 以及两个结点 s 和 t,算法的输出是从结点 s 到结点 t 之间的简单路径的数量。例如,对于图 22-8 所示的有向无环图,从结点 p

2015-12-29 12:57:11 9735 1

原创 算法导论22.3深度优先搜索 练习总结

22.3-1 画一个 3*3 的网格,行和列的抬头分别标记为白色、灰色和黑色,对于每个表单元 (i, j),请指出对有向图进行深度优先搜索的过程中,是否可能存在一条边,链接一个颜色为 i 的结点和一个颜色为 j 的结点。对于每种可能的边,指明该种边的类型。另外,请针对无向图的深度优先搜索再制作一张这样的网格。ANSWER:22.3-2 给出深度优先搜索算法在图 22-6 上的运行过

2015-12-01 21:02:57 8587 1

原创 关于矩阵的迹的几个性质证明

由于这里没有公式编译器,我将以图片形式证明。1、矩阵的迹是什么?矩阵的迹是特征值的加和。2、矩阵的迹的性质及其证明。

2015-11-20 17:08:59 49181 7

原创 算法导论22.2广度优先搜索 练习总结

22.2-1 请计算出在有向图 22-2(a) 上运行广度优先搜索算法后的 d 值和 π 值,这里假定结点 3 为算法所用的源结点。ANSWER:22.2-2 请计算出在图 22-3 所示无向图上运行广度优先搜索算法后的 d 值和 π 值。这里假定结点 u 为算法所用的源结点。ANSWER:22.2-3 证明:使用单个位来存放每个结点的颜色即可。这个论点可以通过证明

2015-11-14 19:50:40 5513

原创 Windows 64位下 python3.4.3 安装numpy scipy

Numpy:1、在开始菜单搜索cmd打开 终端2、在终端输入python -m pip install -U pip3、到http://www.lfd.uci.edu/~gohlke/pythonlibs  下载numpy‑1.10.0b1+mkl‑cp34‑none‑win_amd64.whl4、找到下载的 numpy-1.10.0b1+mkl-cp34-none-w

2015-11-04 20:29:48 5694

原创 算法导论22.1图的表示 练习总结

22.1-1 给定有向图的邻接链表,需要多长时间才能计算出每个结点的出度(发出的边的条数)?多长时间才能计算出每个结点的入度(进入的边的条数)?ANSWER:① 出度:O(V+E),因为计算 n 个结点的链表长度为 O(n),所以需要计算 O(V) 个链表长度时间为 O(V+E)。② 入度:O(V+E),同理。22.1-2 给定一棵有 7 个结点的完全二叉树的邻接链表,请给出等价的

2015-11-03 18:36:04 3764 1

原创 LintCode -- 最大子数组 III

LintCode -- maximum-subarray-iii(最大子数组 III)原题链接:http://www.lintcode.com/zh-cn/problem/maximum-subarray-iii/给定一个整数数组和一个整数k,找出k个不重叠子数组使得它们的和最大。每个子数组的数字在数组中的位置应该是连续的。返回最大的和。

2015-11-01 22:26:43 2233

原创 算法导论14.3区间树 练习总结

14.3-1 写出作用于区间树的结点且在 O(1) 时间内更新 max 属性的过程 LEFT-ROTATE 的伪代码。ANSWER:伪代码:LEFT-ROTATE(T, x) y = x.right y.max = x.max x.max = max(x.left.max, y.left.max, x.int.high)14.3-2 改写 INTERVAL

2015-10-29 00:58:14 3397

原创 算法导论14.2如何扩张数据结构 练习总结

14.2-1 通过为结点增加指针的方式,试说明如何在扩张的顺序统计树上,支持每一动态集合查询操作 MINIMUM、MAXIMUM、SUCCESSOR 和 PREDECESSOR 在最坏时间 O(1) 内完成。顺序统计树上的其他操作的渐进性能不受影响。ANSWER:① MINIMUM:用一个指针指向树中最小的元素。每次插入时与 MINIMUM 比较检测是否需要更改。若删除 MINIMUM,则

2015-10-27 13:14:07 2513

原创 算法导论14.1动态顺序统计 练习总结

14-1.1 对于图 14-1 中的红黑树 T,说明执行 OS-SELECT(T.root,10) 的过程。ANSWER:① 结点 26,x.left.size + 1 = 13 > 10,→ 左子树;② 结点 17,x.left.size + 1 = 8 → 右子树,i = 10 - 8 = 2;③ 结点 21,x.left.size + 1 = 3 > 2,→ 左子树;

2015-10-25 16:13:58 2505

原创 算法导论13章红黑树 思考题总结

13-1 (持久动态集合) 有时在算法的执行过程中我们会发现在更新一个动态集合时,需要维护其过去的版本。我们称这样的集合为持久的(persistent)。实现持久集合的一种方法是每当改集合被修改时,就将其完整地复制下来,但是这种方法会降低一个程序的执行速度,而且占用过多的空间。有时候,我们可以做得更好些。       考虑一个有 INSERT、DELETE和SEARCH操作的持久集合 S,我们

2015-10-20 11:40:25 1488

原创 算法导论13.4删除 练习总结

13.4-1 在执行 RB-DELETE-FIXUP 之后,证明:树根一定是黑色的。ANSWER:case 1:要进入循环,则 x.color = BLACK,且 x ≠ T.nil,所以不可能从case 1退出循环,所以必定会进入case 2,3,4。case 2:w = x.p.right,则 w 不可能是T.root;如果从case 2退出循环,则 x = T.root,则23行

2015-10-18 19:24:29 3307

原创 算法导论13.3插入 练习总结

13.3-1 在 RB-INSERT 的第 16 行,将心插入的结点 z 着为红色。注意到,如果将 z 着为黑色,则红黑树的性质 4 就不会被破坏。那么为什么不选择将 z 着为黑色呢?ANSWER:为了保持性质5,令红黑树的黑高不变。13.3-2 将关键字 41、38、31、12、19、8 连续地插入一棵初始化为空的红黑树之后,试画出该结果树。ANSWER:

2015-10-15 23:27:03 3481

原创 算法导论13.2旋转 练习总结

13.2-1 写出RIGHT-ROTATE 的伪代码。ANSWER:伪代码:RIGHT_ROTATA: y = x.left x.left = y.right if y.right ≠ T.nil: y.right.p = x y.p = x.p if y.p == T.nil: T.root = y else

2015-10-15 10:14:00 2114

原创 算法导论13.1红黑树的性质 练习总结

13.1-1 按照图13-1(a) 的方式,画出关键字集合{1,2,... ,15 }上高度为 3 的完全二叉搜索树。以三种不同方式想图中加入 NIL 叶结点并对各结点着色,使所得的红黑树的黑高分别为 2,3 和 4。ANSWER:如上图的二叉树(省略哨兵 T.nil )黑高为 2 :令深度为 0,2 的结点为黑,深度为 1,3 的结点为红。            3 :令

2015-10-10 16:57:08 3439 5

原创 LintCode -- 不同的二叉查找树(python-O(n)时间复杂度)

LintCode -- unique-binary-search-trees(不同的二叉查找树)原题链接:http://www.lintcode.com/zh-cn/problem/minimum-path-sum/给出 n,问由 1...n 为节点组成的不同的二叉查找树有多少种?您在真实的面试中是否遇到过这个题? Yes

2015-10-09 23:53:18 837

原创 算法导论12章二叉搜索树 思考题总结

12-1 (带有相同关键字的二叉搜索树) 相同关键字给二叉搜索树的实现带来了问题。a. 当用TREE-INSERT 将 n 个其中带有相同关键字的数据插入到一棵初始为空的二叉搜索树中,其渐进性能是多少?ANSWER:当遇到不小于父结点的关键字时,是插入到右子树,所以当插入n个全部相同或者有序的关键字时,会变成链表,最坏情况的时间复杂度为O(n^2),树的高度是O(n)。

2015-10-09 00:34:41 2553

原创 算法导论12.4随机构建二叉搜索树 练习总结

12.4-1 证明等式(12.3)。ANSWER:证明:                                                                                            此处将用不寻常的证明方法:引入一个新问题,利用两个不同解法的等效性证明等式(12.3)12.4-3 说明含有 n 个关键字的随机

2015-10-08 15:09:58 2426

原创 算法导论12.3插入和删除 练习总结

12.3-1 给出 TREE-INSERT 过程的一个递归版本。ANSWER:伪代码:TREE-INSERT(root, z) if root.key < z.key if root.right == NIL root.right = z z.p = root else TREE-

2015-10-06 10:29:47 2178 3

原创 LintCode -- 最小路径和

LintCode -- minimum-path-sum(最小路径和)原题链接:http://www.lintcode.com/zh-cn/problem/minimum-path-sum/给定一个只含非负整数的m*n网格,找到一条从左上角到右下角的可以使数字和最小的路径。样例注意你在同一时间只能向下或者向右移动一步

2015-10-05 15:21:58 2312

原创 LintCode -- 二叉树的后序遍历

LintCode -- binary-tree-postorder-traversal(二叉树的后序遍历)原题链接:http://www.lintcode.com/zh-cn/problem/binary-tree-postorder-traversal/给出一棵二叉树,返回其节点值的后序遍历。样例给出一棵二叉树 {1,#,2,3}, 1

2015-09-30 22:17:41 1644

原创 LintCode -- 二叉树的中序遍历

LintCode -- binary-tree-inorder-traversal(二叉树的中序遍历)原题链接:http://www.lintcode.com/zh-cn/problem/binary-tree-inorder-traversal/给出一棵二叉树,返回其中序遍历样例给出二叉树 {1,#,2,3}, 1 \

2015-09-30 20:44:29 2188

原创 LintCode -- 二叉树的前序遍历

LintCode -- binary-tree-preorder-traversal(二叉树的前序遍历)原题链接:http://www.lintcode.com/zh-cn/problem/binary-tree-preorder-traversal/给出一棵二叉树,返回其节点值的前序遍历。您在真实的面试中是否遇到过这个题? Yes样

2015-09-30 19:58:32 2341

原创 LintCode -- 乘积最大子序列

LintCode -- maximum-product-subarray(乘积最大子序列)原题链接:http://www.lintcode.com/zh-cn/problem/maximum-product-subarray/找出一个序列中乘积最大的连续子序列(至少包含一个数)。样例比如, 序列 [2,3,-2,4] 中乘积最大的子序列为 [2,

2015-09-30 19:46:34 820

原创 LintCode -- 不同的路径 II

LintCode -- unique-paths-ii(不同的路径 II)原题链接:http://www.lintcode.com/zh-cn/problem/unique-paths-ii/跟进“不同的路径”:现在考虑网格中有障碍物,那样将会有多少条不同的路径?网格中的障碍和空位置分别用1和0来表示。样例如下所示在3x3的网

2015-09-29 18:20:54 643

原创 算法导论12.2查询二叉搜索树 练习总结

12.2-1 假设一棵二叉搜索树中的结点在 1 到 1000 之间,现在想要查找数值为 363 的结点。下面序列中哪个不是查找过的序列?a. 2, 252, 401, 398,330,344,397,363。b. 924,220,911,244,898,258,362,363。c. 925,202,911,240,912,245,363。d. 2,399,387,219,266,3

2015-09-28 18:56:52 3629

原创 LintCode -- 不同的子序列

LintCode -- distinct-subsequences(不同的子序列)原题链接:http://www.lintcode.com/zh-cn/problem/distinct-subsequences/给出字符串S和字符串T,计算S的不同的子序列中T出现的个数。子序列字符串是原始字符串通过删除一些(或零个)产生的一个新的字符串,并且对剩下的字符

2015-09-28 00:29:37 617

原创 LintCode -- k数和

LintCode -- k-sum(k数和)原题链接:http://www.lintcode.com/zh-cn/problem/k-sum/给定n个不同的正整数,整数k(k 在这n个数里面找出K个数,使得这K个数的和等于目标数字,求问有多少种方案?您在真实的面试中是否遇到过这个题? Yes样例给出[1,2,3

2015-09-27 19:31:00 1396

原创 二叉树的前序、中序、后续遍历

LintCode 也有相关的题目,翻转二叉树。http://blog.csdn.net/chan15/article/details/48632357  这里有我的前、中、后序遍历的翻转二叉树非递归实现。前序遍历(DLR,DataLeftChild RightChild):        根结点 -> 左儿子 -> 右儿子        15 6 3 2 4 7 1

2015-09-25 20:47:21 3264

原创 算法导论12.1什么是二叉搜索树 练习总结

12.1-1 对于关键字集合 { 1,4,5,10,16,17,21 },分别画出高度为2、3、4、5 和 6 的二叉搜索树。ANSWER:12.1-2 二叉搜索树性质与最小堆性质(见 6.1 节)之间有什么不同?能使用最小堆性质在 O( n ) 时间内按序输出一颗有 n 个结点的关键字吗?可以的话,请说明如何做,否则解释理由。ANSWER:① 最小堆只是根结点比儿子的关键

2015-09-25 18:33:34 1901

原创 算法导论11章散列表 思考题总结

11-1 (散列最长探查的界) 采用开放寻址法,用一个大小为 m 的散列表来存储 n ( n a. 假设采用均匀散列,证明:对于 i = 1,2,... ,n,第 i 次插入需要严格多于 k 次探查的概率至多为 2^(-k) 。ANSWER:b. 证明:对于 i = 1,2,... ,n,第 i 次插入需要多于 2lgn 次探查的概率为 O( 1/ n^2 )。ANSWER

2015-09-24 23:34:03 3453

原创 算法导论11.4开放寻址法 练习总结

11.4-1 考虑将关键字 10、22、31、4、15、28、17、88、59用开放寻址法插入到一个长度为 m = 11 的散列表中,辅助散列函数为 h'( k ) = k mod m。试说明分别用线性探查,二次探查(c1 = 1,c2 = 3) 和双重散列h2( k ) = 1 + ( k mod (m-1))将这些关键字插入散列表的过程。ANSWER:序号线性探查

2015-09-24 17:03:10 3230

原创 LintCode -- 最长上升子序列 O(nlgn)

LintCode -- longest-increasing-subsequence(最长上升子序列)原题链接:http://www.lintcode.com/zh-cn/problem/longest-increasing-subsequence/给定一个整数序列,找到最长上升子序列(LIS),返回LIS的长度。样例给出[5,4,1,2,3],这个

2015-09-24 15:10:21 510

原创 算法导论11.3散列函数 练习总结

11.3-1 假设我们希望查找一个长度为n的链表,其中每一个元素都包含一个关键字 k 并具有散列值 h( k )。每一个关键字都是长字符串。那么在表中查找具有给定关键字的元素时,如何利用各元素的散列值呢?ANSWER:对给定关键字 k,通过 h( k )计算出散列值查找该元素。11.3-2 假设将一个长度为 r 的字符串散列到 m 个槽中,并将其视为一个以128为基数的数,要求

2015-09-23 20:46:35 3578

原创 算法导论11.2散列表 练习总结

11.2-1 假设用一个散列函数 h 将 n 个不同的关键字散列刀一个长度为 m 的数组 T 中。假设采用的是简单均匀散列,那么期望的冲突数是多少?更准确地,集合 { { k,l } :k ≠ l,且h( k ) ≠ h( l ) } 基的期望值是多少?ANSWER:11.2-2 对于一个用链接法解决冲突的散列表,说明将关键字 5,28,19,15,20,33,12,17,

2015-09-23 13:08:33 3509 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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