全球旧事资料 分类
否是二部图。r
i
ts顶点向量,元素值表示其属于那个集合(值1和2表示两个集合)r
i
tQQ为队列,元素为图的顶点,这里设顶点信息就是顶点编号。r
i
tf0rvisitedf和r分别是队列的头尾指针visited是访问数组r
fori1i
ivisitedi0si0初始化,各顶点未确定属于那个集合r
Q11r1s11顶点1放入集合S1r
whilefrr
vQfifsv1jh2elsejh1准备v的邻接点的集合号r
ifvisitedvr
visitedv1确保对每一个顶点,都要检查与其邻接点不应在一个集合中r
forj1j
jr
ifgvj1ifsjsjjhQrj邻接点入队列r
elseifsjsvretur
0非二部图r
ifvisitedvr
whiler
retur
1是二部图r
算法讨论题目给的是连通无向图,若非连通,则算法要修改。r
r
5、设t是给定的一棵二叉树,下面的递归程序cou
tt用于求得二叉树t中具有非空的左右两个儿子的结点个数N2只有非空左儿子的个数NL只有非空右儿子的结点个数NR和叶子结点个数N0。N2、NL、NR、N0都是全局量,且在调用cou
tt之前都置为0r
typedefstruct
oder
i
tdatastruct
odelchildrchild
oder
i
tN2NLNRN0r
voidcou
t
odetr
iftlchildNULLif1___N2elseNLr
elseif2___NRelse3__r
iftlchildNULL4____iftrchildNULL5____r
r
26树的先序非递归算法。r
voidexamplebr
btreebr
btreestack20p;r
i
ttopr
ifb
ullr
top1stacktopbr
whiletop0r
pstacktoptopr
pri
tf“d”pdatar
ifprchild
ullr
1___2___r
r
ifplchild
ullr
3___4__r
r
r
6、有一种简单的排序算法,叫做计数排序(cou
tsorti
g)。这种排序算法对一个待排序的表用数组表示进行排序,并将排序结果存放到另一个新的表中。必须注意的是,表中所有待排序的关键码互不相同,计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表中有多少个记录的关键码比该记录的关键码小,假设针对某一个记录,统计出的计数值为c,那么,这个记录在新的有序表中的合适的存放位置即为c。r
13分给出适用于计数排序的数据表定义r
27分使用Pascal或C语言编写实现计数排序的算法;r
34分对于有
个记录的表,关键码比较次数是多少r
43分与简单选择排序相比较,这种方法是否更好为什么r
r
7、4、tvoidLi
kList_reverseLi
klistLr
链表的就地逆置为简化算法假设表长大于2r
r
pL
extqp
extsq
extp
extNULLr
whiles
extr
r
q
extppqr
qsss
ext把L的元素逐个插入新表表头r
r
r
好听全球资料 返回顶部