知识大全 有限期作业排序和判断无向图的关节点算法设计源代码

Posted 关节点

篇首语:第一个青春是上帝给的;第二个的青春是靠自己努力的。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 有限期作业排序和判断无向图的关节点算法设计源代码相关的知识,希望对你有一定的参考价值。

  //判断无向图的关节点

  #include

  #include

  #define Vnum

  typedef struct arcnode

  

  int adjvex;

  struct arcnode *nextarc;

  arcnode;

  typedef struct vexnode

  

  int vertex;

  arcnode *firstarc;

  adjlist[Vnum];

  typedef struct graphs

  

  adjlist adjlist;

  int vexnum arcnum;

  graph;

  void create(graph *g)

  

  int n e i j k;

  arcnode *p;

  cout<< 创建一个图:\\t ;

  cout<< 顶点数 ;

  cin>>n;

  cout<< \\t\\t边数 ;

  cin>>e;

  g >vexnum=n;

  g >arcnum=e;

  for(i= ;i

  

  g->adjlist[i].vertex=i;

  g->adjlist[i].firstarc=NULL;

  

  for(k=0;k

  

  cout<<"第"<

  cin>>i>>j;

  p=(arcnode *)malloc(sizeof(arcnode));

  p->adjvex=j;

  p->nextarc=g->adjlist[i].firstarc;

  g->adjlist[i].firstarc=p;

  

  

  void disp(graph *g)

  

  int i,have;

  arcnode *p;

  cout<<"输出图:"<

  for(i=0;i vexnum;i++)

  

  p=g->adjlist[i].firstarc;

  have=0;

  while(p!=NULL)

  

  cout<<"("< adjvex<<")";

  p=p->nextarc;

  have=1;

  

  if(have==1)

  cout<

  

  

  void dfs(graph g,int v,int visited[])

  

  arcnode *p;

  cout<

  cin>>v;

  cout<<"深度优先序列:";

  dfs(g,v,visited);

  cout<

  

  //有限期的作业排序

  #include

  #include "iomanip.h"

  void JOB_S(int n,int *D);

  void main()

  

  int *D,*P; //定义变量数组,采用动态分配内存

  int i,n;

  cout<<"请输入要处理的作业数n:";

  cin>>n;

  D=new int[n+1]; //作业的截止期限数组

  P=new int[n+1]; //作业的效益数组

  cout<<"请输入作业i的期限值D(1-"<

  for(i=1;i<=n;i++) //按非增顺序输入

  

  cout<<"作业"<

  cin>>D[i];

  

  cout<

  cout<<"请输入作业i的效益值P(1-"<

  for(i=1;i<=n;i++) //按非增顺序输入

  

  cout<<"作业"<

  cin>>P[i];

  

  cout<

  JOB_S(n,D);

  

  void JOB_S(int n,int *D)

  

  int i,k,r;

  int *J=new int[n+1];

  k=1;

  D[0]=0;

  J[0]=0;

  J[1]=1;

  for(i=2;i<=n;i++)

  

  r=k;

  while(D[J[r]]>D[i] && D[J[r]]!=r)

  r=r-1;

  if(D[J[r]]<=D[i] && D[i]>r)

  

  for(int x=k;x>=r+1;x--)

  J[x+1]=J[x];

  J[r+1]=i;

  k++;

  

  

  cout<<"该作业的最优处理顺序为:";

  for(i=1;i<=k;i++)

  cout<

  cout<

  

cha138/Article/program/sjjg/201311/23577

相关参考

知识大全 用代码展示一下合并排序算法

#include<iostreamh>voidMerge(intc[]intd[]intlintmintr)//合并c[l:m]和c[m+:r]到d[l:r]inti=lj=m+k=l;w

知识大全 数据结构考研分类复习真题 第七章 图[54]

  .已知无向图采用邻接表存储方式试写出删除边(ij)的算法 【东南大学三(分)】  类似本题的另外叙述有  ()一个无向连通图的存储结构以邻接表的形式给定设计算法删除该图中的一条边(ij)

知识大全 最近面试过的一些编程和算法面试题

给一颗二叉树每个节点都有左孩子指针和右孩子指针(当然可能为空)要求给每个节点添加一个指针这个指针要指向它的同一层的紧临的兄弟(要求写代码)给一个单链表将其反转(要求写代码)写一个函数传入一个字符串判断

知识大全 第8章排序(算法设计)习题练习

将哨兵放在R[n]中被排序的记录放在R[n]中重写直接插入排序算法以单链表作为存储结构实现直接插入排序算法 设计一算法使得在尽可能少的时间内重排数组将所有取负值的关键字放在所有取非负值的关键

知识大全 第8章排序(算法设计)习题练习答案

将哨兵放在R[n]中被排序的记录放在R[n]中重写直接插入排序算法解   重写的算法如下 voidInsertSort(SeqListR)  //对顺序表中记录

知识大全 java的各种排序算法

  Java代码  插入排序:    packagerututilalgorithmsupport;  importrututilalgorithmSortUtil;  publicclassInse

知识大全 数据结构考研分类复习真题 第七章 图[52]

  五算法设计题  .(单独命题考生做)设无向图G有n个顶点m条边试编写用邻接表存储该图的算法(设顶点值用~n或~n编号)【南京航空航天大学十二(分)】  .请用流程图或类高级语言(pascal或c)

知识大全 数据结构 7.2 无向图的邻接多重链表存储表示

  希赛教育计算机专业考研专业课辅导招生  希赛教育计算机专业考研专业课辅导视频  希赛教育计算机考研专业课在线测试系统  类似于有向图的十字链表若将无向图中表示同一条边的两个结点合在一起将得到无向图

知识大全 图 - 图的概念(二)

  图的边和顶点的关系  无向边和顶点关系  若(vivj)是一条无向边则称顶点vi和vj互为邻接点(Adjacent)或称vi和vj相邻接;并称(vivj)依附  或关联(Incident)于顶点v

知识大全 数据结构与算法设计自学考试大纲[8]

()单项选择题  例如下二叉树按中序周游得到的输出序列是()  (a)ABCDEF  (b)ABDECF  (c)DBEACF  (d)FCAEBD()双向选择题  例根据排序方法的稳定性定义下列排序