学海网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > 外语学习 > 韩语学习 > 2012年江苏省学习数据库基础

2012年江苏省学习数据库基础

2012年江苏省学习数据库基础

1、若第n件物品能放入背包,则问题变为能否再从n-1件物品中选出若干件放入背包(这时背包可放入物品的重量变为s-w[n])。若第n件物品不能放入背包,则考虑从n-1件物品选若干件放入背包(这时背包可放入物品仍为s)。若最终s=0,则有一解;否则,若s<0或虽然s>0但物品数n<1,则无解。
(1)s-w[n],n-1 //Knap(s-w[n],n-1)=true
(2)s,n-1 // Knap←Knap(s,n-1)

2、假设以邻接矩阵作为图的存储结构,编写算法判别在给定的有向图中是否存在一个简单有向回路,若存在,则以顶点序列的方式输出该回路(找到一条即可)。(注:图中不存在顶点到自己的弧)
有向图判断回路要比无向图复杂。利用深度优先遍历,将顶点分成三类:未访问;已访问但其邻接点未访问完;已访问且其邻接点已访问完。下面用0,1,2表示这三种状态。前面已提到,若dfs(v)结束前出现顶点u到v的回边,则图中必有包含顶点v和u的回路。对应程序中v的状态为1,而u是正访问的顶点,若我们找出u的下一邻接点的状态为1,就可以输出回路了。
void Print(int v,int start ) //输出从顶点start开始的回路。
{for(i=1;i<=n;i++)
if(g[v][i]!=0 && visited[i]==1 ) //若存在边(v,i),且顶点i的状态为1。
{printf(“%d”,v);
if(i==start) printf(“\n”); else Print(i,start);break;}//if
}//Print
void dfs(int v)
{visited[v]=1;
for(j=1;j<=n;j++ )
if (g[v][j]!=0) //存在边(v,j)
if (visited[j]!=1) {if (!visited[j]) dfs(j); }//if
else {cycle=1; Print(j,j);}
visited[v]=2;
}//dfs
void find_cycle() //判断是否有回路,有则输出邻接矩阵。visited数组为全局变量。
{for (i=1;i<=n;i++) visited[i]=0;
for (i=1;i<=n;i++ ) if (!visited[i]) dfs(i);
}//find_cycle

3、两棵空二叉树或仅有根结点的二叉树相似;对非空二叉树,可判左右子树是否相似,采用递归算法。
int Similar(BiTree p,q) //判断二叉树p和q是否相似
{if(p==null && q==null) return (1);
else if(!p && q || p && !q) return (0);
else return(Similar(p->lchild,q->lchild) && Similar(p->rchild,q->rchild))
}//结束Similar

4、4、 void LinkList_reverse(Linklist &L)
//链表的就地逆置;为简化算法,假设表长大于2
{
p=L->next;q=p->next;s=q->next;p->next=NULL;
while(s->next)
{
q->next=p;p=q;
q=s;s=s->next; //把L的元素逐个插入新表表头
}
q->next=p;s->next=q;L->next=s;
}//LinkList_reverse

5、由二叉树的前序遍历和中序遍历序列能确定唯一的一棵二叉树,下面程序的作用是实现由已知某二叉树的前序遍历和中序遍历序列,生成一棵用二叉链表表示的二叉树并打印出后序遍历序列,请写出程序所缺的语句。
#define MAX 100
typedef struct Node
{char info; struct

第1页

TOP相关主题

  • 数据库基础学习
  • 零基础学习数据库
  • 数据库基础学习视频
  • sql数据库基础学习
  • oracle数据库基础学习
  • access数据库基础学习
  • 江苏省企业信用数据库
  • 江苏省治疗师数据库

我要评论

相关文档

  • 2012年江苏省学习数据库入门

    2012年江苏省学习数据库入门_韩语学习_外语学习_教育专区。2012年江苏省学习数据库入门 1、若第n件物品能放入背包,则问题变为能否再从n-1件物品中选出若干件...

  • 2012年江苏省学习数据库入门

    2012年江苏省学习数据库入门_韩语学习_外语学习_教育专区。2012年江苏省学习数据库入门 1、约瑟夫环问题(Josephus 问题)是指编号为 1 、2、?,n 的 n(n>0)...

  • 2012年江苏省学习数据库入门

    2012年江苏省学习数据库入门_韩语学习_外语学习_教育专区。2012年江苏省学习数据库入门 1、约瑟夫环问题(Josephus 问题)是指编号为 1、2、?,n 的 n(n>0)个人...

  • 2012年江苏省数据库入门基础

    2012年江苏省数据库入门基础_韩语学习_外语学习_教育专区。2012年江苏省数据库入门基础 1、4、 { void LinkList_reverse(Linklist &L) //链表的就地逆置;为...

  • 2012年江苏省数据库入门基础

    2012年江苏省数据库入门基础_韩语学习_外语学习_教育专区。2012年江苏省数据库入门基础 1、设指针变量 p 指向双向链表中结点 A,指针变量 q 指向被插入结点 B,...

  • 2012年江苏省数据库入门基础

    2012年江苏省数据库入门基础_韩语学习_外语学习_教育专区。2012年江苏省数据库入门基础 1、4、 void LinkList_reverse(Linklist &L) //链表的就地逆置;为简化...

  • 2012年江苏省数据库入门要领

    2012年江苏省数据库入门要领_韩语学习_外语学习_教育专区。2012年江苏省数据库入门要领 1、若第n件物品能放入背包,则问题变为能否再从n-1件物品中选出若干件...

  • 2012年江苏省数据库入门深入

    2012年江苏省数据库入门深入_韩语学习_外语学习_教育专区。2012年江苏省数据库入门深入 1 、二路插入排序是将待排关键字序列 r[1..n] 中关键字分二路分别按...

  • 2012年江苏省数据库入门章程

    2012年江苏省数据库入门章程_韩语学习_外语学习_教育专区。2012年江苏省数据库入门章程 1、在有向图 G 中,如果 r 到 G 中的每个结点都有路径可达,则称结点 ...

  • 2012年江苏省数据库入门高级

    2012年江苏省数据库入门高级_韩语学习_外语学习_教育专区。2012年江苏省数据库入门高级 1、有一个带头结点的单链表,每个结点包括两个域,一个是整型域 info,另一...

  • 2012江苏省数据库入门基础

    2012江苏省数据库入门基础_韩语学习_外语学习_教育专区。2012江苏省数据库入门基础 1、本题要求建立有序的循环链表。从头到尾扫描数组 A,取出 A[i](0<=i<n)...

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