算法
^Yong^
QQ:1364790487。比较急的话可以QQ讨论。
展开
-
DFS的个人理解和测试例题
深度优先搜索(DFS): 是一种搜索手段。可以理解为:它从某个位置(起点)开始,沿着一条路不断地向前走直到尽头,然后退后一步,去走其它没走过的路,没有的话,再退后一步,再去选择,直到找到目的地(终点)。例如下图:从A(起点)开始走,先走ABD在D处发现没有子节点,推后到节点B,去走EG到节点G发现又到了尽头,然后退一步到节点E,发现节点E没有右节点再退到节点B,发现B的左右节点都走过...原创 2018-04-16 18:44:27 · 2204 阅读 · 0 评论 -
BFS的个人理解和相关例题
宽度优先搜索(BFS):是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和宽度优先搜索类似的思想。其别名又叫BFS,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。简单来说:就是每走一步都要把所有的下一步的所有可能都...原创 2018-04-16 19:17:23 · 1166 阅读 · 0 评论 -
快速幂的运用
大一的时候挺后悔没学算法,现在要参加竞赛,慢慢学习算法,写一些自己学的东西。希望对你们有用~快速幂算法: 所谓的多次幂,其实是快速进行幂取模。公式表达为:ab%c。小数据直接暴力循环就可以解决,但参加竞赛一般情况下数据比较大,换言之,考的就是快速幂的运用。算法:暴力循环(小数据) 把ab的值赋值给一个变量,再进行取余,这种算法处理的数据太小。你会发现有很多地方可以...原创 2018-04-12 15:42:36 · 442 阅读 · 0 评论 -
抽签游戏
题意: 你的朋友提议玩一个游戏:将写有数字的n个纸片放入口袋中,你可以从口袋中抽取4次纸片,每次记下纸片上的数字后都将其放回口袋。如果这4个数字的和是m,就是你赢,否则就是你的朋友赢。请编写一个程序,纸片所写数据为:K1,K2,K3,K4.....Kn,判断你是否有赢的可能性。(限制条件:1<=n<=50,1<=m<=108,1<=K1...Kn<...原创 2018-04-12 17:05:58 · 3999 阅读 · 0 评论 -
贪心算法
贪心算法:贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择,即步步最优。也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。贪心算法不是对所有问题都能得到整体最优解,关键是贪心策略的选择,选择的贪心策略必须具备无后效性,即某个状态以前的过程不会影响以后的状态,只与当前状态有关。 这部博客有相关介绍:点击打开链接例题: 之前...原创 2018-04-13 19:48:05 · 242 阅读 · 0 评论 -
有趣的图形算法(竞赛热点)
用于总结当时的经典题型。题目:记得大一刷题有这样一道题:默认三角形(n=2)是形如下列形状的:n = 3时是这样的输入一个整数n(1<=n<=9),输出符合题意的图形。解析:当时老纠结了,最后才明白需要用递归。。总结代码:#include<stdio.h>#include<stdlib.h>#includ...原创 2018-05-14 17:13:50 · 984 阅读 · 2 评论