对于一个家庭作业问题,我被问到给定一组n个节点和m个边的问题,其中图由邻接列表表示,为什么insertVertex将采用O(1),deleteVertex将采取O (M)。时间复杂度/图论
我不完全确定我的答案,但我把那个insertVertex是O(1),因为当你第一次插入时,你添加到数组的所有元素都是一个节点和一组相邻的顶点(意思是你的顶点新节点指向)。因此这个时间复杂度是不变的。但是,在删除节点时,不仅必须删除节点和节点附带的相邻边,还必须通过其余的m边来确保删除指向节点的节点和边你试图删除的节点(因为你不能指向没有任何边缘)
我是新来的图论,所以我不知道我的思维方式是否正确。是巨大的。
感谢
听起来像对我坚实的推理,但我敢打赌,别人在这里可以澄清更多。 –