我觉得还是有问题,虽然代码中对新加入的待选边有做“指向的点是否已选访问”的判断。但是对那些在上一循环不是“指向已访问点”而被加入到待选集合中,而本次循环之后就成了“指向已访问点”的点没有做过滤。普里姆算法本身在待选边集合中选边的时候是有做一次边指向点是否已访问的判断的,而这个算法中没有体现。
2018-03-03
@醉独醒 说得是对的,虽然代码中对新加入的待选边有做“指向的点是否已选访问”的判断。但是对那些在上一循环不是“指向已访问点”而被加入到待选集合中,而本次循环之后就成了“指向已访问点”的点没有做过滤。普里姆算法本身在待选边集合中选边的时候是有做一次边指向点是否已访问的,而这个算法中没有体现。
2018-03-03
最赞回答 / 慕斯5158549
bool CMap::getValueFormMatrix(int row,int col,int&val){if(row<0||row>=m_iCapacity){return false;}if(col<0||row>=m_iCapacity){return false;}val=m_PMatrix[row*m_iCapacity+row];return true;}找到了 这个函数
2018-01-09