
算法
文章平均质量分 74
算法
SVIP_Quanw
I am so vegetable
展开
-
花式计算斐波那契(fibonacci)数列
花式计算斐波那契fibonacci数列关于1. 循环2. 递归3. 带备忘录的递归4. 使用矩阵乘法统一测试下关于斐波那契数列(Fibonacci sequence),又称黄金分割数列,因数学家莱昂纳多·斐波那契(Leonardo Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……在数学上,斐波那契数列以如下被以递推的方法定义:F(0)=1,F(1)=1,F(n)=F(n−1)+F(n−2)(n≥2,n∈N∗) F(原创 2022-02-07 19:07:30 · 839 阅读 · 1 评论 -
邻接表实现的有向带权图 及 图算法(C++)
邻接表(Adjacency List):我实现的方法相当于加邻接表是一个 Vertex类型的数组( adj = new Vertex[ ] )数组元素Vertex中有一个指向Edge对象的指针(相当于链表的头节点),用来存放与对应Vertex相连的边前面 public 的结构体是后面一些成员函数的返回值(因为有的要返回多个值有点要用特定的方式处理返回值)和一些后面的算法会用到的(并查集)。没有边的从输入流获取边的2. 析构函数就删除边和顶点对象3. 深度优先遍历 接受一个参数为Verte原创 2022-06-03 10:27:21 · 3393 阅读 · 2 评论 -
邻接矩阵实现的带权有向图(C++)
邻接矩阵中带权有向图的定义:设G=(V,E),则:原创 2022-06-03 10:04:23 · 2825 阅读 · 0 评论 -
二叉堆 ( 数据结构 )
二叉堆0. 相关概念1. 结构2. 遍历3. 建堆3.1. 最大堆 ( 大顶堆 )3.2. 最小堆 ( 小顶堆 )4. 堆排序5. PriorityQueue0. 相关概念二叉堆 : 用数组储存的完全二叉树完全二叉树 : 二叉树,且除最后一层外,每一层都是填满了的,最后一层从第一个节点开始依次向右增加节点最大堆 : 父节点值大于等于任意一个子节点的值最小堆 : 父节点值小于等于任意一个子节点的值堆化 : 使得任意子树都是堆1. 结构2. 遍历根节点下标: 0节点i的:父节点下原创 2022-04-18 22:51:22 · 460 阅读 · 0 评论 -
POJ1753 Flip Game(位运算+枚举+深搜回溯)
POJ1753 Flip Game1. 大概题意2. 思路&做法(位运算+枚举+深搜回溯)3. 全部代码3.1 C++ 代码3.2 Java 代码 (稍有不同)1. 大概题意翻转游戏是在一个 4x4 的方形场地上进行的,在其 16 个方格中的每一个方格上都放置有两个面的棋子。每个棋子的一面是白色的,另一面是黑色的,每个都是黑色或白色的一面朝上。每轮你翻转 3 到 5 块,从而将它们上侧的颜色从黑色变为白色,反之亦然。每轮都根据以下规则选择要翻转的棋子:1.选择 16 个中的任何一个。原创 2022-05-22 18:22:12 · 580 阅读 · 0 评论 -
字符串匹配 KMP BF
字符串匹配 KMP BF字符串匹配?BFKMP字符串匹配?简单的说就是: 给定两个字符串S, T 在主串S中找到模式TBFC++代码/** * @brief brutal force 暴力 * * @param str 字符串 * @param pat 模式 * @return int 首字母下标或-1表示没找到 */int bf(string str, string pat) { for (size_t i = 0; i < str.length(); i++) { s原创 2022-04-19 21:32:48 · 728 阅读 · 0 评论 -
Flip Game (不太暴力的解法)
Flip Game1. 大概题意2. 不太暴力的思路3. 代码3.1 C++3.2 Java前一篇暴力解法 (链接)1. 大概题意翻转游戏是在一个 4x4 的方形场地上进行的,在其 16 个方格中的每一个方格上都放置有两个面的棋子。每个棋子的一面是白色的,另一面是黑色的,每个都是黑色或白色的一面朝上。每轮你翻转 3 到 5 块,从而将它们上侧的颜色从黑色变为白色,反之亦然。每轮都根据以下规则选择要翻转的棋子:1.选择 16 个中的任何一个。2.将选定的棋子以及所有相邻的棋子翻转到所选棋原创 2022-05-23 22:22:19 · 1206 阅读 · 0 评论