找人做2道数据结构题 每道50分 高手来 绝对给分

ashutc 2006-11-29 04:03:12
1。是对下面图所示的AOE网络,解答下列问题。
(1)求每个事件的最早开始时间ve[i]和最迟开始时间vl[i]
(2) 求每个活动的最早开始时间e[i]和最迟开始时间e[i]
(3) 此工程最早完成时间
(4)写出关键活动,画出关键路径图。

图画不出来 我用文字说明
1 2 4



3 5 6

1到2 a1=2 1到3 a2=15
2到4 a4=10 2到5 a5=19
3到2 a3=4 3到5 a6=11
4到5 a7=6 5到6 a8=5


2.用二分查找算法填空

struct table
{
int key;
datatype other;
};
struct table r[n+1];
int binsearch(table r[],int k)
{
int low,mid,high;
low=0; high=n-1;
while(low<=high)
{
mid=______1____________;
if(k==r[mid].key) return _____2________;
if(k<r[mid].key) ______3___________;
else_________4__________;
}
return-1;
}


高手帮忙解答一下以上两道题 分稍后送上
...全文
267 15 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
spirit_sheng 2006-11-29
  • 打赏
  • 举报
回复


对于新的:
1到2 a1=2 1到3 a2=15
2到4 a4=10 2到5 a5=19
3到2 a3=4 3到5 a6=11
4到6 a7=6 * 5到6 a8=5

答案如下(标*号表示与以前不一样的地方):

第一题
Q:(1)求每个事件的最早开始时间ve[i]和最迟开始时间vl[i]
A: ve[1]=vl[1]=0; ve[2]=vl[2]=19
ve[3]=vl[3]=15; ve[4]=29, vl[4]=37 *
ve[5]=vl[5]=38; ve[6]=vl[6]=43

Q:(2) 求每个活动的最早开始时间e[i]和最迟开始时间l[i]
A: e[a1]=0, l[a1]=17; e[a2]=l[a2]=0
e[a3]=l[a3]=15; e[a4]=19, l[a4]=27 *
e[a5]=l[a5]=19; e[a6]=15, l[a6]=27
e[a7]=29, l[a7]=37 *; e[a8]=l[a8]=38

Q:(3) 此工程最早完成时间
A: 15 + 4 + 19 + 5 = 43

Q:(4)写出关键活动,画出关键路径图。
A: 关键活动 a2, a3, a5, a8 关键路径 1->3->2->5->6


chai2010 2006-11-29
  • 打赏
  • 举报
回复
回复人:spirit_sheng(老盛) ( 三级(初级)) 信誉:100 2006-11-29 18:34:33 得分:0
?
chai2010(http://chaishushan.googlepages.com/)

不好意思, 看错你意思了
=======================

都是讨论问题嘛*_*

看了你的不少帖子,
感觉自己还差很多

以后有问题象你请教啊:)
spirit_sheng 2006-11-29
  • 打赏
  • 举报
回复
chai2010(http://chaishushan.googlepages.com/)

不好意思, 看错你意思了
chai2010 2006-11-29
  • 打赏
  • 举报
回复
回复人:spirit_sheng(老盛) ( 三级(初级)) 信誉:100 2006-11-29 16:45:44 得分:0
?
to chai2010(http://chaishushan.googlepages.com/) ( ) 信誉:100 Blog 2006-11-29 16:30:07 得分: 0
其实2分法查找要是能把
查找失败的return语句改一下就更好了:
return (low==mid)? -1-mid: -1-(mid+1);
----------------------------------------------------------------------
注意, 这不是递归, 你这样改不正确的, 程序只是修改上下区间的范围,
以便能够使用循环继续查找更小的区间

======================

你误解我的意思了!
我的目的是在查找失败的时候
我想知道在哪个位置插入值可以使数组依然有序!

按照我的改动,
如果查找失败的话,应该返回负数x,
则在-1-x位置插入查找的数刚好是数组依然有序。

我想这可以作为2分法查找的一个副作用同时提供。
ashutc 2006-11-29
  • 打赏
  • 举报
回复
谢谢老威的解答
图画不出来 我用文字说明
1 2 4



3 5 6

1到2 a1=2 1到3 a2=15
2到4 a4=10 2到5 a5=19
3到2 a3=4 3到5 a6=11
4到6 a7=6 5到6 a8=5

第一个有个地方我写错了 老威在帮忙看看
spirit_sheng 2006-11-29
  • 打赏
  • 举报
回复
to wanphonguo() ( ) 信誉:100 Blog
1.(low+high)/2
2.mid
3.low=mid
4.high=mid
---------------------------
你这个有问题, 当没有匹配的内容而且运行至 low == high
时, 程序会死循环
spirit_sheng 2006-11-29
  • 打赏
  • 举报
回复
等你验证结果
ashutc 2006-11-29
  • 打赏
  • 举报
回复
谢谢以上朋友回答 我验证一下 稍后分数送上
spirit_sheng 2006-11-29
  • 打赏
  • 举报
回复
to chai2010(http://chaishushan.googlepages.com/) ( ) 信誉:100 Blog 2006-11-29 16:30:07 得分: 0
其实2分法查找要是能把
查找失败的return语句改一下就更好了:
return (low==mid)? -1-mid: -1-(mid+1);
----------------------------------------------------------------------
注意, 这不是递归, 你这样改不正确的, 程序只是修改上下区间的范围,
以便能够使用循环继续查找更小的区间


spirit_sheng 2006-11-29
  • 打赏
  • 举报
回复
对于关键活动: 最早开始时间=最迟开始时间
对于关键路径中的事件: 最早开始时间=最迟开始时间
spirit_sheng 2006-11-29
  • 打赏
  • 举报
回复
第一题
Q:(1)求每个事件的最早开始时间ve[i]和最迟开始时间vl[i]
A: ve[1]=vl[1]=0; ve[2]=vl[2]=19
ve[3]=vl[3]=15; ve[4]=29, vl[4]=32
ve[5]=vl[5]=38; ve[6]=vl[6]=43

Q:(2) 求每个活动的最早开始时间e[i]和最迟开始时间l[i]
A: e[a1]=0, l[a1]=17; e[a2]=l[a2]=0
e[a3]=l[a3]=15; e[a4]=19, l[a4]=22
e[a5]=l[a5]=19; e[a6]=15, l[a6]=27
e[a7]=29, l[a7]=32; e[a8]=l[a8]=38

Q:(3) 此工程最早完成时间
A: 15 + 4 + 19 + 5 = 43

Q:(4)写出关键活动,画出关键路径图。
A: 关键活动 a2, a3, a5, a8 关键路径 1->3->2->5->6
chai2010 2006-11-29
  • 打赏
  • 举报
回复
其实2分法查找要是能把
查找失败的return语句改一下就更好了:

return (low==mid)? -1-mid: -1-(mid+1);
wanphonguo 2006-11-29
  • 打赏
  • 举报
回复
1.(low+high)/2
2.mid
3.low=mid
4.high=mid
chai2010 2006-11-29
  • 打赏
  • 举报
回复
第二题太简单了,
第一题没仔细看。
spirit_sheng 2006-11-29
  • 打赏
  • 举报
回复
第二题
1. (low + high) >> 1
2. mid
3. high = mid - 1
4. low = mid + 1

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧