Skiena的算法设计手册(3ed,第204页)提到了邻接列表,而不是一般的邻接表示,定义它们为每个顶点a分配一个具有底层集合set(L_a) = {b | (x, b) <- edges, x ==但是,在我们不关心顺序的情况下,这些操作也可以是对数组的固定时间操作,使用“交换和pop”来删除。哈希表将具有恒定时间搜索的额外优势。我的理解是,哈希表比链接列表或数组花费更多的内存,但这种考虑已经变得相对不那么重要了。(在没有特定应用程序的情况下
我正在尝试实现karger随机收缩算法,它涉及到随机选择图中的2个相邻顶点,并对它们进行收缩,直到总共只剩下2个顶点。我正在使用此代码生成随机数#include <stdlib.h>
int r = rand() % v; (v is thenumber of vertices in the graph and will decrease by 1 for every contraction)1(1的