- 博客(11)
- 收藏
- 关注
原创 编程算法之数组二分查找法
查找数据,是每个程序员必备的技能,今天介绍一种在数组中快速查找的方法:二分查找法,二分法在前面已经介绍过了,取一个数字的中间值,如果不对,再取。。 一直循环到最终的结果。此方法比直接在for循环里面循环遍历话费时间要少的多。下面介绍一种常见的二分查找法。// 编程算法之数组二分查找法.cpp : 定义控制台应用程序的入口点。//#include "st
2015-04-26 21:24:13
378
原创 编程算法之模拟法-掷骰子
掷骰子比赛,N个人参加,可以投M次,看谁的点数相加起来大。// 编程算法之模拟法-掷骰子.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includevoid play(int n){ int i,m=0,t=0; for(i=0;i<n;++i) { t =rand()%6+1; m+=7; printf("\t第
2015-04-23 22:56:55
548
原创 编程算法之模拟法-猜数字
计算机程序在人的交互中经常会出现一些不能创建数学模型的情况,也不能使用前面介绍的各种算法求解,此时该如何解决呢?模拟法登场----O(∩_∩)O哈哈~--使用模拟法编写一个猜数字游戏,由计算机随机生成一个1-100int数值,由用户去猜,程序比较简单。// 编程算法之模拟法.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"
2015-04-22 22:28:20
549
原创 编程算法之试探法
试探法也称为回溯法,它是一种系统的搜索问题解的方法,该算法设计思想适用范围相当广发,例如 棋手思考下一步走哪里就是采用试探法。试探法的基本思路是:从问题的某一种状态出发,搜索从这种状态出发所能达到所有的状态,当一条路走到尽头时候,先退几步,接着从另一种可能的状态出发,继续搜索,直到所有的路径都尝试过。常见的彩票组合号码都是由一些数字组成的,生产彩票号码其实就是将所有数字进行
2015-04-21 21:49:35
372
原创 编程算法之分治法
分治算法的基本思想是将一个计算复杂的问题分为若干个问题来进行求解,然后综合各个小问题得到复杂问题的最终答案,如果这些字问题还是比较大,难以解决,可以再把他们分成若干个更小的子问题,直到可以直接求出答案为止。一般具有以下特征的问题可使用分治发来求解:1 求解问题可以分解成若干个规模较小的相同问题。2 求解问题的规模分解到一定程度时,就能够很容易的求解。3 合并子问题的解可以得
2015-04-19 22:22:52
344
原创 编程算法之递归阶乘(数制转换)
将十进制转换为其他进制整数的计算过程是:将十进制除以相应制数的整数,取其余数作为相应数制的最低位,再用商除以相应数制的基础,取余数作为相应数制的次低位。。。这样不断的重复,即可完成转换。递归算法如下// 编程算法之递归(数制转换).cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#includevoid convto(char *s ,i
2015-04-18 23:51:48
384
原创 编程算法之递归阶乘法
递归算法也是一种常用的算法思想,使用该算法有时可有效的解决一些问题,往往可以简化代码的编写,提高程序的可读性,但若有不合适的递归反而会导致程序的执行效率变低。所谓递归算法,就是在程序里不断反复调用自身来求解问题的方法,这里强调的重点是调用自身,就得要等待求解的问题能够分解为相同问题的一个子问题,这样通过多次递归调用,便可完成求解。递归算发的具体实现过程一般通过函数来完成,在函数的内部,
2015-04-15 23:22:48
270
原创 编程算法之递推算法-顺推法
递推算法是一种很常用的算法思想,在数学计算等场合有点广泛的应用,改算法适用于有明确公式的情况,通过已知条件,利用特定关系得出中间推论,逐步递推,知道结果满意为止。所谓顺推法是指从已知条件出发,逐步推算出要解决问题的办法。13世纪,欧洲数学家斐波那契在他的著作《算盘书》中出了一个有趣的题目:如果一对兔子每月能生1对小兔子,而每对兔子在它出生后的第三个月里又能开始生1对小兔子,假定在不发生死亡
2015-04-13 23:00:39
911
原创 编程算法之枚举法续(马载粮食)
问题: 现在有100担粮食,要用100匹马去拉,设:大马一次能拉3袋,中马能拉两袋,下马两个能拉一袋,问如何分配马匹?分析:此问题我们知道已知条件(100匹马 100担粮食),问题的结果是从这些已知道条件里面去筛选,那么符合枚举法的特征。// 编程算法之枚举法续载粮食.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"in
2015-04-12 23:12:22
716
原创 编程算法之枚举法
枚举法是编程里常用的算法之一,依赖于计算机的强大计算能力来穷尽没一种可能的情况,从而达到解决问题的目的,改算法效率并不高,但适用于一些没有明显规律可循的环境。在小学奥数中经常会看到一些填数字的游戏,如下图 算法描述题* 算--------------——题题题题题题从上图可看出,共有5个汉字(算,法,描,述,题
2015-04-11 22:41:47
803
原创 编程算法之二分法
最近读了一本编程算法的书,里面有些案例很有意思,所以分享给大家,其中会夹杂我自己的想法,希望大家也能学到一些东西!我们经常从一些娱乐节目看见有种猜商品价格的游戏,例如:假设有一辆价格为640块钱的自行车要参与者猜价格,提示是该自行车的价格在1000元以下,一般参与者可以会按照以下方式竞猜:参与者:900主持人:高了参与者:850主持人:高了参与者:8
2015-04-10 23:17:44
1006
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人