
算法分享总结 && 数据结构详解
文章平均质量分 84
本专栏会讲解算法,系统讲解算法知识,包括搜索、递推(会讲解原理,分析经典比如背包)
码农C风
某985CS,学习沉淀、钻研技术
新技术的诞生总是有原因的,而逐步淘汰的技术也是有合理性的,存在即合理
framework 终究都是工具
展开
-
算法分析实验考试 --- 回溯,贪心,分治限界,dp 【如有疑问,欢迎留言】
算法分析与设计实验exam考察贪心算法,动态规划,深搜广搜,递归分治No.1 二分查找 — noj1001给定一个单调递增的整数序列,问某个整数是否在序列中。输入第一行为一个整数n,表示序列中整数的个数;第二行为n(n不超过10000)个整数;第三行为一个整数m(m不超过50000),表示查询的个数;接下来m行每行一个整数k。输出每个查询的输出占一行,如果k在序列中,输出Yes,否则输出No。输入样例51 3 4 7 113369输出样例YesNoNo之类就将所原创 2021-11-06 22:36:49 · 477 阅读 · 1 评论 -
算法设计与分析----考试总结
算法设计分析内容总结【考试后会对试题进行分析】主要内容:扎实算法设计理论知识,应对算法理论考试,对之前所学做汇总:deciduous_tree:简单描述一下各个算法的思想,简单举例【时间不够,所以就不详细扩展了】总结内容算法的定义和性质算法的表示算法的分析O的定义【函数的渐近紧确界】各算法思想分治算法动态规划回溯算法【深度优先搜索】分支限界法(广度优先搜索)贪心算法各算法思想的比较备忘录算法【记忆化搜索】和普通dp分治法和dpdp和贪心回溯 和分支限界法渐近时间最优子结构判断算法复杂度整体分析算法原创 2021-11-05 22:05:06 · 439 阅读 · 1 评论 -
广搜(bfs)模板太好用了!bfs详细讲解--超详细题目分析(持续更新题目----)【算法分享】
广搜讲解目录广搜回顾广搜题目noj1541八数码问题题目描述:题目要求即样例题目分析题解代码【注解详细】---理解BFSnoj1652 僵尸来了题目描述题目要求及样例题目分析题目代码(注解详细)广搜回顾上一篇博客我已经和大家从整体上分析了广搜bfs,深搜dfs和递归,对于广搜,举了一道例题,就是noj的加一乘二平方,当时借助这个题目就和大家分享了bfs求解的一般模式----取出根节点u,扩展u,当然使用的是while循环这个题目非常简单,没有难度,因为这里的分支都确定好了,就三种分支;并且在每一个结点原创 2021-10-19 09:44:15 · 4433 阅读 · 0 评论 -
dfs,bfs,深搜广搜的基本模式 ,bfs实例----noj1541.加1乘2平方【一文带你了解bfs,dfs】【算法养成】
深搜广搜目录关于普通深搜的优化的理解dfs的一般模式()dfs ---> bfs1541.加1乘2平方关于普通深搜的优化的理解之前分享过深搜的记忆化搜索,所谓记忆化搜索就是将自变量设置为维数,比如采药问题中的lefttime以及pos,就是两个自变量,这里的因变量是value,普通的递归那就会将value也放在递归体中,一般将不变的常量的作用域设置为包含main和dfs方法。所谓记忆化就是将所有的位置的设置为初始值,之后每次得到value后放入,在边界条件或者值不是初始值都会结束dfs,这里的一原创 2021-10-09 14:20:55 · 603 阅读 · 3 评论 -
记忆化搜索--递归优化
你真的懂记忆化搜索吗Hello!我是C风,在Java学习之余,算法也不能落下了,数据结构与算法是编程的灵魂,我之前已经分享过循环赛和八皇后问题;这里我们再来看看这个有趣的题目,题目可能很简单,但是我们仅仅以此当作模板来看学习深搜和记忆化搜索。呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第ii层楼(1<= i <= N)(1≤i≤N)上有一个数字K_i(0 \le K_i \le N)K**i(0≤K**i≤N)。电梯只有四个按钮:开,关,上,下。上下的原创 2021-09-17 15:56:18 · 735 阅读 · 1 评论 -
玩转八皇后问题的正确姿势
Hello,我是C风, 对于初学者或者编程小白来说,八皇后问题就是一个重要的坎,今天我们就详细来看看玩转八皇后的正确姿势,其中夹杂本人的一些理解,如有错误,欢迎批评指正~~分析:八皇后问题首先就是要明确我们不是一次性把所有皇后摆在棋盘上,而是按行来摆放皇后,皇后的摆放就是按照一个层序进行,这就形成了一个递归,因为每个皇后的摆放具有相同的思路。在调试的过程中发现这里的结束语句不只是那个return,return只是代表当前执行函数的结束,也就是只是代表了一层函数的结束,进入主调函数,就是回溯;还有就是非r原创 2021-09-09 14:50:37 · 289 阅读 · 1 评论 -
循环赛问题中的分治思想
Hello!我是C风,专注于算法以及Java的学习,今天给大家分享一个问题:8个同学编号0,1,2,3,4,5,6,7要进行羽毛球单打比赛,每天都将同时举行8场比赛,比赛持续8天,每场比赛两名同学参加,现在要求每名同学都要与其他所有同学都要进行一场比赛,也就是我们生活中的循环赛来选出最佳羽毛球选手,现在问题来了,每天的比赛是同时进行的,也就是每名同学一天只能和一个人打比赛,我们应该如何安排这8名同学的比赛日程以保证比赛的顺利进行呢也就是我们要给这8名同学妥善安排好他们每天的队手,这个问题我们仔细想想原创 2021-09-09 11:24:45 · 618 阅读 · 0 评论 -
P2404 数的拆分中看递归算法
Hello!我是C风,专注与算法以及Java的学习,今天我们就来看一下数的拆分这个题目,并由此来总结一下递归算法。话不多说,我们先来看一下这道题目:题目描述:任何一个大于1的自然数n,总可以拆分成若干个小于n的自然数之和。现在给你一个自然数n,要求你求出n的拆分成一些数字的和。每个拆分后的序列中的数字从小到大排序。然后你需要输出这些序列,其中字典序小的序列需要优先输出。输入格式:输入:待拆分的自然数n。输出格式:输出:若干数的加法式子。输入:7输出:1+1+1+1+1+1原创 2021-09-08 22:21:59 · 278 阅读 · 0 评论