AOV工程网络图的计算

下面是计算AOV工程网络图的C代码,符合ANSI标准,可用于大部分的编译器。 数据挖掘研究院


#include <stdio.h>
#include <string.h>
#include <stdlib.h>

数据挖掘交友


#define MAX_V_NUM   1024   // 最大顶点数
#define WORD32    unsigned long
#define WORD32_BLEN   4
#define MAX_WORD32   0xffffffffL
#define INIT_AOV   memset( (void *)&g_aov, (char)0xff, (size_t)MAX_V_NUM * MAX_V_NUM * WORD32_BLEN )
#define IN_FILE_NAME  "aov.in"
#define ERR_FILE_NOT_FOUND 1
#define TRUE    1


WORD32 g_aov[MAX_V_NUM][MAX_V_NUM];
WORD32 g_e[MAX_V_NUM], g_l[MAX_V_NUM];
int g_n; 数据挖掘交友


// 函数预定义 -- 开始
void input_init();
void calc_el();
void print_result();
// 函数预定义 -- 结束 数据挖掘论坛


void input_init()
{
 WORD32 i, j, k;
 FILE *fp_in; 数据挖掘论坛


 INIT_AOV;

数据挖掘论坛


 fp_in = fopen( IN_FILE_NAME, "r" );
 if ( fp_in == NULL )
 {
  printf("File not found! ");
  exit(ERR_FILE_NOT_FOUND);
 }
 fscanf( fp_in, "%d ", &g_n );
 while (TRUE)
 {
  fscanf( fp_in, "%lu %lu %lu", &i, &j, &k );
  if ( ( i == 0 ) && ( j == 0 ) && ( k == 0 ) ) break;
  g_aov[i - 1][j - 1] = k;
  fscanf( fp_in, " " );
 }
 fclose(fp_in); 数据挖掘论坛


 g_e[0] = 0;
}


void calc_el()
{
 WORD32 ext;
 int i, j; 数据挖掘研究院


 for ( i = 1; i < g_n; i++ )
 {
  ext = 0;
  for ( j = 0; j < g_n; j++ )
   if ( ( g_aov[j][i] != MAX_WORD32 ) && ( g_e[j] + g_aov[j][i] > ext ) )
    ext = g_e[j] + g_aov[j][i];
  g_e[i] = ext;
 }


 g_l[g_n - 1] = g_e[g_n - 1];
 for ( i = g_n - 2; i >= 0; i-- )
 {
  ext = MAX_WORD32;
  for ( j = 0; j < g_n; j++ )
   if ( ( g_aov[i][j] != MAX_WORD32 ) && ( g_l[j] - g_aov[i][j] < ext ) )
    ext = g_l[j] - g_aov[i][j];
  g_l[i] = ext;
 }
}


void print_result()
{
 int i, j; 数据挖掘交友


 printf("  # E L ");
 for ( i = 0; i < g_n; i++ )
 {
  if ( g_e[i] == g_l[i] )
   printf("*");
  else
   printf(" ");
  printf( " %d %lu %lu ", i + 1, g_e[i], g_l[i] );
 }
 printf(" 关键路径: ");
 j = 0;
 while ( j != g_n - 1 )
 {
  printf( "%d - ", j + 1 );
  for ( i = 0; i < g_n; i++ )
  {
   if ( ( g_aov[j][i] != MAX_WORD32 ) && ( g_e[i] == g_l[i] ) )
   {
    j = i;
    break;
   }
  }
 }
 printf( "%d ", j + 1 );
} 数据挖掘研究院


int main(int argc,char *argv[])
{
 input_init();
 calc_el();
 print_result(); 数据挖掘实验室


 return 0;
}

数据挖掘研究院


输入文件aov.in的格式是这样的:

数据挖掘交友


第一行:n,表示顶点数

数据挖掘实验室


后面每行表示一道工序


最后用0 0 0结束

数据挖掘工具


事项1为起始事项,事项n为末事项。 数据挖掘论坛


输出中,有*的是关键路径上的点。

数据挖掘交友

[数据挖掘专家] [数据挖掘研究院] [数据挖掘论坛] [数据挖掘实验室]
上一篇:ROA算法的优化
下一篇:RSA加解密算法源代码及程序说明...关于RSA给20万奖金的问题嘛~
最新评论共有 0 位网友发表了评论 , 查看所有评论
发表评论( 不能超过250字,需审核,请自觉遵守互联网相关政策法规。 )
匿名?
数据挖掘网站导航 数据挖掘论坛导航
  • 数据挖掘工具
  • 数据挖掘论坛
  • DataCruncher - Cognos
  • MineSet - MathSoft
  • Intelligent Miner - GainSmarts
  • Sqlserver - SAS - Clementine
  • CART - Weka - WizSoft
  • NeuroShell - ModelQuest
  • data mining tools - Darwin
  • 数据挖掘交友
  • 数据挖掘博客
  • 数据挖掘工具
  • 数据挖掘资源
  • 数据挖掘技术算法
  • 数据挖掘相关期刊、会议
  • 研究院联盟合作专区
  • 数据挖掘基础与相关技术
  • 数据挖掘厂商与就业
  • 数据挖掘研究者乐园
  • 知名厂商数据挖掘工具资料
  • 国内数据挖掘实验室
  • Foreign Data Mining Lab
  • 热点关注
  • Internet控制信息协议(ICMP)
  • 微软公司软件开发模式简介
  • http1.1
  • TCP协议规范(中文版)
  • linux端口列表
  • 语音识别进入IVR系统
  • Api函数列表——与文件相关
  • RVP:存在和即时消息传送协议(3)
  • Win32环境下动态链接库(DLL)编程原理
  • PPPInternet协议控制协议(中文版)
  • 论坛最新话题
  • Foundations of Statistical Natural Langu
  • Game Theory meet Data Mining: A Recent P
  • System Building: How does it help or hin
  • 数据挖掘与Clementine培训
  • 新手报到
  • 求 SASEM 客户流失预测分析
  • 数据挖掘工程师/搜索研究院—北京——无线
  • 数据挖掘入门介绍(如何着手数据挖掘)
  • Information Overload Survey Results
  • The INEX 2005 Workshop on Element Retrie
  • 相关资讯
  • Internet控制信息协议(ICMP)
  • 中文RFC文档远程COM选项(四)
  • Api函数列表——与文件相关
  • RVP:存在和即时消息传送协议(3)
  • 微软公司软件开发模式简介
  • MMXInstructions
  • TCP协议规范(中文版)
  • PPPInternet协议控制协议(中文版)
  • 语音识别进入IVR系统
  • http1.1
  • 数据挖掘实验室资料
  • 数据挖掘博客地址
  • 数据挖掘实验室网站地址
  • Prepare for Medicare audits by using dat
  • 注册成为SAS用户与爱好者俱乐部会员
  • 水南梅
  • 明日烟
  • 新人报道
  • 下载
  • 厦门服务器托管,450元/月—0592-5177319 高
  • 买空间送域名--0592-5177319 高静