学海网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > 外语学习 > 韩语学习 > 2015年下半年云南省数据深入

2015年下半年云南省数据深入

2015年下半年云南省数据深入

1、二路插入排序是将待排关键字序列r[1..n]中关键字分二路分别按序插入到辅助向量d[1..n]前半部和后半部(注:向量d可视为循环表),其原则为,先将r[l]赋给d[1],再从r[2] 记录开始分二路插入。编写实现二路插入排序算法。
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、有一种简单的排序算法,叫做计数排序(count sorting)。这种排序算法对一个待排序的表(用数组表示)进行排序,并将排序结果存放到另一个新的表中。必须注意的是,表中所有待排序的关键码互不相同,计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表中有多少个记录的关键码比该记录的关键码小,假设针对某一个记录,统计出的计数值为c,那么,这个记录在新的有序表中的合适的存放位置即为c。
(1) (3分)给出适用于计数排序的数据表定义;
(2) (7分)使用Pascal或C语言编写实现计数排序的算法;
(3) (4分)对于有n个记录的表,关键码比较次数是多少?
(4) (3分)与简单选择排序相比较,这种方法是否更好?为什么?

4、假设以邻接矩阵作为图的存储结构,编写算法判别在给定的有向图中是否存在一个简单有向回路,若存在,则以顶点序列的方式输出该回路(找到一条即可)。(注:图中不存在顶点到自己的弧)
有向图判断回路要比无向图复杂。利用深度优先遍历,将顶点分成三类:未访问;已访问但其邻接点未访问完;已访问且其邻接点已访问完。下

第1页

TOP相关主题

  • 云南省2015年经济数据
  • 2015云南省老年人数据
  • 云南省人社厅数据采集
  • 云南省数据
  • 云南省大数据
  • 2014年云南省统计数据
  • 云南省数据乡村
  • 云南省数据中心

我要评论

相关文档

  • 2015年下半年云南省数据深入

    2015年下半年云南省数据深入_韩语学习_外语学习_教育专区。2015年下半年云南省数据深入 1、假设以I和O分别表示入栈和出栈操作。栈的初态和终态均为空,入栈和...

  • 2015年下半年云南省分析数据深入

    2015年下半年云南省分析数据深入_韩语学习_外语学习_教育专区。2015年下半年云南省分析数据深入 1、对一般二叉树,仅根据一个先序、中序、后序遍历,不能确定另一...

  • 2015年下半年云南省数据库入门深入

    2015年下半年云南省数据库入门深入_韩语学习_外语学习_教育专区。2015年下半年云南省数据库入门深入 1、有一种简单的排序算法,叫做计数排序(count sorting)。这种...

  • 2015年下半年云南省重要数据高级

    2015年下半年云南省重要数据高级_韩语学习_外语学习_教育专区。2015年下半年云南省重要数据高级 1、假设以I和O分别表示入栈和出栈操作。栈的初态和终态均为空,...

  • 2015年下半年云南省数据总结加强

    2015年下半年云南省数据总结加强_韩语学习_外语学习_教育专区。2015年下半年云南省数据总结加强 1、题目中要求矩阵两行元素的平均值按递增顺序排序,由于每行元素个...

  • 2015年下半年云南省数据总结高级

    2015年下半年云南省数据总结高级_韩语学习_外语学习_教育专区。2015年下半年云南省数据总结高级 1、对一般二叉树,仅根据一个先序、中序、后序遍历,不能确定另一...

  • 2015年下半年云南省数据总结基础

    2015年下半年云南省数据总结基础_韩语学习_外语学习_教育专区。2015年下半年云南省数据总结基础 1、后序遍历最后访问根结点,即在递归算法中,根是压在栈底的。采用...

  • 2015年下半年云南省数据统计摘要

    2015年下半年云南省数据统计摘要_韩语学习_外语学习_教育专区。2015年下半年云南省数据统计摘要 1、对二叉树的某层上的结点进行运算,采用队列结构按层次遍历最适宜...

  • 2015年云南省分析数据深入

    2015年云南省分析数据深入_韩语学习_外语学习_教育专区。2015年云南省分析数据深入 1、 我们可用 “破圈法” 求解带权连通无向图的一棵最小代价生成树。 所谓 ...

  • 2015年云南省分析数据深入

    2015年云南省分析数据深入_韩语学习_外语学习_教育专区。2015年云南省分析数据深入 1、证明由二叉树的中序序列和后序序列,也可以唯一确定一棵二叉树。 29. ① ...

  • 2015年云南省理论数据深入

    2015年云南省理论数据深入_韩语学习_外语学习_教育专区。2015年云南省理论数据深入 1、 设 t 是给定的一棵二叉树, 下面的递归程序 count(t)用于求得:二叉树 t...

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.xuehai.net All Rights Reserved.  email
返回顶部