数据结构
文章平均质量分 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 · 433 阅读 · 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;templatestruct 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#includeusing namespace std; templateclass 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 · 640 阅读 · 0 评论