随笔 - 41,  文章 - 0,  评论 - 0,  阅读 - 17097
01 2022 档案
常见查找与搜索(二分/DFS/BFS/HashMap)
摘要:**基础知识** 1.二分算法:二分的是问题规模,减少无用范围; a. 二分查找: 对顺序查找的优化, 二分的是区间范围;最终找到的结果是在区间范围内,满足条件的位置(隐藏的含义是,最终找到的可能是最左边/右边的位置,这也是对于代码处理过程要注意的边界条件); 基本过程: min 是头指针; max 阅读全文
posted @ 2022-01-23 23:04 学海一扁舟 阅读(169) 评论(0) 推荐(0) 编辑
经典排序算法(快排/归并)
摘要:**基础知识** 排序算法重要性: 问题系统熵决定了一个问题被解决的难易程度,排序可以有效降低熵值; 排序中有很多算法中都有分治的思想; **代码演示** 1. 一些基本的排序方法及优化(选择,冒泡,插入排序, 堆排序); 注意边界条件,特别是递归中下一次递归的范围没有减少,就会陷入死循环中; 对于 阅读全文
posted @ 2022-01-17 22:57 学海一扁舟 阅读(88) 评论(0) 推荐(0) 编辑
并查集(UnionSet)
摘要:**基础知识** Union-find 是一种抽象化较高的数据结构,主要用来处理联通性问题,联通性自身具有传递性; 参考文章: 并查集(Union-Find)算法介绍 & 应用举例 1 //#include "UnionSet.h" 2 #include <iostream> 3 using nam 阅读全文
posted @ 2022-01-15 23:16 学海一扁舟 阅读(161) 评论(0) 推荐(0) 编辑
堆(heap) & 优先队列(priority_queue)
摘要:**基础知识** 1. 应用 完全二叉树 结构,通过连续数组空间储存( 左子树:2 * n, 右子树 : 2 * n + 1; root = 1) , 实现一个完全二叉树; 要学会 数组(表现形式) 与 完全二叉树 (思维结构)之间的转换! 数据结构:本质就是定义一种性质,并在所有操作中都要维护这种 阅读全文
posted @ 2022-01-03 22:33 学海一扁舟 阅读(177) 评论(0) 推荐(0) 编辑
常见的代码技巧
摘要:1. 双指针法(定长,变长); 滑动窗口:3. 无重复字符的最长子串 1 //滑动窗口 + 二分 2 3 class Solution { 4 public: 5 bool check(int len, string s) { 6 vector<int> cnt(256, 0); 7 int k = 阅读全文
posted @ 2022-01-02 21:35 学海一扁舟 阅读(69) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示