算法
一些经典算法的c++实现
小龙不是蛇
在下辣鸡大一学生一名,CSDN底层人物\(@^0^@)/
展开
-
蓝桥——输出所有5位二进制
蓝桥——输出所有5位二进制输出如00000、00001、00010这样的所有5位二进制数,一共32个我想到了三个方法1、暴力法5个循环#include <stdio.h>int main() { for(int a = 0; a <= 1; a++) for(int b = 0; b <= 1; b++) for(int c = 0; c <= 1; c++) for(int d =原创 2020-06-17 10:08:37 · 2503 阅读 · 0 评论 -
一口气——并查集及其在Kruskal算法的应用
本文记录下树结构下的并查集和其在Kruskal计算最小生成树算法中的应用一、何为并查集 并查集,顾名思义对数据进行合并和查询,因为是树结构的应用,合并即将两个数据安置在树中,查询即查询某个数据的祖宗结点。其意义在于将许多看似不相关的数据通过一些线索分组,下面举个例子。 心理学中有个著名的六度分离理论,“你和任何一个陌生人之间所间隔的人不会超过五个,也就是说,最多通过五个人你就能够认识任何一个陌生人。” 现有11个人,这11个人编号1~14的数据,有如下10条线索:1、2彼此认识;3、4彼此认识原创 2020-06-04 23:04:39 · 401 阅读 · 0 评论 -
Bellman-Ford算法解释和队列优化实现
好久没有在这里记录过一些学习过程了,表面原因是期末忙于复习,其实是懒了(ˉ▽ˉ;)…一、Bellman-Ford算法描述 Bellman-Ford算法是一种用于计算图中单源最短路径的算法,也就是某一点(称为源点)到其他所有点的最短路径。可以处理边权值为负数的情况,且可以判断图中是否存在负权回路,即路长度为负数的回路,如果有负权回路则图无最短路径。 算法实现可以概括为每次过程利用图中的边,对源点进行松弛,就是看一看能不能通过这条边,使源点到达这条边终点的路径变短,如果可以变短,则松弛成功。每次该过程原创 2020-05-25 23:17:07 · 371 阅读 · 0 评论 -
图的遍历方式 深度优先&&广度优先
恰巧离散数学学到了图的矩阵表示(最后一节了),复习一下图的遍历方式吧,没想到网课上到了将近结课一、举例分析深度优先搜索(DFS)是一种顺序搜索,一条路走到黑,直到搜索无法进行,回退到上一个可继续搜索的点,逐渐遍历全图。广度优先搜索将图分离为层,每层之间间隔一步,每个点被遍历的次序和遍历该图的初始点的距离有关。如改图例子1(凑活把树当图看吧),按照深度优先搜索从点1开始遍历:1–>2–>4,无法继续搜索,回退一步到点22–>5,无法继续搜索,回退一步到点2仍然无法继续,再回原创 2020-05-12 22:13:28 · 959 阅读 · 0 评论 -
约瑟夫问题 循环链表简单解决
约瑟夫求生最初版本:在罗马人占领乔塔帕特后,39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓到,于是决定了一个自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀,然后再由下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从。首先从一个人开始,越过k-2个人(因为第一个人已经被越过),并杀掉第...原创 2020-05-07 21:23:25 · 437 阅读 · 0 评论 -
八皇后问题 递归解决 回溯算法简单应用
八皇后问题算是一个回溯算法的典型案例。虽然我不太懂回溯,但该问题很有内味(。・∀・)ノ゙,下面描述一下我的解法 八皇后问题指在一个8×8的棋盘上,摆放八个皇后,要求这八个皇后不能互相攻击,每个皇后的攻击范围为同一行、同一列、同一个斜线,也就是任意两个皇后不能处于同一行、同一列、同一斜线上,问题就是这八个皇后有多少种站法。(我懒得用主对角线、副对角线什么的解释了,大家都懂( ̄▽ ̄)")显然每一...原创 2020-05-05 17:57:14 · 231 阅读 · 0 评论 -
中缀式转后缀式&&后缀式计算 举例破解 逆波兰算法
想在自己的Java计算器中添加逆波兰算法,解决计算优先级的问题,写了写感觉问题蛮多的,算法学了就忘(lll¬ω¬)在这里记录下自己当时学习该算法的想法,尝试解释一下逆波兰算法的两个核心,中缀式转后缀式和后缀式的计算1.中缀表达式转换为后缀表达式 中缀表达式就是我们平时的算数表达式的写法,运算符位于参与该运算数字的中间,例如6+2*3,直接处理该类的表达式存在困难,而处理后缀表达式则相对容易...原创 2020-05-04 22:26:55 · 304 阅读 · 0 评论 -
全排列 深度优先搜索(DFS)的基本模型
今天复盘一下输出全排列的算法,非常感谢《啊哈算法》的作者啊哈磊O(∩_∩)O,用这么简单的一个小应用说明了深度优先搜索的强大(●ˇ∀ˇ●)数n的全排列,可以看n个盒子内分别放入1个数,各盒子内的数均不相等。一个盒子的数放置完成后,递归放置下一个盒子,具体参见注释#include <iostream>#include <stdio.h>#include <alg...原创 2020-05-04 20:45:23 · 334 阅读 · 0 评论