![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
+《算法导论》习题解答
文章平均质量分 56
hcbbt
这个作者很懒,什么都没留下…
展开
-
《算法导论》习题解答 Chapter 22.1-8(变换邻接表的数据结构)
一般散列表都与B+树进行比较,包括在信息检索中也是。 确定某条边是否存在需要O(1). 不足: (1)散列冲突。 (2)哈希函数需要不断变化以适应需求。 另外:B+树。(见第18章) 与散列表相比的不足: (1)插入需要O(lgn) (2)树要保持平衡。 (原文点此,索引目录。感谢xiazdong君 && Google酱。这里是偶尔做做搬运工的水果君(原创 2013-07-17 01:00:42 · 2241 阅读 · 0 评论 -
《算法导论》习题解答 Chapter 22.1-7(关联矩阵的性质)
主对角线:出度+入度 其他:arr[i][j]=-n,则i与j之间有n条边. 证明: (原文点此,索引目录。感谢xiazdong君 && Google酱。这里是偶尔做做搬运工的水果君(^_^) )原创 2013-07-17 00:55:58 · 2410 阅读 · 0 评论 -
《算法导论》习题解答 Chapter 22.1-6(求universal sink 通用汇点)
思路:设置两个游标i指向行,j指向列,如果arr[i][j]==1,则i=max{i+1,j},j++;如果arr[i][j]==0,则j=max{i+1,j+1}。 伪代码: has_universal_sink() for i=1 to N //对角线检查是否全是0 if A[i][i]==1 return false; i=1,j=2原创 2013-07-17 00:49:04 · 2629 阅读 · 0 评论 -
《算法导论》习题解答 Chapter 22.1-5(求平方图)
一、邻接矩阵实现 思路:如果是邻接矩阵存储,设邻接矩阵为A,则A*A即为平方图,只需要矩阵相乘即可; 伪代码: for i=1 to n for j=1 to n for k=1 to n result[i][j]+=matrix[i][k]*matrix[k][j]; 算法复杂度 两个n维数组相乘,因此复杂度为O(V^3),当然可以通过Strassen算法稍原创 2013-07-16 01:19:38 · 3611 阅读 · 3 评论 -
《算法导论》习题解答 Chapter 22.1-2(邻接矩阵与链表)
链表如图: 矩阵: 1 2 3 4 5 6 7 1 0 1 1 0 0 0 0 2 1 0 0 1 1 0 0 3 1 0 0 0 0 1 1 4 0 1 0 0 0 0 0 5 0 1 0 0 0 0 0 6 0 0 1 0 0 0 0 7 0 0 1 0 0 0 0 (原文点此,原创 2013-07-16 00:52:00 · 2514 阅读 · 0 评论 -
《算法导论》习题解答 Chapter 22.1-3(转置图)
一、邻接表实现 思路:一边遍历,一边倒置边,并添加到新的图中 邻接表实现伪代码: for each u 属于 Vertex for v 属于 Adj[u] Adj1[v].insert(u); 复杂度:O(V+E); 输入: 3 3 a b b c c a 源代码: package C22; import java.util.Iterator原创 2013-07-16 01:03:06 · 3717 阅读 · 0 评论 -
《算法导论》习题解答 Chapter 22.1-4(去除重边)
思路:重开一个新图,按着邻接列表的顺序从上到下遍历,每遍历一行链表前,清空visited数组,如果没有访问过这个元素,则加入新图,如果已经访问过了(重边),则不动。 伪代码: 复杂度:O(V+E) for each u 属于 Vertex visited[u] = false; for u 属于 Vertex visited[u] = true; for v 属于 Adj原创 2013-07-16 01:10:28 · 3277 阅读 · 0 评论 -
《算法导论》习题解答搬运&&学习笔记 索引目录
《算法导论》习题解答搬运&&学习笔记 索引目录,不定期更新原创 2013-07-14 21:04:27 · 2709 阅读 · 0 评论 -
(搬运)《算法导论》习题解答 Chapter 22.1-1(入度和出度)
(搬运)《算法导论》习题解答 Chapter 22.1-1(入度和出度) 思路:遍历邻接列表即可; 伪代码: for u 属于 Vertex for v属于 Adj[u] outdegree[u]++; indegree[v]++; 源代码: package C22; import java.util.Iterator;原创 2013-07-14 21:02:19 · 2897 阅读 · 0 评论