随笔分类 -  算法问题

摘要:1 int arr[8][8] = {0}; //arr[row][col]; 2 3 4 //表示第几个棋子 5 int check(int row,int col){ 6 7 //1,同一列不能有皇后 8 for(int i = 0; i < 8; i++){ 9 if(arr[i][col] 阅读全文
posted @ 2020-02-26 09:05 程序猿101 阅读(221) 评论(0) 推荐(0)
摘要:回溯算法的非递归形式描述: A1.初值准备; A2.循环:当选择范围不超界并且工作未完成,重复执行 { A2.1.如果条件成立,则 //分析条件,保证不满足条件的不往下走 { A2.1.1.进栈; A2.1.2.由第一选择开始进入下一层次; //往... 阅读全文
posted @ 2008-05-22 10:52 程序猿101 阅读(501) 评论(0) 推荐(0)
摘要:递归是设计和描述算法的一种有力的工具,由于它在复杂算法的描述中被经常采用,为此在进一步介绍其他算法设计方法之前先讨论它。 能采用递归描述的算法通常有这样的特征:为求解规模为N的问题,设法将它分解成规模较小的问题,然后从这些小问题的解方便地构造出大问题的解,并且这些规模较小的问题也能采用同样的分解和综合方法,分解成规模更小的问题,并从这些更小问题的解构造出规模较大问题的解。特别地,当规模N=1... 阅读全文
posted @ 2008-05-20 18:27 程序猿101 阅读(393) 评论(0) 推荐(0)
摘要:● 递归函数的原理 用栈保存未完成的工作,在适当的时候从栈中取出并执行。 系统保存了工作的数据和状态,数据就是函数的局部变量, 状态就是程序指针。 ● 非递归程序原理 1. 和递归函数的原理相同,只不过是把由系统负责保存工作 信息变为程序自己保存,这样能减少保存数据的冗余(主要... 阅读全文
posted @ 2008-05-20 17:44 程序猿101 阅读(3483) 评论(2) 推荐(0)