算法
swordtraveller
这个作者很懒,什么都没留下…
展开
-
[算法笔记]的笔记 4.1.1 选择排序 4.1.2 插入排序
有童靴发现这一节的代码照抄进去排出来数组的好像不太对~可是又看不出算法有啥问题~哼,算法当然没问题辣~但是问题在于算法的i从1开始,而数组下标却是从0开始的啦~所以不能照抄哦,要有适当的改造。下面贴个完整展示每轮排序的过程:选择排序:#include<cstdio>using namespace std;const int n = 10;int A[n]={...原创 2018-12-06 20:05:09 · 159 阅读 · 1 评论 -
[算法提高] 浅谈时间复杂度(本篇尚未完成,正在补充和修订)
几种时间复杂度的举例:O(1), O(n), O(logn), O(nlogn), O(), O()O(1):for (int i = 0; i < n; i += n/k+1){ }其中k为常数,其时间复杂度大约是O(k),是O(1)级别的。O(n):for (int i = 0; i < n; i++){ }O():f...原创 2019-05-14 19:23:13 · 93 阅读 · 0 评论 -
[算法提高] 动态规划 0-1背包问题
考虑一般性的0-1背包问题,设背包容量为c,物品数量为n,每件的物品都有自己的重量和价值,每件物品只有两种状态:放入(记为1)、不放入(记为0),试寻找最优解满足放入的物品总重量不超过背包容量的前提下,放入的物品总价值最大。记背包为{},候选物品栏为()。我们依次决定A,B,C,D,E是否要放入。先看A要不要放入。如果对于{}(A,B,C,D,E),无非转化成两种方案:方案1:...原创 2019-04-24 16:02:46 · 481 阅读 · 0 评论 -
[算法提高] DFS 深度优先搜索 数岛屿连通块面积
[问题背景]假设'#'是陆地,'.'是海洋。我们从图中把左、上、右、下四个方向相邻的'#'连起来作为一个连通块,也就是一个“岛屿”,每个岛屿的面积就是'#'的个数。如图:图中有三个连通块,按自左向右再自上而下的顺序,三个连通块的面积依次是4、2、1.输出这些连通块的面积。[测试样例1]##.#.#..#.#...#[输出样例1]4 2 1[测试样...原创 2019-03-18 17:00:34 · 1004 阅读 · 0 评论 -
[算法提高] 动态规划 爬楼梯
[问题背景]来源:LeetCode(力扣)编号:70. 爬楼梯内容:假设你正在爬楼梯。需要n阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定n是一个正整数。示例 1:输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入: 3输出: ...原创 2019-03-17 19:45:32 · 620 阅读 · 1 评论 -
[算法提高] 递归 快速幂
理解递归的想法不难,关键是如何 快速 写出 正确 高效 的递归。函数递归调用的基本形式:Type MyFunction(){ ... MyFunction();}下面以递归实现 快速幂 ,说明一下写递归的一些注意点,这些要点是不是必要的我不知道,我想这需要严格的证明。一般求幂的方法是调用<cmath>中的pow()函数,例如求我们可以用pow(x, ...原创 2019-03-17 19:11:28 · 829 阅读 · 0 评论 -
[算法提高] 计划目录
这只是一个目录,表示我将要学习的内容,一些自己的想法、参考的好的他人博文链接也会写在这个系列中。因为自己也是初学者,所以希望能从一个初学者低起点的角度分析问题,帮到其他初学者。同时我的内容也一定存在不少冗余、错误之处,还请同行、大佬们多多批评指教,谢谢。[算法类型]1.递归[算法提高] 递归 快速幂 - swordtraveller的博客 - CSDN博客 https://blo...原创 2019-03-17 16:54:21 · 125 阅读 · 0 评论 -
[算法提高] 动态规划 买不到的数目
[问题背景]蓝桥杯 历届试题 PREV-8买不到的数目问题描述小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。本题的要求就是在...原创 2019-03-19 20:17:31 · 188 阅读 · 0 评论 -
[算法提高] 贪心算法 翻硬币
[问题背景]蓝桥杯 历届试题 PREV-6 翻硬币小明正在玩一个“翻硬币”的游戏。桌上放着排成一排的若干硬币。我们用 * 表示正面,用 o 表示反面(是小写字母,不是零)。比如,可能情形是:**oo***oooo如果同时翻转左边的两个硬币,则变为:oooo***oooo现在小明的问题是:如果已知了初始状态和要达到的目标状态,每次只能同时翻转相邻的两个硬币,那么对特定的局面,...原创 2019-03-19 18:20:26 · 676 阅读 · 0 评论 -
[Bilibili投稿合集] 机器学习&数据挖掘 动画演示
欢迎通过Bilibili网站了解本人投稿的相关算法动画演示视频~数据挖掘 动画演示 频道:DBSCAN聚类 动画演示https://www.bilibili.com/video/av54693046KMeans聚类原理 动画演示https://www.bilibili.com/video/av54650064机器学习 动画演示 频道:[西瓜书动画演示]半监督学习https...原创 2019-07-31 16:53:45 · 857 阅读 · 0 评论