摘要: 使用分治算法设计程序时,一般可以按照以下步骤进行: <1>分解:将要求解的问题划分成若干规模较小的同类问题。 <2>求解:当子问题划分得足够小时,用较简单的方法解决。 <3>合并:按求解问题的要求,将子问题的解逐层合并,即可构成最终的解。 例一:比赛赛程安排。 阅读全文
posted @ 2016-10-13 16:41 建彬 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 递归算法是一种直接或间接调用自身的算法。一般通过函数或者子过程来完成,在函数或子过程的内部,编写代码直接或者间接的调用自己,即可完成递归操作。 例一:求阶乘 例二:十进制转化为其他数制,除n取余法 阅读全文
posted @ 2016-10-13 10:30 建彬 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 枚举法的本质就是从所有候选答案中去搜索正确的解,使用该算法需要满足两个条件 <1>可预先确定候选答案的数量 <2>候选答案的范围在求解之前必须有一个确定的集合 例一,求解哪些数字的组合满足下图所示的格式 例二,在等号左边的数字之间填入加减乘除任意一个符号,使等式成立。 需要考虑的问题 <1>当填入除 阅读全文
posted @ 2016-10-13 10:11 建彬 阅读(1478) 评论(0) 推荐(0) 编辑
摘要: 递推算法使用“步步为营”的方法,不断利用已有的信息推导出新的东西。 顺推法:从已知条件出发,逐步推算出要解决问题的方法。例如斐波拉契数列就可以通过顺推法不断递推算出新的数据。 逆推法:从已知的结果出发,用迭代表达式逐步推算出问题开始的条件。 斐波那契数列的代码实现 逆推算法。如果一个大学生要在四年( 阅读全文
posted @ 2016-10-12 17:11 建彬 阅读(174) 评论(0) 推荐(0) 编辑
摘要: #include int main(void){ int realPrice, price=0, i=0; printf("亲,请输入商品的真实价格:"); scanf("%d",&realPrice); system("cls"); printf("请尝试输入您认为的价格:\n"); while(realPrice != price){ i++; printf("参与者:... 阅读全文
posted @ 2016-10-12 16:49 建彬 阅读(2261) 评论(0) 推荐(0) 编辑
摘要: 程序=数据结构+算法+程序设计语言 程序设计中,数据结构和算法是最重要的,是编程的灵魂。 数据结构是算法实现的基础,算法总是依赖于某种数据结构来实现的。往往是在发展一种算法的时候,构建了适合于这种算法的数据结构。一种数据结构如果脱离了算法,也就没有存在的价值了。 解决任何一个实际问题,都需要通过一定 阅读全文
posted @ 2016-10-12 16:30 建彬 阅读(155) 评论(0) 推荐(0) 编辑