缄默斯
缄默斯
全部文章
算法与数据结构
linux(9)
nodejs(4)
刷题(22)
日记(8)
框架学习(7)
项目(3)
归档
标签
去牛客网
登录
/
注册
缄默斯的博客
学无止境
全部文章
/ 算法与数据结构
(共19篇)
算法:(BFS)迷宫寻路算法
行远必自迩 登高必自卑 来自蓝桥杯oj 解法 这一题属于典型的迷宫搜索类题,刚入手时我也是一脸茫然,但是仔细思考了一晚上,还是勉强的解决了,这道题属于经典的BFS搜索题,解决的核心在于,如何找到迷宫出口,还有如何存储路径 解法1:BFS+路径存储 作为图论中经典的搜索算法之一,BFS算法搜索路径...
2019-03-21
0
805
算法:0-1背包问题
晚安,全世界 今天重温了一下动态规划之中经典问题---------01背包问题--------下面,我就来分析求解01背包问题的整个过程 经典01背包的问题是:有n 个物品,它们有各自的重量和价值,现有给定容量的背包,如何让背包里装入的物品具有最大的价值总和? 注意,这里的物品我们只...
2019-03-19
0
676
算法:最大算式问题
(最大算式) For man is man and master of his fate 第一次看到这个题目,也是无从下手,但是初看一定是用dp动态规划没错,在借鉴了许多优质博客和自己实操之后,我对整个过程也有了自己的理解。 解法 首先我们可以这样子想,我们把前n个数中使用k个乘号来计算出最大...
2019-03-17
0
443
算法:最短路算法
计算最短路的三大算法 常见计算最短路的题型模板:输入n代表结点数,输入m代表边数,接下来m行,每行三个数,分别输入n1,n2,k代表结点n1到结点n2的单向路径长度为k Floyd算法模板 基于动态规划思想,核心在于,为了计算两个结点i,j之间的最短路,需要引入中转结点k进行进一...
2019-03-16
0
416
算法:堆排序
堆排序 最近重温了经典的堆排序的算法,堆是一种优先队列,堆排序是基于完全二叉树结构的,由选择排序优化而来,常数时间内最坏最好情况时间复杂度都是O(nlogn),而堆又分为两种,分别是大顶堆和小顶堆,由于一般排序算法都是实现序列升序化,故堆排序在一般教材里都是以小顶堆形式出现,算法实现步骤分为三步:...
2019-03-14
0
405
算法:图的遍历(bfs+dfs)
图的深度优先遍历 这阵子有关搜索的题见的比较多,所以趁今天脑袋清醒,想来总结一下图遍历算法的实现过程 例子: 城市的遍历 给定城市的数量n,城市编号(1~n),城市之间的连接情况,起点城市编号,遍历所有城市 图是一种经典的数据结构,倘若对图进行搜索,最直接的方法就是使用回溯法,为了...
2019-03-07
0
306
算法:双链表的实现
冬至到了,这几天在复习,对于数据结构,只是重新温故了一下链表的知识,在老朱的帮助下,算是对链表有个大致的了解 双链表的实现 //双链表操作 //需要借助两个标记结点,一个作为头结点,一个作为尾结点 import java.util.ArrayList; import java.util.Li...
2018-12-23
0
312
算法:求二叉树的高度
问题引入(树之高度) 输入描述 对于一个二叉树,输入的第一行表示节点的个数n(1 ≤ n ≤ 1000,节点的编号为0到n-1)组成,下面是n-1行,每行有两个整数,第一个数表示父节点的编号,第二个数表示子节点的编号 输出描述 输出树的高度,为一个整数 测试用例 输入 5 0 1 0 2 1...
2018-12-20
0
430
算法:数字的全排列(递归)
对于数字的全排列问题,相比于使用穷举法来说,通过递归法来解决可以大大减少算法的时间复杂度与空间复杂度,使用递归算法的好处即是:抛给程序一个执行条件,一个约束条件(结束递归过程),程序便可自己完成所有过程。 输入一个数字n,使用递归算法输出1~n所有的排列 /*全排列问题*/ #incl...
2018-08-16
0
953
首页
上一页
1
2
下一页
末页