1、给出折半查找的递归算法,并给出算法时间复杂度性分析。
2、已知有向图g=(v,e),其中v=,e=
写出g的拓扑排序的结果。
g拓扑排序的结果是:v1、v2、v4、v3、v5、v6、v7
3、我们用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 //局部最长平台。
i++;j=i新平台起点。
printf(“最长平台长度%d,在b数组中起始下标为%d”,l,k);
// platform
4、将顶点放在两个集合v1和v2。对每个顶点,检查其和邻接点是否在同一个集合中,如是,则为非二部图。为此,用整数1和2表示两个集合。再用一队列结构存放图中访问的顶点。
int bpgraph (adjmatrix g)
/判断以邻接矩阵表示的图g是否是二部图。
int s;顶点向量,元素值表示其属于那个集合(值1和2表示两个集合)
int q;q为队列,元素为图的顶点,这里设顶点信息就是顶点编号。
int f=0,r,visited;f和r分别是队列的头尾指针,visited是访问数组。
for (i=1;i<=n;i++)初始化,各顶点未确定属于那个集合。
q[1]=1; r=1; s[1]=1;//顶点1放入集合s1
while(f //邻接点入队列。
else if (s[j]==s[v]) return(0);}非二部图。
//if (!visited[v])
//while
return(1); 是二部图。
算法讨论] 题目给的是连通无向图,若非连通,则算法要修改。
2023年江苏省数据概述入门
1 设一棵树t中边的集合为,要求用孩子兄弟表示法 二叉链表 表示出该树的存储结构并将该树转化成对应的二叉树。2 若第n件物品能放入背包,则问题变为能否再从n 1件物品中选出若干件放入背包 这时背包可放入物品的重量变为s w n 若第n件物品不能放入背包,则考虑从n 1件物品选若干件放入背包 这时背包...
2023年江苏省单招建筑技能大纲
2012年江苏省普通高校对口单独招生建筑类专业技能考试标准。一 制定依据。1 全国职业高中 建筑施工专业教学计划和部分课程教学大纲汇编 2 土木建筑职业技能岗位培训教材 测量放线工 抹灰工 钢筋工 中国建筑工业出版社 2002年版 3 建设部颁发的 职业技能标准 二 考试内容及权重。技能考试内容分为...
江苏省学位英语考试大纲
多练出技巧巧思出硕果。一 总则。学位委员会 国家教育委员会学位 1991 11号文 关于整顿普通高等学校授予 教育本科毕业生学士学位工作的通知 要求 高等教育本科毕业生申请学士学位,必须参加由地方高等教育主管部门参照普通本科教育外国语教学大纲的要求统一命题和组织的外国语考试。为了搞好江苏省 本科教育...