+《算法导论》习题解答
文章平均质量分 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 · 2247 阅读 · 0 评论 -
《算法导论》习题解答 Chapter 22.1-7(关联矩阵的性质)
主对角线:出度+入度其他:arr[i][j]=-n,则i与j之间有n条边.证明:(原文点此,索引目录。感谢xiazdong君 && Google酱。这里是偶尔做做搬运工的水果君(^_^) )原创 2013-07-17 00:55:58 · 2420 阅读 · 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 · 2638 阅读 · 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 · 3646 阅读 · 3 评论 -
《算法导论》习题解答 Chapter 22.1-2(邻接矩阵与链表)
链表如图:矩阵:12 3 4 5 6710 1 1 0 00 021 0 0 1 10 031 0 0 0 01 140 1 0 0 00 050 1 0 0 00 060 0 1 0 00 070 0 1 0 00 0(原文点此,原创 2013-07-16 00:52:00 · 2545 阅读 · 0 评论 -
《算法导论》习题解答 Chapter 22.1-3(转置图)
一、邻接表实现思路:一边遍历,一边倒置边,并添加到新的图中邻接表实现伪代码:for each u 属于 Vertex for v 属于 Adj[u] Adj1[v].insert(u);复杂度:O(V+E);输入:3 3a bb cc a源代码:package C22;import java.util.Iterator原创 2013-07-16 01:03:06 · 3744 阅读 · 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 · 3311 阅读 · 0 评论 -
《算法导论》习题解答搬运&&学习笔记 索引目录
《算法导论》习题解答搬运&&学习笔记 索引目录,不定期更新原创 2013-07-14 21:04:27 · 2717 阅读 · 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 · 2925 阅读 · 0 评论