全部博文(43)
发布时间:2013-03-20 17:15:30
二叉树的递归遍历算法非常漂亮和易读,但是非递归算法就没那么容易懂了,尤其是后序遍历的非递归算法。一. 前序遍历void PreOrderTraverse(Node *root) { stack<Node *> ns; &nb.........【阅读全文】
发布时间:2013-02-28 11:05:58
问题描述:已知一个数组x[],元素个数有多少并不很清楚,但是数组元素已经依顺序从小大大排好,而且在数组最后添加了足够多的MAX记号;MAX表示最大的值,比数组中每一个元素都大,而且个数足够多。编写一个程序,在这个数组中找出某个给定的值。 思路:二分查找法是一个.........【阅读全文】
发布时间:2013-02-26 23:37:49
题目来自:《C语言精选名题百则技巧篇》 问题描述:已知一个整数数组x[],其中的元素彼此都不相同,而且也已经从小到大排列好。请用比较大小,相等的方式编写一个程序,找出给定的数组中是否有一个元素满足x[i]==i(注意:在代码中是从0开始索引的,也就是x[0]是第一个数,所以对.........【阅读全文】
发布时间:2013-02-26 10:32:41
问题描述:有两个数组x[]与y[],各有m与n个元素,而且各个元素没有依顺序排列;d是一个已知的值。请写一个程序,看看在x[]与y[]中有没有满足x[i]+y[j]=d的元素。例如,若x[]为3,7,2,4,y[]为1,5,2,3,d为9;那么x[1]+y[2]与x[3]+y[1]都合乎条件,也即都是9。 思路:x[i]+y[j]=d。.........【阅读全文】
发布时间:2013-02-19 10:46:44
问题描述:用G(n)表示在有n位的二进制数中没有相邻的两个1的二进制数个数。比如,当n=3时,000,001,010,011,100,101,110,111这8个数中只有000,001,010,100,101这5个是没有相邻为1的,故G(3)=5。请写一个程序,输出G(n)的值。 错误的思路(考虑的不周全):采用"分.........【阅读全文】