- 博客(81)
- 收藏
- 关注
原创 C++进阶知识10 封装unordered_map和unordered_set
封装unordered_map和unordered_set1. 模拟实现unordered_map和unordered_set1.1 实现出复⽤哈希表的框架,并⽀持insert
2025-03-09 14:16:24
650
原创 C++进阶知识9 哈希表实现
哈希表1. 哈希概念1.1 直接定址法1.2 哈希冲突1.3 负载因⼦1.4 将关键字转为整数1.5 哈希函数1.5.2 乘法散列法1.5.3 全域散列法1.6 处理哈希冲突1.6.1 开放定址法2.完整代码实现
2025-03-08 20:41:22
773
原创 C++进阶知识8 unordered_map和unordered_set
1. unordered_set系列的使⽤1.1 unordered_set类的介绍1.2 unordered_set和set的使⽤差异1.3 unordered_map和map的使⽤差异1.4 unordered_multimap/unordered_multiset1.5 unordered_xxx的哈希相关接⼝
2025-03-08 14:47:52
602
原创 C++进阶知识7 封装map和set
1. 源码及框架分析2. 模拟实现map和set2.1 实现出复⽤红⿊树的框架,并⽀持insert2.2 ⽀持iterator的实现2.3 map⽀持[]2.4 完整实现
2025-03-07 23:59:19
834
原创 C++进阶知识6 红黑树实现
红黑树1.红黑树的概念1.1 红黑树的规则:1.2 思考⼀下,红⿊树如何确保最⻓路径不超过最短路径的2倍的?2. 红⿊树的实现2.1 红⿊树的结构2.2 红⿊树的插⼊2.2.1 红⿊树树插⼊⼀个值的⼤概过程2.2.2 情况1:变⾊2.2.3 情况2:单旋+变⾊2.2.4 情况2:双旋+变⾊2.3 红⿊树的插⼊代码实现2.5 红黑树的验证
2025-03-07 22:20:28
879
原创 快速上手Vim的使用
Linux编辑器-vim使用==命令行模式下所有选项都可以带数字====底行模式====可视块模式(ctrl+V进入)==
2025-02-06 09:43:56
1871
原创 Linux操作系统学习的一些认识
认识1.为什么会有操作系统的诞生2.为什么要开发操作系统?3.理解开源4.理解生态4.1基于Linux内核的操作系统4.2 操作系统的版本是使用越新越好嘛?4.3如何理解软件下载
2025-02-06 09:18:20
714
原创 刷爆leetcode Day18贪心算法
贪心7. 最⻓连续递增序列(easy)8. 买卖股票的最佳时机(easy)9. 买卖股票的最佳时机 Ⅱ(medium)
2024-12-16 13:51:12
172
原创 Linux操作系统1_常见指令以及权限理解
1.Linux下基本指令1. ls 指令 (list)2. pwd命令 (print working directory)3. cd 指令 (change working directory)4. touch指令5.mkdir指令(make directory)(重要):6.rmdir指令 && rm 指令(remove)(重要):7.man指令(重要):7.cp指令(重要)(copy):9 cat10.more指令 (该环境下more指令可以上下翻动)11.less指令
2024-12-13 17:44:48
850
原创 刷爆leetcode Day16 greedy algorithm
leetcode1. 柠檬水找零(easy)2. 将数组和减半的最少操作次数(medium)3. 最⼤数(medium)
2024-12-10 01:13:48
359
原创 刷爆leetcode Day15 DP
DP36. 最长回文子串(medium)37. 回文串分割IV(hard)38. 分割回文串II(hard)39. 最长回文子序列(medium)40. 让字符串成为回文串的最小插入次数(hard)
2024-11-04 19:05:42
333
原创 刷爆leetcode Day14 DFS
DFS6. 计算布尔二叉树的值(medium)7. 求根节点到叶节点数字之和(medium)8. 二叉树剪枝(medium)9. 验证二叉搜索树(medium)10. 二叉搜索树中第k小的元素(medium)
2024-11-01 21:59:30
340
原创 刷爆leetcode Day13 DP
31. 最长定差子序列(medium)32. 最长的斐波那契的长度(medium)33. 最长等差数列(medium)34. 等差数列划分II-子序列(hard)35. 回文子串(medium)
2024-10-30 22:29:04
391
原创 刷爆leetcode Day12 DP
DP26. 环绕字符串中唯一的子字符串(medium)27. 最长递增子序列(medium)28. 摆动序列(medium)29. 最长递增子序列的个数(medium)30. 最长数对链(medium)
2024-10-29 17:49:45
397
原创 刷爆leetcode Day11 DFS
DFS1. 汉诺塔(easy)2. 合并两个有序链表(easy)3. 反转链表(easy)4. 两两交换链表中的节点(medium)5. Pow(x,n)-快速幂(medium)
2024-10-28 22:13:43
198
原创 刷爆leetcode Day10 DP
DP21. 乘积最⼤⼦数组(medium)22. 乘积为正数的最长子数组(medium)23. 等差数列划分(medium)24. 最长湍流子数组(medium)25. 单词拆分(medium)
2024-10-26 19:24:56
335
原创 刷爆leetcode Day9 DP
16. 买卖股票的最佳时期含手续费(medium)17. 买卖股票的最佳时机III(hard)18. 买卖股票的最佳时机IV(hard)19. 最⼤子数组和(medium)20. 环形子数组的最大和(medium)
2024-10-26 00:37:30
334
原创 刷爆leetcode Day8 DP
11. 按摩师(easy)12. 打家劫舍II(medium)13. 删除并获得点数(medium)14. 粉刷房⼦(medium)15. 买卖股票的最佳时机含冷冻期(medium)
2024-10-24 22:25:22
289
1
原创 刷爆leetccode Day7 DP
6. 不同路径II(medium)7. 礼物的最大价值(medium)8. 下降路径最小和(medium)9. 最小路径和(medium)10. 地下城游戏(hard)
2024-10-23 19:28:02
262
原创 刷爆leetccode Day6 DP
1. 第N个泰波那契数(easy)2. 三步问题(easy)3. 使⽤最⼩花费爬楼梯(easy)4. 解码⽅法(medium)5. 不同路径(medium)
2024-10-22 20:48:55
345
原创 刷爆leetccode Day5
21. ⼭峰数组的峰顶(easy)22. 寻找峰值(medium)23. 搜索旋转排序数组中的最小值(medium)24. 0〜n-1中缺失的数字(easy)25. 【模板】⼀维前缀和(easy)
2024-10-22 16:40:47
148
原创 刷爆Leetcode Day4
16. 最小覆盖子串(hard)17. 二分查找(easy)18. 在排序数组中查找元素的第⼀个和最后⼀个位置(medium)19.搜索插入位置(easy)20. x的平方根(easy)
2024-10-21 21:47:51
276
原创 刷爆Leetcode Day3
11.最大连续1的个数III(medium)12. 将x减到0的最小操作数(medium)13. 水果成篮(medium)14. 找到字符串中所有字母异位词(medium)15. 串联所有单词的⼦串(hard)
2024-10-18 04:48:33
412
原创 C++进阶知识5 AVL树实现
1. AVL的概念2. AVL树的实现2.1 AVL树的结构2.2 AVL树的插⼊2.2.1 AVL树插⼊⼀个值的⼤概过程2.2.2 平衡因⼦更新2.3 旋转2.3.1 旋转的原则2.3.2 右单旋2.3.4 左单旋2.3.5 左右双旋3.代码实现
2024-10-02 19:13:20
713
原创 C++进阶知识4 map和set的使用
1. 序列式容器和关联式容器2. set系列的使⽤2.1 set和multiset参考⽂档2.2 set类的介绍2.3 set的构造和迭代器2.4 set的增删查2.5 insert和迭代器遍历使⽤样例:2.7 multiset和set的差异3. map系列的使⽤3.1 map和multimap参考⽂档3.2 map类的介绍3.4 map的构造3.5 map的增删查3.6 map的数据修改3.7 构造遍历及增删查使⽤样例3.8 map的迭代器和[]功能样例:3.9 multi
2024-09-30 19:31:36
766
原创 C++进阶知识3 二叉搜索树
1. ⼆叉搜索树的概念2. ⼆叉搜索树的性能分析3. ⼆叉搜索树的插⼊4. ⼆叉搜索树的查找5. ⼆叉搜索树key和key/value使⽤场景5.1 key搜索场景:5.2 key/value搜索场景:
2024-09-29 21:14:04
778
原创 C++进阶知识2 多态
1. 多态的概念2. 多态的定义及实现2.1 多态的构成条件2.1.2 虚函数2.1.3 虚函数的重写/覆盖2.1.5 虚函数重写的⼀些其他问题2.1.6 override和final关键字2.1.7 重载/重写/隐藏的对⽐3. 多态的原理3.2 多态的原理3.2.1 多态是如何实现的3.2.2 动态绑定与静态绑定3.2.3 虚函数表
2024-09-29 19:25:52
1022
原创 C++进阶知识1继承
1. 继承的概念及定义1.1 继承的概念1.2 继承定义1.2.1 定义格式1.2.2 继承基类成员访问⽅式的变化1.3 继承类模板2. 基类和派⽣类间的转换3. 继承中的作⽤域3.1 隐藏规则:4. 派⽣类的默认成员函数4.1 4个常⻅默认成员函数4.2 实现⼀个不能被继承的类5. 继承与友元6. 继承与静态成员7. 多继承及其菱形继承问题7.1 继承模型7.2 虚继承8. 继承和组合
2024-09-29 16:51:55
813
原创 C++基础知识9 模版进阶
1. 非类型模板参数2. 模板的特化2.1 概念2.2 函数模板特化2.3 类模板特化2.3.1 全特化2.3.2 偏特化2.3.3 类模板特化应用示例3 模板分离编译3.1 什么是分离编译3.2 模板的分离编译3.3 解决方法4. 模板总结
2024-09-29 14:45:48
774
原创 C++基础知识8 stack queue
1.容器适配器2. stack的介绍和使用2.1 stack的介绍2.2 stack的使用2.3 stack的模拟实现3. queue的介绍和使用3.1 queue的介绍3.2 queue的使用3.3 queue的模拟实现4.priority_queue的介绍和使用4.1 priority_queue的介绍4.2 priority_queue的使用4.3 priority_queue的模拟实现
2024-09-17 20:27:32
883
原创 C++基础知识7 list
1. list的介绍及使用1.1 list的介绍1.2 list的使用1.2.1 list的构造1.2.2 list iterator的使用1.2.3 list capacity1.2.4 list element access1.2.5 list modifiers1.2.6 list的迭代器失效2.1 模拟实现list
2024-09-16 19:10:06
1478
原创 C++基础知识6 vector
1.vector的介绍及使用1.1 vector的介绍1.2 vector的使用1.2.1 vector的定义1.2.2 vector iterator 的使用1.2.3 vector 常用的接口1.2.4 vector 空间增长问题1.2.4 vector 迭代器失效问题。(重点)2.vector模拟实现
2024-09-09 20:12:12
976
原创 C++基础知识5 string
1. string类1.1 C语言中的字符串2. 标准库中的string类2.1 string类(了解)2.2 auto和范围for2.3 string类的常用接口说明3. string类对象的访问及遍历操作4. string类对象的修改操作5. string类非成员函数6. vs和g++下string结构的说明7. string类的模拟实现8.写时拷贝(了解)
2024-08-26 20:03:15
747
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人