![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
编程算法基础
单纯的呼大帅
。。。。。。
展开
-
基础篇1——二分查找法
二分法即设头,尾,中三个变量以low,high,mid表示。mid=(low+high)/2,每次以mid对应的值进行比较,若索要查找的值>mid对应的值,则low=mid,反之high=mid。之后再以新的low,high求新的mid对应查找,直至找到。部分时候以high>=low作为条件避免重复查找。 类型一:二分法求解 例:8x^4+7x^3+2x^2+3x+6=y,输入y的值,原创 2015-08-31 13:06:24 · 435 阅读 · 0 评论 -
基础篇——队列,栈
队列与栈 (一)队列 经典例题:一串长为n加密的数字,解密法则如下——将第一个数删除,再把第二个数放到末尾,删除第三个数,将第四个放到末尾。。。。。。直到剩下最后一个数,将最后一个数删除。按照之前删除的顺序,把这些数连在一起便是源码。 例:所给长为9的数串“6 3 1 7 5 8 9 2 4” 第一步:删6移3——>1原创 2015-09-15 10:29:56 · 240 阅读 · 0 评论 -
基础篇2——贪心法
贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,但对范围相当广泛的许多问题他能产生整体最优解或者是整体最优解的近似解。 经典例题: 一个小孩买了价值少于1美元的糖,并将1美元的钱交给售货员。售货员希望用数目最少的硬币找给小孩。假设提供了数目不限的面值为2 5原创 2015-09-01 19:51:33 · 1304 阅读 · 0 评论 -
基础篇——数论基础
数论基础主要有三点。1.最大公约数。2.素数问题。3.快速幂取模。 一:最大公约数 正常的思路,求最大公约数都是从2开始到n-1求最大能整除的数即为最大公约数。但这样算的时间为o(n),相当耗时。故在求最大公约数时,提出了辗转相除法。 现有a,b两个数,a除以b的商和余数分别是p和q,所以a=b*p+q,所以gcd( b , q )整除a,b故而整除gcd( a ,b )。反之因为q=a-b原创 2016-01-20 15:09:42 · 2053 阅读 · 0 评论