l**h 发帖数: 893 | 1 文本文件,里面每一行如下:
f1->f2 (means function 1 calls function 2)
f2->f4
f1->f3
f5->f6
...
要实现所有call一个函数的函数集合
Set getAllCallerNames(String fn) {
}
怎么做?
注意:
if f1->f2 and f2->f3 then f1->f3. |
j*****y 发帖数: 1071 | 2 把每行的方向反方向一下
用 bfs starting from fn
【在 l**h 的大作中提到】 : 文本文件,里面每一行如下: : f1->f2 (means function 1 calls function 2) : f2->f4 : f1->f3 : f5->f6 : ... : 要实现所有call一个函数的函数集合 : Set getAllCallerNames(String fn) { : } : 怎么做?
|
l**h 发帖数: 893 | 3 应该差不多, bfs的时候要注意一下有cycle的情况
【在 j*****y 的大作中提到】 : 把每行的方向反方向一下 : 用 bfs starting from fn
|
p*****2 发帖数: 21240 | 4 没看明白
f1->f2 (means function 1 calls function 2)
f2->f4
f1->f3
f5->f6
...
注意:
if f1->f2 and f2->f3 then f1->f3.
为什么f2->f3呢? |
t*********h 发帖数: 941 | 5 co dont understnd the question
【在 p*****2 的大作中提到】 : 没看明白 : f1->f2 (means function 1 calls function 2) : f2->f4 : f1->f3 : f5->f6 : ... : 注意: : if f1->f2 and f2->f3 then f1->f3. : 为什么f2->f3呢?
|
s****0 发帖数: 117 | |
e****e 发帖数: 418 | 7 为什么f2->f3呢?
没有什么实际的意义,或者抽象出来的如此,题目的例子里是f2->f3.
【在 p*****2 的大作中提到】 : 没看明白 : f1->f2 (means function 1 calls function 2) : f2->f4 : f1->f3 : f5->f6 : ... : 注意: : if f1->f2 and f2->f3 then f1->f3. : 为什么f2->f3呢?
|
l*******b 发帖数: 2586 | 8 call graph 一样的东西?
编译器里用到
http://pycallgraph.slowchop.com/pycallgraph/wiki/RegExpExample
花花绿绿挺好看的,哈哈
【在 e****e 的大作中提到】 : 为什么f2->f3呢? : 没有什么实际的意义,或者抽象出来的如此,题目的例子里是f2->f3.
|
p*****2 发帖数: 21240 | 9
例子不是f2->f4吗?
【在 e****e 的大作中提到】 : 为什么f2->f3呢? : 没有什么实际的意义,或者抽象出来的如此,题目的例子里是f2->f3.
|
e****e 发帖数: 418 | 10 还真是f2->f4,估计是typo... 也许是f2->f3,在最开始的例子里属于省略号里的。。。
【在 p*****2 的大作中提到】 : : 例子不是f2->f4吗?
|
l**h 发帖数: 893 | 11 "if f1->f2 and f2->f3 then f1->f3",跟题里面的输入无关,
是说如果A->B && B->C, 那么A->C
。。
【在 e****e 的大作中提到】 : 还真是f2->f4,估计是typo... 也许是f2->f3,在最开始的例子里属于省略号里的。。。
|
c*u 发帖数: 22 | 12 这样可以么:
每行key value存map
挨个遍历取value做key递归取到最后的就是value放set
最后输出set
【在 l**h 的大作中提到】 : 文本文件,里面每一行如下: : f1->f2 (means function 1 calls function 2) : f2->f4 : f1->f3 : f5->f6 : ... : 要实现所有call一个函数的函数集合 : Set getAllCallerNames(String fn) { : } : 怎么做?
|
s*****n 发帖数: 5488 | 13 复杂度多少
简单的,第一步建立adj list.第二步开始从节点fn遍历图。
【在 c*u 的大作中提到】 : 这样可以么: : 每行key value存map : 挨个遍历取value做key递归取到最后的就是value放set : 最后输出set
|
c*u 发帖数: 22 | 14 o(n)? 因为递归过的可以去掉.
【在 s*****n 的大作中提到】 : 复杂度多少 : 简单的,第一步建立adj list.第二步开始从节点fn遍历图。
|