- 博客(22)
- 收藏
- 关注
原创 算法学习第十七天:LRU缓存与布隆过滤器
LRU缓存:通过双向链表维护访问顺序,哈希表加速查询,适用于需要快速访问且数据量有限的场景。布隆过滤器:利用位数组和多个哈希函数高效判断元素存在性,适用于允许误判的过滤场景。注意事项:LRU需处理并发安全问题;布隆过滤器需根据数据规模调整位数组大小和哈希函数数量以控制误判率。
2025-03-27 13:59:16
792
原创 算法学习第十七天:并查集
给定0(水)和1(陆地)组成的二维网格,计算岛屿数量。需要设计动态扩容机制,或使用哈希表替代数组。其中α为阿克曼函数的反函数,增长极其缓慢。控制树的高度增长,使合并后的树尽可能平衡。每个元素初始时自成集合,父节点指向自己。:N×N矩阵表示朋友关系,求朋友圈数量。可以,但组合使用能达到最优时间复杂度。避免树结构退化成链表,保证查询效率。查找元素的根节点,同时压缩路径。合并两个集合,小树合并到大树。
2025-03-26 08:42:05
518
原创 算法学习第十五天:动态规划
动态规划(Dynamic Programming, DP)是一种通过将复杂问题分解为重叠子问题,并存储子问题解以避免重复计算的优化算法。其本质是递推求解,核心在于定义状态与状态转移方程。dp[i][j]:从底部到第i行第j列的最小路径和。状态定义是动态规划的核心,需明确dp[i]的含义。状态转移方程需通过问题分析得出,常包含条件判断。空间优化:若当前状态仅依赖前几个状态,可压缩数组维度。多练习经典题目,如背包问题、最长子序列等,加深理解。学习建议。
2025-03-24 08:37:22
445
原创 算法学习第十四天:位运算
1.2 二进制表示特性奇偶判断:(0为偶,1为奇)符号判断:(0为正,1为负)取最低位1:2. 常用位操作技巧2.1 基础操作操作代码实现说明判断奇偶结果为0则为偶数取最低位1保留最低位1,其余置0清除最低位1消去最低位1获取第n位右移n位后与12.2 高级技巧3. 经典例题解析3.1 LeetCode 191. 位1的个数问题描述:统计无符号整数的二进制表示中1的个数位运算解法:3.2 LeetCode 231.
2025-03-22 19:38:43
417
原创 算法学习第十三天:字典树
节点结构:每个节点包含子节点数组和结束标志边表示字符:路径上的字符组成字符串根节点特性:根节点不存储字符,作为搜索起点。
2025-03-21 09:21:36
399
原创 算法学习第十二天:二分查找
本质:在有序集合中快速定位元素的搜索算法历史:1946年首次提出,1960年正式发表特点:时间复杂度O(log n),比线性搜索快100倍(百万级数据仅需20次比较)
2025-03-20 07:55:07
312
原创 算法学习第十一天:剪枝
剪枝定义:在搜索算法中通过提前排除无效路径来减少计算量的优化策略核心思想:通过局部判断提前终止不可能得到最优解的分支适用场景:状态空间巨大的搜索问题(如棋类游戏、组合优化)
2025-03-19 09:07:48
1201
原创 Cursor windows遇到机器码无法解决方法
找到 telemetry.macMachineId、telemetry.machineId 和 telemetry.devDeviceId,修改其值(修改后3为即可)。打开 C:\Users\“你的用户名”\AppData\Roaming\Cursor\User\globalStorage\storage.json 文件。1.关闭Cursor:确保Cursor编辑器完全关闭.当使用3次后会出现Cursor锁机器码,修改文件权限,取消只读属性。
2025-03-17 08:26:08
1448
原创 算法学习第九天:贪心算法
局部最优选择:在每一步决策时选择当前最优解无后效性:当前选择不会影响后续决策的独立性最优子结构:问题的最优解包含子问题的最优解。
2025-03-17 07:47:21
336
原创 算法学习第七天:树&二叉树
树是图论中最优雅的数据结构,它用最简单的规则构建出最复杂的可能性。平衡二叉搜索树(AVL/红黑树)可保证最坏情况O(log n)
2025-03-14 09:02:31
580
原创 算法学习第五天:优先队列
推荐练习:实现支持随机访问的优先队列(LeetCode 381)注:斐波那契堆在插入和合并操作上具有理论最优时间复杂度。
2025-03-12 09:11:14
624
原创 算法学习第四天:栈&队列
队列的链表实现时间复杂度全解析详细对比表操作数组栈链表栈数组队列链表队列访问指定元素O(n)O(n)O(n)O(n)插入(push/enq)O(1)*O(1)O(1)*O(1)删除(pop/deq)O(1)O(1)O(n)O(1)空间预分配需要不需要需要不需要经典题目实战1. 括号匹配验证(LeetCode 20)算法深度解析预处理优化:栈操作过程:边界条件处理:2. 用栈实现队列(LeetCo
2025-03-11 09:06:54
890
原创 算法学习第三天:数组&链表
判断链表中是否存在环的三种方法。这三种方法分别是使用快慢指针、使用哈希表和断开链表比较距离。其中,快慢指针的时间复杂度为 O(N),哈希表的时间复杂度也为 O(N),而断开链表的方法时间复杂度为 O(1),但需要额外空间。视频中还提到了代码实现,使用快慢指针的方法来判断链表中是否存在环。
2025-03-08 09:11:51
342
原创 【2024年6月最新】Midjourney国内保姆级订阅教程
Midjourney 是一款备受欢迎的人工智能生成图像工具,它可以通过输入文字描述,自动生成精美的图像。与许多其他图像生成工具不同,Midjourney 不需要安装任何软件,也不受个人电脑性能的限制,因为它运行在云端服务器上。要使用 Midjourney,只需拥有一个 Discord 帐号并加入相应的 Discord 频道即可。
2024-05-30 14:50:17
1869
原创 【24年2月更新】国内银行卡如何购买midjourney订阅? midjourney银行卡支付教程?midjourney银行卡支付方式?
Midjourney 是一款备受欢迎的人工智能生成图像工具,它可以通过输入文字描述,自动生成精美的图像。与许多其他图像生成工具不同,Midjourney 不需要安装任何软件,也不受个人电脑性能的限制,因为它运行在云端服务器上。要使用 Midjourney,只需拥有一个 Discord 帐号并加入相应的 Discord 频道即可。
2024-02-04 18:00:47
1109
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅