自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 csapp 实验-> datalab(超详细)

该实验是《深入理解计算机系统》(英文缩写CSAPP)课程附带实验——Lab1:Data Lab,对应书中第二章内容(信息的表示和处理),是所有实验中的第一个实验

2024-05-12 19:32:33 3091 2

原创 一名合格的程序猿修炼手册(保姆级指导)

Github有个「」的仓库。💻我看了下清华大学的计算机系课程表,我这里简单,其实还有很多文化课、图形学、数字电路、高数等等。大一:C/C++语言;大二:Java语言、数据结构、汇编语言;大三:计算机组成、计算机网络、、操作系统、数据库系统接下来,我就跟大家分享下,这里推荐下我当初自学的书籍和视频。:《》->《》->《数据结构与算法之美》 -> 《剑指offer》 -> LeetCode刷题(至少刷到200多道):《操作系统导论》->《现代操作系统》:《图解HTTP》->《图解TCP/IP》->

2024-04-27 16:12:20 1246

原创 利用DP和BFS两种方法解决「完全平方数」问题笔记

dp[i] 表示 和为 i 的完全平方数最少个数。

2025-08-14 17:21:31 547

原创 面试讲一下:进程 线程 协程

进程操作系统资源分配的最小单位(独立内存、文件描述符)。线程操作系统调度的最小单位(共享进程资源)。协程用户态调度的最小单位(协作式、轻量级、无内核切换)。

2025-08-09 16:40:21 538

原创 std::map::operator[] 实现与行为笔记(面试高频)

std::map::operator[] 通过 insert 而非 find 实现,核心原因是必须保证永远返回有效引用。当 key 不存在时,find 返回 end() 无法绑定引用,而 insert 无论成功与否都会返回有效迭代器(不存在时插入默认值并返回新引用,存在时直接返回旧引用)。这种"先插入后返回"机制确保了操作的一致性和安全性,体现了"find可能空手而归,insert永远有货可拿"的设计哲学。面试时可强调该实现保证了引用绑定的确定性。

2025-07-28 11:37:10 317

原创 线程池与生产者-消费者模型详解

线程池是一种多线程处理形式,预先创建一组线程,等待分配任务执行。

2025-04-13 18:40:41 317

原创 【生产者-消费者模型详解】

高效利用内存,避免频繁内存分配。:通过取模运算实现环形访问。

2025-04-13 18:29:13 435

原创 常见排序方法图文解析(保姆级)

希尔排序是对直接插入排序的优化。当gap > 1时都是预排序,目的是让数组更接近于有序。当gap == 1时,数组已经接近有序的了,这样就会很快。这样整体而言,可以达到优化的效果。我们实现后可以进行性能测试的对比。希尔排序的时间复杂度不好计算,因为gap的取值方法很多,导致很难去计算,因此在好些树中给出的希尔排序的时间复杂度都不固定。

2024-09-15 16:34:20 1446

原创 坚持每天一道力扣题_排序数组

【代码】坚持每天一道力扣提_排序数组。

2024-09-01 16:56:21 303

原创 二叉树功能实现(超详细)

输入一个字符,动态分配内存给新的节点,初始化该节点的值和左右子节点指针。通过节点值查找树中对应的节点,如果找到了就返回该节点的指针。遍历顺序为:根 → 左子树 → 右子树,打印每个节点的值。遍历顺序为:左子树 → 根 → 右子树,打印每个节点的值。遍历顺序为:左子树 → 右子树 → 根,打印每个节点的值。采用队列实现的层序遍历(广度优先),按层打印每个节点的值。计算并返回树的深度(从根节点到叶子节点的最长路径)。计算并返回树的叶子节点数量(没有子节点的节点)。_right:指向右子节点的指针。

2024-08-31 18:25:32 702

原创 坚持每天一道力扣题_二叉树的前序遍历

【代码】坚持每天一道力扣题—_二叉树的前序遍历。

2024-08-30 14:18:32 261 1

原创 坚持每天一道力扣题_利用堆找出最小k个数

用一个大根堆实时维护数组的前 k 小值。首先将前 k 个数插入大根堆中,随后从第 k+1 个数开始遍历,如果当前遍历到的数比大根堆的堆顶的数要小,就把堆顶的数弹出,再插入当前遍历到的数。最后将大根堆里的数存入数组返回即可。

2024-08-29 14:12:18 480

原创 坚持每天一道力扣题_分割链表

为了实现上述思路,我们设 smallHead 和 largeHead 分别为两个链表的哑节点,即它们的 next 指针指向链表的头节点,这样做的目的是为了更方便地处理头节点为空的边界条件。遍历结束后,我们将 large 的 next 指针置空,这是因为当前节点复用的是原链表的节点,而其 next 指针可能指向一个小于 x 的节点,我们需要切断这个引用。同时将 small 的 next 指针指向 largeHead 的 next 指针指向的节点,即真正意义上的 large 链表的头节点。

2024-08-28 20:19:52 285

原创 坚持每天一道力扣题_反转链表

【代码】坚持每天一道力扣题_反转链表。

2024-08-27 23:54:24 202

原创 坚持每天一道力扣题_删除有序数组重复项

由于给定的数组 nums 是有序的,因此对于任意 i<j,如果 nums[i]=nums[j],则对任意 i≤k≤j,必有 nums[i]=nums[k]=nums[j],即相等的元素在数组中的下标一定是连续的。nums[fast−1],说明 nums[fast] 和之前的元素都不同,因此将 nums[fast] 的值复制到 nums[slow],然后将 slow 的值加 1,即指向下一个位置。将快指针 fast 依次遍历从 1 到 n−1 的每个位置,对于每个位置,如果 nums[fast]

2024-08-26 23:57:37 270

原创 坚持每天一道力扣题_有效的括号

【代码】坚持每天一道力扣题_有效的括号。

2024-08-24 23:36:34 146

原创 每天一道力扣题_移除元素

【代码】每天一道力扣题_移除元素。

2024-08-22 23:57:28 127

原创 坚持每天一道力扣题_环形链表

把相遇点的next创建为新链表newlist。再利用所学的链表相交找到相交点。利用环形链表,找到相遇点。再把相遇点的next置空。(实现复杂,证明简单)

2024-08-21 23:07:55 355

原创 坚持每天一道力扣题_复杂链表的复制

的拼接链表,如此便可在访问原节点的。指向节点的同时找到新对应新节点的。

2024-08-19 01:28:50 372 1

原创 C语言编程题练习(从初识到入门再到进阶)

C语言编程题练习 ->(从初识到入门再到进阶)

2024-05-18 20:53:08 1278

一名合格的程序猿修炼手册.md

一名合格的程序猿修炼手册.

2024-04-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除