小算法总结
王格格
代码很烂,但还是要发。
展开
-
求最大公约数的算法1.递归 2.循环 (小算法总结)
/* 最大公约数 (递归算法),辗转相除法。 */ int gcd (int x, int y) { if (y==0) return x; else return gcd (y,x%y); } /* 辗转相除法基于如下原理: 两个整数的最大公约数等于其中较小的数和两数...原创 2018-09-27 17:59:01 · 8122 阅读 · 0 评论 -
链表的四种基本的算法演示
/* 链表的四种基本的操作 其他的算法都可以根据这些来实现的 */ # include <bits/stdc++.h>using namespace std;typedef struct NODE { struct NODE *pnext; int data;}NODE,*PNODE;PNODE create_list (void); //创建一个...原创 2018-10-30 20:37:11 · 596 阅读 · 0 评论 -
走楼梯递归递推的算法总结
走楼梯的算法总结(1).一次可以走一阶或两阶(2).一次可以走一阶或两阶或三阶(3). 一次可以走一阶或两阶,最终走偶数步,或者奇数步两种实现方式(1).递归(2).递推 (1)递归的思想:就是一个问题可以拆分成他的子问题子问题和原问题有相同的结构每一次缩小一次问题的规模,规模最小的时候就是递归函数的出口一层递归调用结束后会返回给上一层,依次类推,等到压栈的函数全部出栈递...原创 2018-12-17 12:48:22 · 2775 阅读 · 0 评论 -
快速幂算法详解和一道例题
好长时间都不更博客了,今天给大家带来的是快速幂算法 快速幂算法顾名思义就是快速的实现幂运算,我知道一定会有人说为什么要用快速幂算法去实现幂运算呢? c里面的pow函数不能用吗? 对于很小的幂运算当然可以了,但如果是一个底数和指数都很大的呢?很显然pow函数就不够用了。 不多赘述,先看代码吧! # include <bits/stdc++.h&...原创 2019-01-03 19:45:18 · 1291 阅读 · 0 评论 -
二进制枚举算法
枚举算法相信大家都不陌生,有一种特殊的枚举算法——二进制枚举为什么要使用二进制枚举算法?因为有的时候很难用循环把所有的情况都表示出来,二进制就可以很轻松的解决这个问题。话不多说,看题目吧。1.话说大诗人李白,一生好饮。幸好他从不开车。一天, 他提着酒壶,从家里出来,酒壶中有酒两斗。他边走边唱:无事街上走,提壶去打酒。逢店加一倍,遇花喝一斗。这一路上,他一共遇到店 5 次...原创 2019-03-15 21:12:59 · 921 阅读 · 0 评论 -
bfs队列的算法,走迷宫
problem description有一个二维迷宫,n行m列,‘s’表示迷宫的起点,‘T’表示迷宫的终点,‘#’表示围墙,‘.’表示通路。现在从S出发,你不能穿墙,问到达终点T最少需要多少步?输入格式第一行输入n,m(1<=n,m<=50)表示迷宫的行列大小。接下来输入n行字符串表示迷宫。输出格式一个整数,表示走出迷宫所需的最小步数,若走不出迷宫则输出 -...原创 2019-03-23 20:46:47 · 381 阅读 · 0 评论