摘要:
算法的数据结构弗洛伊德算法采用图的带权邻接矩阵存储结构。算法基本思想假设求顶点Vi到Vj的最短路径。弗洛伊德算法依次找从Vi到Vj,中间经过结点序号不大于0的最短路径,不大于1的最短路径,…直到中间顶点序号不大于n-1的最短路径,从中选取最小值,即为Vi到Vj的最短路径。算法具体描述若从Vi到Vj有弧,则从Vi到Vj存在一条长度为弧上权值(arcs[i][j] )的路径,该路径不一定是最短路径,尚需进行n次试探。首先考虑从Vi到Vj经过中间顶点V0的路径(Vi,V0,Vj)是否存在,也就是判断弧(Vi,V0)和(V0,Vj)是否存在。若存在,则比较(Vi,Vj)和(Vi,V0,Vj)的路径长度 阅读全文
posted @ 2013-10-14 13:41
smart0326
阅读(2685)
评论(0)
推荐(0)
摘要:
/*1wangxiaobo@163.com数据结构C语言版 有向图的十字链表存储表示和实现P165编译环境:Dev-C++ 4.9.9.2*/#include #include typedef char InfoType;#define MAX_Info 80 // 信息字符串最大长度+1#define MAX_VERTEX_NAME 5 // 顶点字符串最大长度+1typedef char VertexType[MAX_VERTEX_NAME];// 有向图的十字链表存储表示#define MAX_VERTEX_NUM 20typedef struct ArcBox{int tailvex, 阅读全文
posted @ 2013-10-14 13:40
smart0326
阅读(1007)
评论(0)
推荐(0)
摘要:
#defineLT(a,b)((a)>r[n].key;cout>r[n].name;n++;c=getchar();}Create_SqTable(T,n);}//思想://先将整个序列分成若干个子序列,再对子序列进行直接插入排序//待到子序列基本有序,则对全体记录进行一次直拉插入排序voidShellInsert(SSTable&L,intdk){//dk是前后记录的增量intj;for(inti=dk+1;i0&<(L.elem[0].key,L.elem[j].key);j-=dk)L.elem[j+dk]=L.elem[j];L.elem[j+ 阅读全文
posted @ 2013-10-14 13:40
smart0326
阅读(232)
评论(0)
推荐(0)
摘要:
数据结构C语言版表插入排序.txt两个人吵架,先说对不起的人,并不是认输了,并不是原谅了。他只是比对方更珍惜这份感情。/*数据结构C语言版表插入排序算法10.3P267-P270编译环境:Dev-C++4.9.9.2*/#include#include//静态链表类型#defineSIZE100//静态链表容量typedefintKeyType;//定义关键字类型为整型typedefintInfoType;//定义其他信息的类型typedefstruct{KeyTypekey;//关键字项InfoTypeotherinfo;//其它数据项,具体类型在主程中定义}RedType;//记录类型ty 阅读全文
posted @ 2013-10-14 13:39
smart0326
阅读(344)
评论(0)
推荐(0)
摘要:
/*数据结构C语言版 弗洛伊德算法P191编译环境:Dev-C++ 4.9.9.2*/#include #include #define MAX_NAME 5// 顶点字符串的最大长度+1#define MAX_INFO 20// 相关信息字符串的最大长度+1typedef int VRType;// 顶点关系的数据类型#define INFINITY INT_MAX// 用整型最大值代替∞#define MAX_VERTEX_NUM 20// 最大顶点个数typedef char InfoType;// 信息的类型typedef char VertexType[MAX_NAME];// 顶点 阅读全文
posted @ 2013-10-14 13:38
smart0326
阅读(710)
评论(0)
推荐(0)
摘要:
#include”stdio.h“#include“conio.h”#include”assert.h“#include“stdlib.h”#defineMAPMAXSIZE100//地图面积最大为100x100#defineMAXINT8192//定义一个最大整数,地图上任意两点距离不会超过它#defineSTACKSIZE65536//保存搜索节点的堆栈大小#definetile_num(x,y)((y)*map_w+(x))//将x,y坐标转换为地图上块的编号#definetile_x(n)((n)%map_w)//由块编号得出x,y坐标#definetile_y(n)((n)/map_ 阅读全文
posted @ 2013-10-14 13:37
smart0326
阅读(1419)
评论(0)
推荐(0)
摘要:
#include#include#include#defineEQ(a,b)((a)==(b))#defineLT(a,b)((a)(b))#defineLH+1//左高#defineEH0//等高#defineRH-1//右高#defineNULL0//http://1wangxiaobo@163.com/////////////////////////// 定义结构体 /////////////////////////// typedefstructBSTNode{intdata;intbf;//结点的平衡因子structBSTNode*lchild,*rchild;//左、右孩子指针}B 阅读全文
posted @ 2013-10-14 13:37
smart0326
阅读(1140)
评论(0)
推荐(1)
摘要:
作者: 码农1946来源: 博客园发布时间: 2013-10-09 11:37阅读: 4556 次推荐: 41 原文链接 [收藏] 好吧,我承认我标题党了,不过既然你来了,就认真看下去吧,保证你有收获。 我们平时经常会有一些数据运算的操作,需要调用sqrt,exp,abs等函数,那么时候你有没有想过:这个些函数系统是如何实现的?就拿最常用的sqrt函数来说吧,系统怎么来实现这个经常调用的函数呢? 虽然有可能你平时没有想过这个问题,不过正所谓是“临阵磨枪,不快也光”,你“眉头一皱,计上心来”,这个不是太简单了嘛,用二分的方法,在一个区间中,每次拿中间数的平方来试验,如果大了,就再试左区间的... 阅读全文
posted @ 2013-10-14 13:31
smart0326
阅读(347)
评论(0)
推荐(2)

浙公网安备 33010602011771号