摘要: 1,将集合S中的数排序X1<=X2<=X3.............Xn;2,for(i=n;i>0;i--){for(j=0,k=i-1;k>j;){if(Xj+Xk>Xi){k--;cotinue;}if(Xj+Xk<Xi){j++;contiue;}A=Xj;B=Xk;C=Xi;break;}例子:1,4,7,10,11,13,15,18,3434:1-18,4-18........15-1818:1-15,4-15,4-13,7-13,7-11结果:A=7;B=11,C=18; 阅读全文
posted @ 2011-06-19 11:35 freewater 阅读(701) 评论(0) 推荐(0) 编辑
摘要: 解答:(参考introduction to algrithms)1,从任意节点s出发用深度优先遍历(或宽度优先遍历)遍历该图,若生成多棵树,则不是连通的。2,反向图中所有的边。3,从节点s出发用深度优先遍历(或宽度优先遍历)遍历该图,若生成多棵树,则不是连通的,否则是强连通图。理由:1保证了从s可以到达所有的节点。2,3说明从任意节点都可以到达s。任意节点i,j都是连通的因为i~s,s~j。 阅读全文
posted @ 2011-06-19 10:55 freewater 阅读(4628) 评论(0) 推荐(0) 编辑