算法笔记
文章平均质量分 88
该专栏专门记录自己刷题过程中遇到难点时,专门整理的一些算法思路。
吞吞吐吐大魔王
这个作者很懒,什么都没留下…
展开
-
【算法笔记】图结构及图的 DFS 和 BFS 介绍
前言: 该篇文章将介绍如何应付面试中的图结构,并且还简单介绍了图的宽度优先遍历和深度优先遍历文章目录1. 图的基本介绍2. 图的实现3. 图的宽度优先遍历(BFS)4. 图的深度优先遍历(DFS)1. 图的基本介绍基本概念:图由点的集合和边的集合构成虽然存在有向图和无向图的概念,但实际上都可以用有向图来表达边上可能带有权值图的结构:邻接表法邻接矩阵法还有其它众多的方式如何搞定图的面试题: 图的算法都不难,但是写代码时会很复杂,coding 代价比较高,因此可以通过以下的方式来应原创 2022-03-02 23:32:12 · 919 阅读 · 10 评论 -
【算法笔记】并查集你了解吗?
前言: 最近发现了一个很有趣的算法,那就是并查集,如果你不了解什么是并查集的话,我希望你能看看下面的文章,因为它真的是一个十分有趣且有用的算法结构!文章目录1. 并查集基本介绍2. 并查集的实现(模板)3. 题目题一:有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。省份是一组直接或间接相连的城市,组内不含其他没有相连的城市。给你一个 n x n 的矩阵 isConnected ,其中 isConne原创 2022-03-01 16:39:57 · 676 阅读 · 15 评论 -
【算法笔记】异或运算的奇妙之处
前言: 本章主要是针对异或运算相关问题总结的几个小题目,掌握了它们,在写一些算法题时或许有意想不到的惊喜!文章目录1. 基础介绍2. 题目题一:如何不用额外变量交换两个数 a 和 b题二:一个数组中有一种数出现了奇数次,其它数都出现了偶数次,怎么找到并打印这种数题三:怎么把一个 int 类型的数 a,提取出只保留其二进制中最右侧为1位置,其余位值都修改为0时的值(如 1110 -> 0010)题四:一个数组中有两种数 a 和 b 出现了奇数次,其它数都出现了偶数次,怎么找到并打印这两种数题五:一个数原创 2022-02-27 00:53:04 · 707 阅读 · 4 评论 -
【算法笔记】贪心算法
前言: 对于贪心算法的学习主要以增加阅历和经验为主,也就是多做多积累经验,以下通过几个题目来介绍贪心算法的乐趣!文章目录1. 贪心算法基本介绍2. 题目题一:给定一个由字符串组成的数组 strs,必须把所有的字符串拼接起来,返回所有可能的拼接结果中,字典序最小的结果题二:一些项目要占用一个会议室宣讲,会议室不能同时容纳两个项目的宣讲。给你每一个项目的开始时间和结束时间,你来安排宣讲的日程,要求会议室进行的宣讲的场次最多。返回最多的宣讲场次题三:一块金条切成两半,是需要花费和长度数值一样的铜板的。比如长度为原创 2022-02-27 18:25:21 · 6755 阅读 · 29 评论 -
【算法笔记】BF 和 KMP 算法
文章目录1. BF 算法1.1 介绍1.2 模拟过程(思想)1.3 示例代码1.4 时间复杂度2. KMP 算法2.1 介绍2.2 模拟过程(思想)2.2.1 整体思路2.2.2 主串的索引不回退2.2.3 子串的索引回退的位置2.2.4 next 数组的实现方法2.2.5 next 数组的优化2.3 示例代码2.4 时间复杂度1. BF 算法1.1 介绍BF 算法,即暴力算法,是普通的模式匹配算法。BF 算法的思想就是将主串 S 的第一个字符与子串 T 的第一个字符进行匹配。若相等,则继续比较 S原创 2021-12-23 11:15:00 · 1908 阅读 · 37 评论