我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

« 1 2» Pages: ( 1/2 total )
本页主题: 100FY求个程序,很简单的,高手进来看下 显示签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

vvcmoon



性别: 帅哥 状态: 该用户目前不在线
头衔: 都要走了……
等级: 荣誉会员
家族: Red Devils--夢劇塲
发贴: 21417
威望: 3
浮云: 4793
在线等级:
注册时间: 2006-06-07
最后登陆: 2012-12-03

5come5帮你背单词 [ rhythm /'riðəm/ n. 节奏,韵律,有规律的循环运动 ]


100FY求个程序,很简单的,高手进来看下

工程造价最小问题
问题描述:如果以无向网表示n个城市之间的交通网络建设规划,顶点表示城市,边上的权表示该线路的造价,试设计一个方案,使这个交通网的总造价最小。
用数据结构权值最小问题写,会的帮个忙哦

越快越好,朋友急要,熄灯前编出来的送200FY,明天中午12点以前编出来的送150FY
顶端 Posted: 2007-04-16 23:12 | [楼 主]
vvcmoon



性别: 帅哥 状态: 该用户目前不在线
头衔: 都要走了……
等级: 荣誉会员
家族: Red Devils--夢劇塲
发贴: 21417
威望: 3
浮云: 4793
在线等级:
注册时间: 2006-06-07
最后登陆: 2012-12-03

5come5帮你背单词 [ girl /gə:l/ n. 女孩,姑娘 ]


高手来帮下忙啊,无限感激
顶端 Posted: 2007-04-16 23:13 | [1 楼]
jiju84



性别: 帅哥 状态: 该用户目前不在线
头衔: 【做人要低调!!】
等级: 前途无量
家族: J&S
发贴: 6455
威望: 0
浮云: 1253
在线等级:
注册时间: 2005-03-07
最后登陆: 2010-03-18

5come5帮你背单词 [ reiterate /ri:'itəreit/ vt. 反算地讲(做),重申 ]


以无向网表示n个城市之间的交通网络建设规划

Hamilton图?

妙似以前建模的时候写过matlab版的.........
顶端 Posted: 2007-04-16 23:23 | [2 楼]
vvcmoon



性别: 帅哥 状态: 该用户目前不在线
头衔: 都要走了……
等级: 荣誉会员
家族: Red Devils--夢劇塲
发贴: 21417
威望: 3
浮云: 4793
在线等级:
注册时间: 2006-06-07
最后登陆: 2012-12-03

5come5帮你背单词 [ tow /təu/ v. & n. 拖,拉,牵引 ]


Quote:
引用第2楼jiju84于2007-04-16 23:23发表的:
以无向网表示n个城市之间的交通网络建设规划

Hamilton图?

妙似以前建模的时候写过matlab版的.........


只求结果
顶端 Posted: 2007-04-16 23:23 | [3 楼]
jiju84



性别: 帅哥 状态: 该用户目前不在线
头衔: 【做人要低调!!】
等级: 前途无量
家族: J&S
发贴: 6455
威望: 0
浮云: 1253
在线等级:
注册时间: 2005-03-07
最后登陆: 2010-03-18

5come5帮你背单词 [ snake /sneik/ n. 蛇 ]


求第一个城市到其它城市的最短路径的Matlab程序如下:
clear;
clc;
M=10000;
a(1,:)=[0,50,M,40,25,10];
a(2,:)=[zeros(1,2),15,20,M,25];
a(3,:)=[zeros(1,3),10,20,M];
a(4,:)=[zeros(1,4),10,25];
a(5,:)=[zeros(1,5),55];
a(6,:)=zeros(1,6);
a=a+a';
pb(1:length(a))=0;pb(1)=1;index1=1;index2=ones(1,length(a));
d(1:length(a))=M;d(1)=0;temp=1;
while sum(pb)<length(a)
  tb=find(pb==0);
  d(tb)=min(d(tb),d(temp)+a(temp,tb));
  tmpb=find(d(tb)==min(d(tb)));
  temp=tb(tmpb(1));
  pb(temp)=1;
  index1=[index1,temp];
  index=index1(find(d(index1)==d(temp)-a(temp,index1)));
  if length(index)>=2
    index=index(1);
  end
  index2(temp)=index;
end
d, index1, index2


//------------------------------------
用Floyd算法求解矩阵
用来存放每对顶点之间最短路径上所经过的顶点的序号。Floyd算法的Matlab程序如下:
clear;
clc;
M=10000;
a(1,:)=[0,50,M,40,25,10];
a(2,:)=[zeros(1,2),15,20,M,25];
a(3,:)=[zeros(1,3),10,20,M];
a(4,:)=[zeros(1,4),10,25];
a(5,:)=[zeros(1,5),55];
a(6,:)=zeros(1,6);
b=a+a';path=zeros(length(b));
for k=1:6
  for i=1:6
    for j=1:6
      if b(i,j)>b(i,k)+b(k,j)
        b(i,j)=b(i,k)+b(k,j);
        path(i,j)=k;
      end
    end
  end
end
b, path
顶端 Posted: 2007-04-16 23:26 | [4 楼]
jiju84



性别: 帅哥 状态: 该用户目前不在线
头衔: 【做人要低调!!】
等级: 前途无量
家族: J&S
发贴: 6455
威望: 0
浮云: 1253
在线等级:
注册时间: 2005-03-07
最后登陆: 2010-03-18

5come5帮你背单词 [ volume /'voljum/ n. 音量,容积,容量,书卷,卷册 ]


第一个m文件不是偶写的
偶当时对其做了修改
效果要好
这个是无最优解的

可是没有找到...............
顶端 Posted: 2007-04-16 23:28 | [5 楼]
vvcmoon



性别: 帅哥 状态: 该用户目前不在线
头衔: 都要走了……
等级: 荣誉会员
家族: Red Devils--夢劇塲
发贴: 21417
威望: 3
浮云: 4793
在线等级:
注册时间: 2006-06-07
最后登陆: 2012-12-03

5come5帮你背单词 [ hire /'haiə/ v. & n. 雇用,租用 ]


Quote:
引用第4楼jiju84于2007-04-16 23:26发表的:
求第一个城市到其它城市的最短路径的Matlab程序如下:
clear;
clc;
M=10000;
a(1,:)=[0,50,M,40,25,10];
.......


确定没错么
没错的话将送上感激的FY
我是一点都看不懂
顶端 Posted: 2007-04-16 23:30 | [6 楼]
jiju84



性别: 帅哥 状态: 该用户目前不在线
头衔: 【做人要低调!!】
等级: 前途无量
家族: J&S
发贴: 6455
威望: 0
浮云: 1253
在线等级:
注册时间: 2005-03-07
最后登陆: 2010-03-18

5come5帮你背单词 [ sack /sæk/ n. 粗布袋,解雇;vt. 解雇 ]


Quote:
引用第6楼vvcmoon于04-16-2007 23:30发表的:


确定没错么
没错的话将送上感激的FY
我是一点都看不懂



我没有装

上面的数据是测试数据

fy不用了............

偶用不完

嘎嘎
顶端 Posted: 2007-04-16 23:32 | [7 楼]
richardxx





性别: 保密 状态: 该用户目前不在线
等级: 品行端正
发贴: 193
威望: 0
浮云: 1144
在线等级:
注册时间: 2005-10-01
最后登陆: 2009-02-28

5come5帮你背单词 [ eastern /'i:stən/ a. 东方的,东部的 ]


当,楼上的把问题都理解错了,正解应该是最小生成树,代码如下:

Copy code

// Solution by OUSAA
// Optimized with binary heap

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

#define N 1024              //节点个数

struct node                //邻接表数据结构
{
int t,v;
struct node* next;
} *adj[N],e[N*N];

struct edge                // 堆
{
int t,v;
} heap[N];

int vis[N];                    // 表示某点是否访问多
int q[N],tail;       // q indicates the position of v in heap
int sum;         // weight of MST
int n,m;                    // n is number of vertex, m is number of edges


// 插入一个节点到邻接表
void insert(int s,int t,int v,int i)
{
e[i].t=t;
e[i].v=v;
e[i].next=adj[s];
adj[s]=e+i;
}

// 输入数据
// 格式:1 2 3,表示节点1,2 之间有一条权为3的边
void input()
{
int i,s,t,v;

for (i=0;i<m;++i) {
scanf("%d %d %d",&s,&t,&v);
insert(s,t,v,i*2);
insert(t,s,v,i*2+1);
}
}

//向上更新堆
void fix_up(int b)
{
int i,k;
struct edge p;

p=heap[i=b];
while ((k=i/2)>0) {
if (heap[k].v<p.v) break;
heap[i]=heap[k];
q[heap[i].t]=i;
i=k;
}
heap[i]=p;
q[p.t]=i;
}

//向下更新堆
void fix_down()
{
int i,k;
struct edge p;

p=heap[i=1];
while ((k=i*2)<=tail) {
if (k<tail && heap[k+1].v<heap[k].v) ++k;
if (heap[k].v>p.v) break;
heap[i]=heap[k];
q[heap[i].t]=i;
i=k;
}
heap[i]=p;
q[p.t]=i;
}

// 插入一个元素或更新一个已有元素到堆
void put(int t,int v)
{
if (!q[t]) {
heap[++tail].t=t;
heap[tail].v=v;
q[t]=tail;
fix_up(tail);
}
else {
if (v>=heap[q[t]].v) return;
heap[q[t]].v=v;
fix_up(q[t]);
}
}

// 获取堆的一个元素
struct edge get()
{
struct edge p=heap[1];
heap[1]=heap[tail--];
q[heap[1].t]=1;
fix_down();
return p;
}

// prim中的更新距离表部分
void update(int u)
{
struct node* p;

p=adj[u];
while (p) {
if (!vis[p->t]) put(p->t,p->v);
p=p->next;
}
}

// prim的主过程
void solve()
{
struct edge ed;

update(1);
vis[1]=1;
while (tail) {
ed=get();
sum+=ed.v;
vis[ed.t]=1;
update(ed.t);
}

printf("The weight is %d\n",sum);
}

//输入n和m
int main()
{
scanf("%d %d",&n,&m);
input();
solve();
return 0;
}



稀疏图的prim实现,O(Elogv)。


[ 此贴被richardxx在2007-04-17 12:51重新编辑 ]
顶端 Posted: 2007-04-16 23:43 | [8 楼]
richardxx





性别: 保密 状态: 该用户目前不在线
等级: 品行端正
发贴: 193
威望: 0
浮云: 1144
在线等级:
注册时间: 2005-10-01
最后登陆: 2009-02-28

5come5帮你背单词 [ usful // a. 有用的,实用的 ]


lz不要忘了给点FY哦,我是比较穷的。。
顶端 Posted: 2007-04-16 23:44 | [9 楼]
androslee





性别: 保密 状态: 该用户目前不在线
等级: 人见人爱
发贴: 2201
威望: 0
浮云: 1125
在线等级:
注册时间: 2005-09-18
最后登陆: 2011-12-27

5come5帮你背单词 [ poison /'poizn/ n. 毒药,毒物;v. 放毒,毒害 ]


LZ可能是要C写的数据结构的题```

用深度搜..............................


GOOGLE 一下 '最小路径' 会有你要的,
顶端 Posted: 2007-04-16 23:51 | [10 楼]
vvcmoon



性别: 帅哥 状态: 该用户目前不在线
头衔: 都要走了……
等级: 荣誉会员
家族: Red Devils--夢劇塲
发贴: 21417
威望: 3
浮云: 4793
在线等级:
注册时间: 2006-06-07
最后登陆: 2012-12-03

5come5帮你背单词 [ reactionary /ri:'ækənəri/ a. 反动的;n. 反动分子,反动派 ]


Quote:
引用第9楼richardxx于2007-04-16 23:44发表的:
lz不要忘了给点FY哦,我是比较穷的。。


FY已送出
这位兄台能给点解释不
不然我同学看不懂
顶端 Posted: 2007-04-17 07:27 | [11 楼]
kangtalc



性别: 帅哥 状态: 该用户目前不在线
头衔: 揍敌客·奇犽
等级: 希望之光
家族: 万人坑恋影部落
发贴: 1723
威望: 5
浮云: 1113
在线等级:
注册时间: 2005-09-21
最后登陆: 2008-06-29

5come5帮你背单词 [ talent /'tælənt/ n. 天赋,才能,人才 ]


顶端 Posted: 2007-04-17 08:11 | [12 楼]
richardxx





性别: 保密 状态: 该用户目前不在线
等级: 品行端正
发贴: 193
威望: 0
浮云: 1144
在线等级:
注册时间: 2005-10-01
最后登陆: 2009-02-28

5come5帮你背单词 [ illuminate /i'lju:mineit/ vt. 照明,照亮,说明,阐明,启蒙,启发 ]


Quote:
引用第12楼kangtalc于2007-04-17 08:11发表的:
参考此帖,有注释~~
http://192.168.2.8/bbs/read.php?tid=341384&fpage=2


这个地方的prim和dijkstra都是O(V^2)的,只能求解密图时有用,而题目的交通建设显然是个稀疏图,所以要采用O(Elogv)的算法。

注释我等会把加上就pm你,看到你的150fy了,谢谢哦。
顶端 Posted: 2007-04-17 09:34 | [13 楼]
vvcmoon



性别: 帅哥 状态: 该用户目前不在线
头衔: 都要走了……
等级: 荣誉会员
家族: Red Devils--夢劇塲
发贴: 21417
威望: 3
浮云: 4793
在线等级:
注册时间: 2006-06-07
最后登陆: 2012-12-03

5come5帮你背单词 [ gasoline /'gæsəli:n/ n. (美语)汽油 ]


那这道题应该用prim还是用迪杰斯特拉呢
顶端 Posted: 2007-04-17 09:38 | [14 楼]
« 1 2» Pages: ( 1/2 total )
我来我网·5come5 Forum » 程序员之家

Total 0.027813(s) query 7, Time now is:03-12 03:31, Gzip enabled
Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号