数据结构
文章平均质量分 77
liu_qiqi
这个作者很懒,什么都没留下…
展开
-
最小生成树--prim算法
prim算法生成最小生成树 先描述下prime算法: N={V,{E}} 其中,顶点集V和边集{E} 从U={u0} u0是V的子集,TE={}开始。在所有在U中的结点和不足U中的结点中找到一条代价最小的边(u0,v0),合入TE,将v0。直到U=V。 具体实现如下: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~原创 2012-12-16 15:16:06 · 434 阅读 · 0 评论 -
最小生成树--kruskal算法
kruskal算法形成最小生成树 prim是以顶点为中心,而kruskal算法是以边为中心。每次找到不会形成环路的最小的边。 kruskal算法中有个重要的数组parent[MAXVEX],用来判断是否会形成回路。 最重要的是弄清楚parent[i]数组表示的意义。该数组的内容i表示顶点,该数组的值表示与该顶点i直接或者间接相连。如parent[0]=1,表示v0v1顶点(直接或者通过中间结原创 2012-12-16 22:56:27 · 606 阅读 · 0 评论 -
使用模板类,实现用两个栈模拟队列的功能
// 使用模板类,实现用两个栈模拟队列的功能 #include #include #include using namespace std; template struct MyQueue { void push(T &t) { s1.push(t); } T front() { if(s2.empty()) { if(s1.siz转载 2013-07-22 11:29:51 · 784 阅读 · 0 评论 -
包含min函数的栈
#include #include #include using namespace std; template class StackWithMin { public: void push(const T& value ); void pop(); const T& min() const; private: stack m_data; stack m原创 2013-08-07 20:58:20 · 641 阅读 · 0 评论