2015山西省数据库入门加强
1、我们用l代表最长平台的长度,用k指示最长平台在数组b中的起始位置(下标)。用j记住局部平台的起始位置,用i指示扫描b数组的下标,i从0开始,依次和后续元素比较,若局部平台长度(i-j)大于l时,则修改最长平台的长度k(l=i-j)和其在b中的起始位置(k=j),直到b数组结束,l即为所求。
void Platform (int b[ ], int N)
//求具有N个元素的整型数组b中最长平台的长度。
{l=1;k=0;j=0;i=0;
while(i<n-1)
{while(i<n-1 && b[i]==b[i+1]) i++;
if(i-j+1>l) {l=i-j+1;k=j;} //局部最长平台
i++; j=i; } //新平台起点
printf(“最长平台长度%d,在b数组中起始下标为%d”,l,k);
}// Platform
2、本题应使用深度优先遍历,从主调函数进入dfs(v)时,开始记数,若退出dfs()前,已访问完有向图的全部顶点(设为n个),则有向图有根,v为根结点。将n个顶点从1到n编号,各调用一次dfs()过程,就可以求出全部的根结点。题中有向图的邻接表存储结构、记顶点个数的变量、以及访问标记数组等均设计为全局变量。建立有向图g的邻接表存储结构参见上面第2题,这里只给出判断有向图是否有根的算法。
int num=0, visited[]=0 //num记访问顶点个数,访问数组visited初始化。 const n=用户定义的顶点数;
AdjList g ; //用邻接表作存储结构的有向图g。
void dfs(v)
{visited [v]=1; num++; //访问的顶点数+1
if (num==n) {printf(“%d是有向图的根。\n”,v); num=0;}//if
p=g[v].firstarc;
while (p)
{if (visied[p->adjvex]==0) dfs (p->adjvex);
p=p->next;} //while
visited[v]=0; num--; //恢复顶点v
}//dfs
void JudgeRoot()
//判断有向图是否有根,有根则输出之。
{static int i ;
for (i=1;i<=n;i++ ) //从每个顶点出发,调用dfs()各一次。
{num=0; visited[1..n]=0; dfs(i); }
}// JudgeRoot
算法中打印根时,输出顶点在邻接表中的序号(下标),若要输出顶点信息,可使用g[i].vertex。
3、设一棵二叉树的结点结构为 (LLINK,INFO,RLINK),ROOT为指向该二叉树根结点的指针,p和q分别为指向该二叉树中任意两个结点的指针,试编写一算法ANCESTOR(ROOT,p,q,r),
2015年山西省数据库入门加强_韩语学习_外语学习_教育专区。2015年山西省数据库入门加强 1、本题要求建立有序的循环链表。从头到尾扫描数组 A,取出 A[i](0<=i...
2015年山西省数据库入门加强_IT/计算机_专业资料。1、有一个带头结点的单链表,每个结点包括两个域,一个是整型域info,另一个是指向下一个结点的指针域next。假设...
2015年上半年山西省数据库入门加强_韩语学习_外语学习_教育专区。2015年上半年山西省数据库入门加强 1、设有两个集合A和集合B,要求设计生成集合C=A∩B的算法,...
2015年上半年山西省数据库入门加强_韩语学习_外语学习_教育专区。2015年上半年山西省数据库入门加强 1、我们可用“破圈法”求解带权连通无向图的一棵最小代价生成...
2015年山西省数据库入门深入_韩语学习_外语学习_教育专区。2015年山西省数据库入门深入 1、请设计一个算法,要求该算法把二叉树的叶子结点按从左到右的顺序连成一...
2015山西省数据库入门基础_韩语学习_外语学习_教育专区。2015山西省数据库入门基础 1、编程实现单链表的就地逆置。 23.在数组 A[1..n]中有 n 个数据,试建立...
2015山西省数据库入门基础_韩语学习_外语学习_教育专区。2015山西省数据库入门基础 1、编程实现单链表的就地逆置。 23.在数组 A[1..n]中有 n 个数据,试建立...
2015山西省数据库入门高级_韩语学习_外语学习_教育专区。2015山西省数据库入门高级 1、冒泡排序算法是把大的元素向上移(气泡的上浮) ,也可以把小的元素向下移(...
2015年上半年山西省数据库入门高级_韩语学习_外语学习_教育专区。2015年上半年山西省数据库入门高级 1、后序遍历最后访问根结点,即在递归算法中,根是压在栈底的...
2015山西省学习数据库入门_韩语学习_外语学习_教育专区。2015山西省学习数据库入门 1、有一种简单的排序算法,叫做计数排序(count sorting) 。这种排序算法对一个待...
2015山西省数据库期末考试入门_韩语学习_外语学习_教育专区。2015山西省数据库期末考试入门 1、本题应使用深度优先遍历,从主调函数进入 dfs(v)时 ,开始记数,若...

我要评论