大二下算法分析与设计

本博客记录山东大学泰山学堂2021级数据结构部分内容

BFS

作业 22.2-7

解答参考: 用两次BFS或树型DP
解答参考2:用两次DFS或者树型DP
时间复杂度:因为树的边数E与点数V满足

\[|E| == |V| - 1 \]

因此对树跑一遍BFS或者DFS复杂度为\(O(E+V) = O(V-1+V) = O(V)\)
因此跑两遍BFS复杂度:\(O(V)\)

习题22.4-2

参考
假设\(P(x)\)为源点\(s\)到点\(x\)的路径数目
重要定理
如果点x的直接父节点有n个,假设为\(a_1, a_2, a_3, ... a_n\), 那么:

\[P(x) = P(a_1) + P(a_2) +...+ P(a_n) ~~~~~~~~~~~~~~~~~~~ (1) \]

自己画个图就能证明
那么我们就能利用公式(1)来进行递推,从\(P(s) = 1\)开始,逐个寻找后续节点

23.1 与 23.2(最小生成树)习题答案

参考

posted @ 2023-03-05 15:57  诗子黎  阅读(7)  评论(0编辑  收藏  举报