算法
小肝帝!
肝着
展开
-
Warshall 算法(离散数学传递闭包)
Warshall 算法算法思路:(1)先初始化一个二维数组(2)利用循环输入N*N的矩阵(3)进行矩阵的运算M0的第0列的1和第0行进行逻辑加。比如[1,0]+[0,1]=[1,1]=1M1是在M0计算结果后的第1列和第1行进行逻辑加。M2,M3和上面一样。(4)打印计算后数组#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#defi...原创 2021-12-08 20:57:39 · 5729 阅读 · 0 评论 -
算法:算法的总结
算法的总结目录 算法的总结数据结构和算法 算法的性质--正确性。--高效性。一空间性。一可读性。算法:(一)递推算法_m0_62808636的博客-CSDN博客_rls算法算法:(二)枚举(穷举)算法_m0_62808636的博客-CSDN博客算法:(三)递归算法_m0_62808636的博客-CSDN博客算法:递归算法拓展之...原创 2021-11-13 23:56:16 · 373 阅读 · 0 评论 -
算法:(七)模拟算法
七、模拟算法目录 七、模拟算法算法思路实例1、猜数游戏解题思路实例2、模拟掷骰子游戏解题思路算法思路在程序设计语言中,可使用随机函数来模拟自然界中发生的不可预测情况。C语言中使用srand()和rand()函数可生成随机数。注意引头文件#include<time.h>实例1、猜数游戏使用模拟法编写一个猜数游戏,由计算机随机生成一个1~100之内的整数,然后由用户来猜这个数,根据用户猜测的次数分别给出不同的提...原创 2021-11-13 22:04:16 · 3370 阅读 · 0 评论 -
算法:(六)试探算法
六、试探算法算法思路为了求得问题的解,先选择某一种可能情况进行试探,在试探过程中,旦发现原来的选择的假设情况是错误的,就退回一步重新选择,继续向前试探,如此反复进行,直至得到解或证明无解实例:生成彩票号码组合假设有一种彩票,每注由7个1~29的数字组成,且这7个数字不能相同,编写程序生成所有的号码组合。#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#define HAXN 7 //...原创 2021-11-12 22:50:17 · 203 阅读 · 1 评论 -
算法:(五)贪婪算法
五、贪婪算法算法思路贪婴算法基本思路:从问题的某一个初始解出发逐步逼近给定的目标,以尽可能快地求得更好的解。当达到算法中的某一步不能再继续前进时,就停止算法,给出近似解。由贪婪算法的特点和思路可看出,该算法存在以下问题:——不能保证最后的解是最优的:——不能用来求最大或最小解问题:——只能求满足某些约束条件的可行解的范围。实例:换零钱人民币有100、50、10、5、2、1、0.5、0.2、0.1等多种面额(单位为元)。在补零钱时,可有多种方案,例如...原创 2021-11-12 10:01:34 · 132 阅读 · 0 评论 -
算法:(四)分治算法
四、分治算法目录 四、分治算法算法思路实例、兵兵球比赛赛程安排解题思路算法思路使用分治法设计程序时,一般可按以下步骤进行:(1)分解:将要求解的问题划分成若干规模较小的同类问题:(2)求解:当子问题划分得足够小时,用较简单的方法解决:(3)合并:按求解问题的要求,将子问题的解逐层合并,即可构成最终的解。实例、兵兵球比赛赛程安排 ...原创 2021-11-11 23:52:18 · 106 阅读 · 0 评论 -
算法:递归算法拓展之经典问题
递归的经典问题目录 递归的经典问题一、汉诺塔问题二、青蛙跳台阶问题一、汉诺塔问题小故事:大梵天创造世界的时候做了三根金刚石柱子(A,B,C),在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。64根柱子移动完毕之日,就是世界毁灭之...原创 2021-11-11 10:22:00 · 1051 阅读 · 1 评论 -
算法:(三)递归算法
三、递归算法目录算法思路实例1.求阶乘实例2.数制转换算法思路递归算法,就是一种直接或者间接地调用自身的算法。递归算法的具体实现过程 般通过函数或子过程来完成,在函数或子过程的内部,编写代码直接或者间接地调用自己,即可完成递归操作。实例1.求阶乘解题方法#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>//阶乘int fa...原创 2021-11-10 23:45:43 · 815 阅读 · 1 评论 -
算法:(二)枚举(穷举)算法
枚举(穷举)算法算法思路枚举法的本质就是从所有候选答案中去搜索正确的解,使用该算法需要满足两个条件:(1)可预先确定候选答案的效量:(2)候选答案的范围在求解之前必须有一个确定的集合实例1.填数字游戏解题方法#include <stdio.h>int main(){ int i1, i2, i3, i4, i5; long multi, result...原创 2021-11-09 21:38:26 · 2835 阅读 · 0 评论 -
算法:(一)递推算法
目录1.顺推实例2逆推实例算法思路递推算法使用“步步为营”的方法,不断利用已有的信息推导出新的东西。一顺推法:是指从己知条件出发,逐步推算出要解决问题的方法。例如:斐波拉契数列就可以通过顺推法不断递推算出新的数据。一逆推法:是从己知的结果出发,用迭代表达式逐步推算出问题开始的条件,即顺推法的逆过程。1.顺推实例 月份 大兔子数量 1个月的兔子数量 2个月的兔子数量 兔子的总量原创 2021-11-08 22:07:13 · 964 阅读 · 1 评论