[理工] 资工 图相关 算法 复杂度请教

楼主: qoojordon (颖川琦)   2014-09-02 20:49:33
Q: DFS / BFS 是否为linear time的算法 ?
碍于图的input较为繁琐 , 大部分的算法复杂度都会以 |V| , |E|去计量
教科书的资料此两算法的复杂度皆为 O (|V|+|E|) ,
部分考古题解答有这种的写法
|E| ≦ |V|^2 ..... 如果是simple graph , node数的平方 可视为是 edge的bound
依照这样的说法 , O (|V|+|E|)这样的复杂度
= O (|V|+|V|^2)
= O (|V|^2)
反来以 edge的角度来呈现复杂度不就变成 O (|E|) = linear !?
以我目前做考题与对观念的了解,图论算法的复杂度为求精确,通会要把每
个项目写清楚,但我上面这样的陈述,我找不到一个好的理由反驳自己,但在结果
上就影响了一个方法是否在linear time能解决,请问我上面这样的说法合乎逻辑吗?
作者: FRAXIS (喔喔)   2014-09-02 21:04:00
it is linear time..
作者: A4P8T6X9 (残废的名侦探)   2014-09-02 21:04:00
要以 INPUT 为几个点来看看是不是 linear
作者: FRAXIS (喔喔)   2014-09-02 21:05:00
边数越多 输入的大小越大 执行时间就越长 但是还是线性..
作者: A4P8T6X9 (残废的名侦探)   2014-09-02 21:12:00
跟存图的资料结构也有关
作者: kiki86151 (鲁饭)   2014-09-02 21:33:00
补充 linear time上的定义并不是单纯指所有O(n)喔 要看执行效率相对于input size是否成线性成长 若是才是line大部分所谓的n就是指input size所以O(n)才被称linear的

Links booklink

Contact Us: admin [ a t ] ucptt.com