算法
sms88
这个作者很懒,什么都没留下…
展开
-
[算法]二叉树的非递归前序遍历算法(转帖)
前言: 二叉树的前序遍历算法的递归版本简洁而又好懂:void preOrder(PBinTreeNode inNode) { if(inNode==NULL) return; else { preVisit(inNode->info); preOrder(in原创 2005-12-14 20:37:00 · 1342 阅读 · 0 评论 -
关于约瑟夫环的问题 的通解
试编写一个求解Josephus问题的函数。用整数序列1, 2, 3, ……, n表示顺序围坐在圆桌周围的人,并采用数组表示作为求解过程中使用的数据结构。然后使用n = 9, s = 1, m = 5,以及n = 9, s = 1, m = 0,或者n = 9, s = 1, m = 10作为输入数据,检查你的程序的正确性和健壮性。最后分析所完成算法的时间复杂度。【解答】函数源程序清单如下:void原创 2005-12-21 15:54:00 · 1599 阅读 · 0 评论 -
回溯法求解8皇后问题(转帖)
/************************************************************************/ /*原创 2005-12-18 22:14:00 · 1586 阅读 · 0 评论 -
对这100万个整数进行排序(每个数是1--100间)
*已知函数sort的参数iArray是一个指向100万个在存储空间上连续的整数的指针,这些数的范围从1到100请写出对这100万个整数进行排序并显示出来的算法函数原型假定为:void sort(int*iArray) //iArray为指向100万个整数的指针题目来自csdn c板块原地址:http://community.csdn.net/Expert/topic/4473/4473425.原创 2005-12-31 21:38:00 · 3293 阅读 · 0 评论 -
求2数的最大值,(不用比较运算符)
#includeusing namespace std;intmax(int x,int y){int buf[2]={x,y};unsigned int z; z=x-y; z>>=31;return buf[z];}int main(){ int a,b; cin>>a>>b; cout return 0;}避免溢出的改进intmax(int原创 2006-04-14 11:08:00 · 1035 阅读 · 0 评论 -
星期推算法
通常我们只知道生活当天的前后几天是星期几,即便是翻日历,也只能知道有限日期的星期数。那么有没有一种方法可以让我们知道任何一天是星期几呢?有,下面我将向大家介绍一种方法,用以编写万年历的程序。首先我们必须约定一些法则,我们用Y、M、D分别表示年、月、日,用数字0-6分别表示星期日-星期六,这样我们就可以开始推导我们的公式了。我们知道2002年9月1号为星期日,如果我们要想知道2002年9转载 2006-04-13 23:00:00 · 1747 阅读 · 0 评论