- 博客(16)
- 收藏
- 关注
原创 哈利波特的考试-有权无向图用到Floyd算法
哈利波特的考试-有权无向图用Floyd算法计算任意两顶点的最短路径,再对每个顶点去扫描它到其他顶点最短路径的最大值,把最大值记下,找所有顶点到其他顶点的最大值其中最小值。#define MaxVertexNum 100 //最大顶点数设为100#define INFINITY 65535 //∞设为双字节无符号整数的最大值65535typedef int Vertex; //用
2017-03-25 22:00:28 2197
原创 Huffman Codes(哈弗曼编码)之计算最优编码长度和对每位学生的提交检查
MinHeap H=CreateHeap(N);//创建一个空的、容量为N的最小堆H=ReadData(N);//将f[]读入H->Data[]中HuffmanTree T=Huffman(H);//建立Huffman树int CodeLen=WPL(T,0); int WPL(HuffmanTree T,int Depth){ if(!T->Left&&!T->Right) re
2017-03-12 22:06:48 843
原创 Complete Binary Search Tree(完全二叉搜索树)用数组表示和计算左子树的规模
void solve(int ALeft,int ARight,int TRoot){//初始调用为solve(0,N-1,0) n=ARignt-ALeft+1; if(n==0) return; L=GetLeftLength(n);//计算n个结点的树其左子树有多少个结点 T[TRoot]=A[ALeft+L]; LeftTRoot=TRoot*2+1; RightTRoo
2017-03-12 21:59:36 636
原创 Tree Traversals Again(通过先序、中序遍历在不建树情况下推出后序遍历)
void solve(int preL,int inL,int postL,int n){ if(n==0) return; if(n==1) {post[postL]=pre[preL];return;} root=pre[preL]; post[postL+n-1]=root; for(i=0;i<n;i++) if(in[inL+i]==root) break; L=i;
2017-03-10 20:22:45 269
原创 用邻接表来表示图
typedef struct GNode *PtrToGNode;struct GNode{ int Nv;//顶点数 int Ne;//边数 AdjList G;//邻接表。AdjList要自己去定义 };typedef PtrToGNode LGraph;//以邻接表存储的图类型typedef struct VNode{ PtrToAdjVNode FirstEdge;
2017-03-10 20:11:09 598
原创 用邻接矩阵来表示图
typedef struct GNode *PtrToGNode;struct GNode{ int Nv;//顶点数 int Ne;//边数 WeightType G[MaxVertexNum][MaxVertexNum]; DataType Data[MaxVertexNum];//存顶点的数据 .有就写 };typedef PtrToGNode MGraph;//以邻接矩阵
2017-03-10 20:09:46 1407
原创 file transfer(文档传送程序)-并查集的应用
/*file transfer文档传送程序*/ typedef struct{//本数组的类型是结构体。集合的每个元素直接用数组里的下标去代表即可,此时数据域可以不要,直接定义一个整型数组即可表示集合。 ElementType Data;//数组有个结构域Data对应的是集合的元素的具体类型 (任何想要的类型) int Parent;//是个指针记录元素在数组里父结点的位置 }SetTy
2017-03-06 21:23:02 480
原创 堆中的路径
#define MAXN 1001//堆的表示及其操作 #define MINH -10001int H[MAXN],size;typedef struct HeapStruct *MinHeap; //最大堆的创建 struct HeapStruct{ ElementType *Elements;//存储堆元素的数组 int Size;//堆的当前元素个数 int Capacit
2017-03-02 14:03:15 331
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人