武汉纺织大学《数据结构》实验报告Word下载.doc

上传人:wj 文档编号:13016388 上传时间:2022-10-02 格式:DOC 页数:23 大小:467.50KB
下载 相关 举报
武汉纺织大学《数据结构》实验报告Word下载.doc_第1页
第1页 / 共23页
武汉纺织大学《数据结构》实验报告Word下载.doc_第2页
第2页 / 共23页
武汉纺织大学《数据结构》实验报告Word下载.doc_第3页
第3页 / 共23页
武汉纺织大学《数据结构》实验报告Word下载.doc_第4页
第4页 / 共23页
武汉纺织大学《数据结构》实验报告Word下载.doc_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

武汉纺织大学《数据结构》实验报告Word下载.doc

《武汉纺织大学《数据结构》实验报告Word下载.doc》由会员分享,可在线阅读,更多相关《武汉纺织大学《数据结构》实验报告Word下载.doc(23页珍藏版)》请在冰豆网上搜索。

武汉纺织大学《数据结构》实验报告Word下载.doc

③、输出从顶点'

A'

开始的深度优先遍历和广度优先遍历的序列,可参考书本238、240页示例程序;

④、输出运用普里姆算法求出的最小生成树,可参考书本245页示例程序。

2、设计一个程序求出完成整项工程至少需要多少时间以及整项工程中的关键活动。

实验步骤:

①、在Java语言编辑环境中新建程序,输入如下图所示的AOE网;

②、按照关键路径求取步骤,求出各个顶点的最早开始时间和最迟开始时间;

③、求出各个活动的最早开始时间和最迟开始时间;

④、找出该AOE网的关键路径,并计算出该项目的完成时间。

关键路径相关时间知识点:

设活动ai由弧<

j,k>

(即从顶点j到k)表示,其持续时间记为dut(<

),则:

e(i)=ve(j)l(i)=vl(k)-dut(<

求ve(i)和vl(j)分两步:

(1).从ve

(1)=0开始向前递推

ve(j)=Max{ve(i)+dut(<

i,j>

)}<

∈T,2<

=j<

=n,其中,T是所有以j为弧头的弧的集合。

(2).从vl(n)=ve(n)开始向后递推

vl(i)=Min{vl(j)-dut(<

)}<

∈S,1<

=i<

=n-1,其中,S是所有以i为弧尾的弧的集合。

求关键路径的算法:

①、输入e条弧<

j,k>

,建立AOE网的存储结构;

②、从起始点出发,令ve[0]=0,按拓扑顺序求其余各顶点的最早发生时间ve[i](1<

=n-1)。

如果得到的拓扑有序序列中顶点个数小于网中顶点数n,则说明网中存在环,不能求关键路径,算法终止,否则转到步骤③;

③、从终结点vn出发,令vl[n-1]=ve[n-1],按逆拓扑顺序求其余各顶点的最迟发生时间vl[i](n-2>

=i>

=0);

④、根据各顶点的ve和vl值,求每条弧s的最早开始时间e(s)和最迟开始时间l(s)。

若某弧满足条件e(s)=l(s),则为关键活动。

三、操作步骤:

Test1

代码:

Graph1.java

packageFrist;

publicclassGraph1{

publicstaticvoidmain(String[]args){

String[]vertices={"

A"

"

B"

C"

D"

E"

};

Edgeedges[]={newEdge(0,1,5),newEdge(0,3,2),

newEdge(1,0,5),newEdge(1,2,7),newEdge(1,3,6),

newEdge(2,1,7),newEdge(2,3,8),newEdge(2,4,3),

newEdge(3,0,2),newEdge(3,1,6),newEdge(3,2,8),

newEdge(3,4,9),newEdge(4,2,3),newEdge(4,3,9)};

AdjMatrixGraph<

String>

graph=newAdjMatrixGraph<

(vertices,

edges);

System.out.println("

带权无向图,"

+graph.toString());

插入顶点F,插入边(A,F,20),删除顶点C,删除边(D,E)"

);

inti=graph.insertVertex("

F"

graph.insertEdge(0,i,20);

graph.insertEdge(i,0,20);

graph.removeVertex

(2);

graph.removeEdge(2,3);

graph.removeEdge(3,2);

System.out.println(graph.toString());

graph1=newAdjMatrixGraph<

System.out.print("

深度优先遍历序列为:

"

graph1.DFSTraverse(0);

广度优先遍历序列为:

graph1.BFSTraverse(0);

graph2=newAdjMatrixGraph<

+graph2.toString());

graph2.minSpanTree_prim();

}

}

LList.java

publicinterfaceLList<

T>

{

booleanisEmpty();

intlength();

Tget(inti);

voidset(inti,Tx);

voidinsert(inti,Tx);

Tremove(inti);

voidremoveAll();

QQueue.java

publicinterfaceQQueue<

voidenqueue(Tx);

Tdequeue();

SeqList.java

publicclassSeqList<

implementsLList<

privateObject[]element;

privateintlen;

publicSeqList(intsize){

this.element=newObject[size];

this.len=0;

publicSeqList(){

this(64);

publicbooleanisEmpty(){

returnthis.len==0;

publicintlength(){

returnthis.len;

publicTget(inti){

if(i>

=0&

&

i<

this.len)

return(T)this.element[i];

returnnull;

publicvoidset(inti,Tx){

if(x==null)

return;

this.element[i]=x;

else

thrownewIndexOutOfBoundsException(i+"

publicStringtoString(){

Stringstr="

("

;

if(this.len>

0)

str+=this.element[0].toString();

for(inti=1;

this.len;

i++)

str+="

"

+this.element[i].toString();

returnstr+"

)"

publicvoidinsert(inti,Tx){

if(this.len==element.length){

Object[]temp=this.element;

this.element=newObject[temp.length*2];

for(intj=0;

j<

temp.length;

this.element[i]=temp[j];

}

if(i<

i=0;

i=this.len;

for(intj=this.len-1;

j>

=i;

j--)

this.element[j+1]=this.element[j];

this.element[i]=x;

this.len++;

publicvoidappend(Tx){

insert(this.len,x);

publicTremove(inti){

if(this.len==0||i<

0||i>

=this.len)

returnnull;

Told=(T)this.element[i];

for(intj=i;

this.len-1;

j++)

this.element[j]=this.element[j+1];

this.element[this.len-1]=null;

this.len--;

returnold;

publicvoidremoveAll(){

SeqQueue.java

publicclassSeqQueue<

implementsQQueue<

privateObjectelement[];

privateintfront,rear;

publicSeqQueue(intlength){

if(length<

64)

length=64;

this.element=newObject[Math.abs(length)];

this.front=this.rear=0;

publicSeqQueue(){

publicbooleanis

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 动物植物

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1