首页
首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
算法
Rockivy
创建于2024-05-24
订阅专栏
解锁编程之门:算法专栏带你探索编程世界的奥秘
暂无订阅
共42篇文章
创建于2024-05-24
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
"迷宫探索者:BFS算法在迷宫问题求解中的策略与实现"
走迷宫 给定一个 n×m 的二维整数数组,用来表示一个迷宫,数组中只包含 0或 1,其中 0表示可以走的路,1表示不可通过的墙壁。 最初,有一个人位于左上角 (1,1) 处,已知该人每次可以向上、下、
"探索迷宫:BFS算法在八数码问题中的应用与解析"
八数码 在一个 3×3的网格中,1∼8这 8个数字和一个 x 恰好不重不漏地分布在这 3×3 的网格中。 例如: 在游戏过程中,可以把 x 与其上、下、左、右四个方向之一的数字交换(如果存在)。 我们
"二分图匹配策略:匈牙利算法详解与应用实践"
二分图的最大匹配 给定一个二分图,其中左半部包含 𝑛1 个点(编号 1∼𝑛1),右半部包含𝑛2 个点(编号1∼𝑛2),二分图共包含 𝑚 条边。 数据保证任意一条边的两个端点都不可能在同一部分中。 请你
染色法判定二分图
染色法判定二分图 给定一个 n𝑛 个点 m𝑚 条边的无向图,图中可能存在重边和自环。 请你判断这个图是否是二分图。 输入格式 第一行包含两个整数 n𝑛 和 m𝑚。 接下来 m𝑚 行,每行包含两个整数
Kruskal算法求最小生成树
Kruskal算法求最小生成树 给定一个 n 个点 m 条边的无向图,图中可能存在重边和自环,边权可能为负数。 求最小生成树的树边权重之和,如果最小生成树不存在则输出 impossible。 给定一张
"Prim算法精讲:构建最小生成树的策略与实现"
Prim算法求最小生成树:图解+详细代码注释(带上了保存路径) 题目 Prim算法求最小生成树 给定一个 n𝑛 个点 m𝑚 条边的无向图,图中可能存在重边和自环,边权可能为负数。 求最小生成树的树边权
字符串哈希:原理、应用与碰撞解决策
题目 给定一个长度为 n的字符串,再给定 m个询问,每个询问包含四个整数 l1,r1,l2,r2,请你判断 [l1,r1]和 [l2,r2] 这两个区间所包含的字符串子串是否完全相同。 字符串中只包含
数据结构高级应用:哈希表在模拟散列表中的实现与优化
哈希表 unordered_set 运行时间:149 ms unordered_map 运行时间:189 ms gp_hash_table(G++ 编译器特有) 运行时间:116 ms 平衡树(默认红
高效数据排序技术:堆排序算法详解与应用
堆排序概念补充 堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序, 它的最坏、最好、平均时间复杂度均为 O(nlogn), 它也是不稳定排序。 堆是具有以下性质的完全二叉树:每个结
应用并查集算法求解图的连通块中点的数量及其在模拟食物链场景中的应用
连通块中点的数量 思路 关于合并集合方面的思想,请参考上一篇文章 http://t.csdnimg.cn/Ytcdj 因为与合并集合题目中唯一不同的是,多了记录合并集合中连通块的个数 通过size数组
并查集基础与实践:合并集合的完整指南
什么是并查集? 逐字拆解一下,并、查、集。这个三个字,其中前面两个字都是动词,第三个字是个名词。 先看名词,因为只有知道了这个东西是什么,才能去理解它能干什么。 集就是集合,中学时期就学过这个东西,集
深入详解Trie树:高效字符串检索结构
Trie树图文详解 题目(Trie字符串统计) Trie 树是一种多叉树的结构,每个节点保存一个字符,一条路径表示一个字符串。 下图表示了字符串: him 、 her 、 cat 、 no 、 nov
KMP算法详解:优化字符串搜索的秘诀
字符串查找---用16幅图从暴力一步步优化到KMP 题目 先来解释一下字符串查找的含义。 字符串查找:有一个长的字符串S,和一个短的字符串P,如果短的字符串P在长的字符串S中出现过,输出第一次出现的位
使用单调队列实现高效滑动窗口算法
单调队列-滑动窗口 题目 题目中提到了滑动窗口,我们先以示例为例看下什么是滑动窗口?在示例中,我们从数组中第一个元素开始遍历,由于窗口的大小是3,因此当遍历到第三个元素时,窗口就形成了。 {:cent
单调栈模拟队列的原理与实践
模拟队列 什么是队列? 就是一个特殊的数组。这个数组,最前面叫队头,最后面叫队尾。只允许在最后面添加元素,只允许在最前面删除元素。 题目 解题思路: 用一个数组 q 保存数据。 用 hh 代表队头,q
高效算法揭秘:位运算、离散化与区间合并
位运算 二进制中1的个数 主要是介绍lowbit 运算 什么是lowbit? lowbit运算是指获取一个二进制数中最右边的1所对应的数值。 具体来说,lowbit运算可以通过对一个数取反然后加1,再
栈的模拟与应用:实现表达式求值算法
模拟栈 数组模拟栈: 题目 用top表示栈顶所在的索引。初始时,top = -1。表示没有元素。 push x :栈顶所在索引往后移动一格,然后放入x。st[++top] = x。 pop : top
从入门到精通:双指针算法的逐步掌握
双指针—实例一次搞懂 使用双指针是降低算法复杂度的一个有效途径,有些问题的暴力解法时间复杂度是O(n^2),但使用双指针可以大幅度降低算法复杂度。如果面试者能将求解过程从暴力法优化到双指针,说明面试者
十大排序算法解析与比较:快速排序与归并排序的优势
总结十大排序算法,并对算法领域使用较多的快速排序和归并排序作详细介绍和分析 排序算法的分类: 1插入:插入,折半插入,希尔 2交换:冒泡,快速 3选择:简单选择,堆 4归并:归并(不只二路归并) 5基
深入理解前缀和与差分:算法实战与应用
前缀和 什么是前缀和? 数列的和时,Sn = a1+a2+a3+…an; Sn就是数列的前 n 项和。 前缀和就是新建一个数组,新建数组中保存原数组前 n 项的和。 前缀和有什么用? 快速求某个区间中
下一页