算法
文章平均质量分 77
Hades1024
这个作者很懒,什么都没留下…
展开
-
栈解决简单的后缀表达式运算
栈实现后缀表达式转化和计算利用栈的先进后出特性可以方便地将中缀表达式转换为后缀表达式:转换函数定义 void trans(char* exp, char postexp[])exp为输入的算术表达式字符串,postexp为结果字符数组。此算法还需要一个运算符栈用来转换所有的运算符。对于输入的字符串依次读取,如果读入的是数字,则直接读入postexp数组,并在读取完一个数字后加上‘#’表示一...原创 2020-04-25 18:46:13 · 446 阅读 · 0 评论 -
栈&队列解决迷宫问题
栈解决迷宫问题这种解决思路类似DFS,从起点开始向前走,每走一步,就向四周探寻可走方向,如果找到一个可走方向,首先“保存现场”(将走向的是哪一个方向保存下来),再向找到的方向走一步,重复上述过程。同时对走过的路上做一个标记,防止形成死循环。如果发现走到了死胡同,四周都无路可走,则回退到上一步,“恢复现场”(从保存的方向开始,看下一个方向是否可走),如果还是死胡同,再回退。若回退到起点(栈已经p...原创 2020-04-25 18:44:42 · 1294 阅读 · 0 评论 -
Stein算法
Stein算法(部分内容出自CSDN博主Holmofy) 辗转相除法是计算两个数最大公约数的传统算法,无论从理论还是从实际效率上都是很好的。但是却有一个致命的缺陷,这个缺陷在素数比较小的时候一般是感觉不到的,只有在大素数时才会显现出来:一般实际应用中的整数很少会超过64位(当然已经允许128位了),对于这样的整数,计算两个数之间的模是很简单的。对于字长为32位的平台,计算两个不超过32位的整数的...转载 2018-11-16 12:39:33 · 616 阅读 · 0 评论 -
算法总结
辗转相除法计算两个整数的最大公约数和最小公倍数计算两个整数的最大公约数,既先求出较小数num2的约数n,同时大数num1也能被n整除,将n利用循环语句,计算到最大值。计算两个整数的最小公倍数,既先求出较小数num2的倍数m,同时m能被num1整除,将m利用循环语句,计算到最小值。#include <stdio.h>int main(){ int a, b, c; //a, ...原创 2018-11-16 13:33:57 · 137 阅读 · 0 评论