自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 死锁知识点整理

死锁的概念我第一次遇到,是在学习多线程的时候。先前对死锁的理解仅限于了解死锁的大致意思以及了解死锁的四个必要条件,没有怎么深入,确切得说连外表也没看很清楚。现在再来阅读《操作系统—精髓及概念设计》的时候,打算精读一下死锁那一章,然后对死锁的知识点进行整理。

2020-11-18 17:09:52 644

原创 yaml-cpp学习笔记

学习如何写配置系统的时候用到了 yaml-cpp 读写 yaml 配置文件,打算做一点简单的学习笔记记录一下基本用法。

2020-11-11 16:19:41 2250

原创 进程与线程知识整理

计算机操作系统的知识点很多,很多知识点单拿出来就就能整理出好多内容,但这里复习一下两个重要的概念,进程与线程。文中只记录一些基本的概念,复杂的东西我自己也描述不清楚,,因此就不记录了。另外再简单总结一下Linux里的进程线程实现。

2020-11-09 11:53:03 350 1

原创 Linux基本命令记录

记录一下Linux常用的一些命令的用法。

2020-11-18 13:12:12 683

原创 topK问题的几种解法及C++实现

topK问题是经典的算法问题,其大意是从一个序列中找出最小(大)的k个数,面对这个问题最简单的方法当然是先排序后取前k个数,但这样有些浪费时间,比较经典的方法是借助快排和堆排的思想。

2020-10-21 16:53:32 1938

原创 Linux环境下使用MySQL的C API

在Linux下写C或C++程序要使用MySQL数据库,可以调用MySQL的C API,主要就是用几个函数完成数据库初始化、连接、执行SQL语句,比较方便简单。但这东西一直不用也容易忘,所以这里记录一个Linux环境下写的C++程序调用MySQL的C语言API的例程。

2020-09-13 15:35:58 875

原创 Linux正则表达式和文本处理工具(gred、awk、sed)

使用Linux 的 gred、awk、sed 可以方便得处理文本,然而若要灵活使用这三个工具,首先必须理解正则表达式。这里先对正则表达式进行学习,做点记录,之后再练习一下文本处理工具的使用。

2020-09-06 17:45:00 1373

原创 设计模式学习笔记——工厂模式

学习一下设计模式中的工厂模式,自娱自乐写点代码玩玩,顺便复习一下智能指针。由于本人才疏学浅,写的代码可能有问题,同时设计模式比较抽象,只能想办法打比方把它们换成自己熟悉的具体东西来理解,但打比方肯定不可能完全贴切。因此若有问题还请见谅。

2020-09-01 15:07:45 190

原创 链表算法题整理

个人认为链表类算法题有一个普遍的特点,即大多数题目在思路上比较清晰,但在编码上较为繁琐。因此个人认为练习链表题目可以有效锻炼代码能力。这里整理几个经典的链表题目,有空可以回过头看看,常练习。

2020-08-26 15:48:21 435

原创 KMP算法及C++实现

KMP算法由D.E.Knuth,J.H.Morris和V.R.Pratt提出,因此称为KMP算法。KMP算法是一种用于字符串匹配的算法,能够从一个主串中快速找出是否存在需要的模式串。相比于暴力法,KMP算法在时间复杂度上有很大的改善。暴力法在匹配失败时单纯地往前进一格再重新开始匹配,而KMP算法通过先前生成的next数组,在匹配失败利用该数组记录的信息尽量往前跳,避免不必要的匹配,从而节省时间。网络上介绍该算法的优质文章,但我这里还是想自己记一下笔记,写一些自己的理解,班门弄斧,还请谅解。

2020-08-25 17:09:22 1615

原创 《深入理解计算机系统》笔记——虚拟内存

之前对计算机系统中虚拟内存的概念了解很浅,因此阅读一遍《深入理解计算机系统》中虚拟内存那章,系统宏观地了解一下计算机虚拟内存中的各种概念,对这一个概念有一个大致的了解,今后要是有地方不懂,就逐个深入就可以了。

2020-08-23 23:09:03 1846

原创 MySQL基本操作

玩MySQL的时候总是会发现自己遗忘了一些基本的用法,因此打算复习一下MySQL的基本操作,并进行一些简单的记录,比如对数据的查找、插入、删除、修改操作进行复习并记录。这个笔记不记录理论的东西,就记录基本操作方法。

2020-08-16 22:11:02 138

原创 《UNIX环境高级编程》笔记——进程控制

之前系统学习了一下进程间通信,然而又想到进程的相关知识也需要再复习一下,因此阅读《UNIX环境高级编程》进程控制篇章,主要记录UNIX系统进程控制,例如进程创建及终止的方式,并结合之前学习的进程间通信知识写一些简单实例。另外还有像僵尸进程和孤儿进程这样的概念。

2020-08-15 15:56:20 569

原创 约瑟夫环问题

直接看对应的题目:圆圈中最后剩下的数字来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/yuan-quan-zhong-zui-hou-sheng-xia-de-shu-zi-lcof0,1,n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里删除第m个数字。求出这个圆圈里剩下的最后一个数字。例如,0、1、2、3、4这5个数字组成一个圆圈,从数字0开始每次删除第3个数字,则删除的前4个数字依次是2、0、4、1,因此最后剩下的数字是3。示

2020-08-14 17:32:51 279

原创 《UNIX环境高级编程》笔记——进程间通信

之前对进程间通信(InterProcess Communication,IPC)的了解较少,因此阅读《Unix环境高级编程》相关章节,系统学习一下进程间通信,做点记录。

2020-08-10 13:31:47 371

原创 LRU缓存与LFU缓存

面试的时候考了一道LRU缓存机制的题,当时想到在力扣中做过类似的题,然而巧妙的方法早已遗忘。因此用了自己想的拙劣方法,即用vector容器的方法来写代码。面试官听了我的思路后表示这方法时间复杂度高了,自己后面去想O(1)的方法。面试结束后简直泪崩,只怪自己基础不够扎实。写这个博客不仅是复习旧知识,也是警醒自己要注意基础。

2020-08-08 19:33:05 336 2

原创 C++容器适配器

之前做了一个笔试题目可以用到堆,后来重新刷《剑指offer》是时候发现有一题也是要用到堆。做这些题的时候一时半会回忆不出C++标准库提供的priority_queue怎么用,真是说出来不怕大家笑话。然而认识到了问题所在,藏着掖着是不行的,应该亡羊补牢,去弥补改正。所以我打算做一个关于C++容器适配器用法的笔记,如有错误还请指正。

2020-08-04 00:03:46 379

原创 MySQL笔记——事务

MySQL学习过程中事务算是一个重点,这里对事务的相关知识点进行记录。

2020-08-02 22:17:44 309

原创 C++ 动态内存与智能指针

使用C++智能指针可以方便地管理动态内存,本笔记参考《C++ Primer》,简要记录C++智能指针的用法。

2020-07-30 22:23:38 269

原创 C++ 常用泛型算法整理

C++标准库提供了很多好用的泛型算法,这里整理几个我自己爱用的算法,主要参考《C++ Primer》。

2020-07-30 22:01:54 807

原创 C++ lambda表达式

与函数类似,**lambda表达式**也是一种可调用对象,但其可以定义在函数内部。《C++ Primer》中提到一个lambda表达式表示一个可调用的代码单元,可以将其理解为一个未命名的内联函数。本笔记参考《C++ Primer》,主要对C++ lambda表达式的用法进行一个简单的记录。

2020-07-30 22:01:23 229

原创 C++指针与引用浅谈

一直对指针有一种恐惧心理,写程序都不怎么敢用指针,但感觉这样不太行,这东西就算不深入,但还是得知道怎么用才对。由于C++还有个引用,因此也把这家伙一并“谈谈”。水平不够,自然只能浅谈,如有错误,还请见谅。

2020-07-26 23:04:35 247

原创 计算机网络基本概念整理

整理一下计算机网络的一些基本概念,比如像什么是协议,什么是五层协议栈之类的东西,另外还有一些零零散散的东西。主要参考《计算机网络:自顶向下方法》。

2020-07-24 13:15:21 366

原创 数组及字符串题目大杂烩

数组及字符串类型的题目花式很多,涉及到很多技巧,什么双指针、单调栈、分治、二分、动态规划。而且有的题目存在很多变体,比如字符串类题目中的回文串类的题目,看着大同小异,做起来往往容易犯难,因此有必要做个笔记记录一下解题思路。由于套路繁多,因此个人认为用“大杂烩”来代替“整理”作为标题更为贴切。当然,这是一项大工程,慢慢记录当做复习了!希望复习之后能在看到类似题目就映射到对应的技巧进而想到代码实现,哈哈,估计不可能。

2020-07-22 21:45:10 515

原创 关于C++类内存的一些小试验

看了一些关于C++类内存的文章,有了一些粗浅的了解,来做几个小试验检验我自己的认知。

2020-07-19 17:02:40 111

原创 计算机网络网络层知识整理

对计算机网络中网络层的知识进行整理。

2020-07-17 16:27:48 643

原创 HTTP学习笔记

记录一下HTTP的学习笔记。

2020-07-16 20:39:05 195

原创 网络编程函数记录

学习网络编程时候用到好多函数,初识之后有了个印象,然而每次再相遇还是得面向搜索引擎编程,所以打算记录一下。因为自己太菜了,所以有些地方难免表达错误,尽量改进提高。

2020-07-15 20:48:47 172

原创 动态规划(DP)算法题整理

之前在整理 DFS 的题目,突然想到动态规划才真是一道硬菜啊。有时候看着好像要用动态规划,其实就是要用动态规划,但就是想不出题解。因此有必要给动态规划一个笔记以表尊敬!

2020-07-12 22:41:16 1427

原创 图论算法整理(杂)

整理一些有关图论算法的东西,整理得比较随意,而且也是先整理一些,之后想到啥就补充一点改一点,所以在标题上写个杂。这篇笔记纯粹是整理着自己玩,所以代码写得也很随意。

2020-07-11 19:09:37 935

原创 DFS与BFS算法题整理

遇到深度优先搜索(DFS)相关的算法题,逻辑不是那么好想,归根结底还是自己没把这东西吃透,因此打算对相关的自己认为是经典的深度优先搜索LeetCode题目进行总结。同时干脆也把广度优先搜索(BFS)一并复习总结了。因为LeetCode有空就做,所以这个笔记一直在更新中。

2020-07-09 19:53:33 1780

原创 二叉树线索化理论笔记

复习一下二叉树线索化,做做笔记。

2020-07-09 11:30:21 347

原创 C++实现二叉树的各种遍历,包含递归和迭代方法

复习一下二叉树的遍历,把力扣相关的题再做一遍,记录一下各种遍历的C++实现方法。

2020-07-01 20:07:17 1201

原创 Linux多线程编程——线程创建、结束与同步

简单做点Linux多线程编程的记录,包括线程创建和结束,线程同步方法(互斥量、信号量、条件变量)。太理论的东西就不记录了,直接看书好一些。

2020-06-30 19:16:17 266

原创 排序算法概念梳理及C++实现

对排序算法进行一个简单的整理。整理包括插入排序、冒泡排序、选择排序、希尔排序、堆排序、归并排序、快速排序和桶排序。

2020-06-05 12:35:23 296

原创 计算机网络运输层知识整理

对因特网的运输层知识点进行一个简单的记录整理,主要参考《计算机网络:自顶向下方法》。

2020-05-21 13:42:05 1202

原创 数据结构知识整理——树

这里打算整理一下数据结构中有关“树”的基本知识点,尽量做到全面,当然不可能完全做到啦,因此以后发现缺漏会进行补充。这里主要参考了《数据结构与算法分析(C语言描述)》这本书,这篇文章也算是对书中相应知识点的一个整理及补充。文章目录基本概念二叉树二叉查找树AVL数伸展树B树二级目录三级目录基本概念二叉树二叉查找树AVL数伸展树B树二级目录三级目录...

2020-05-18 20:13:24 436

原创 概念辨析——指向常量的指针与常量指针,指针数组与数组指针

多年前学 C 时经常混淆如数组指针及指针数组这一类名词的概念,在编程的时候遇到麻烦,前些日子阅读《C++ Primer》时再一次回忆起这一问题,因此打算做个笔记记录一下。在网上搜索这类概念时也发现网上的文章说法不一,当然大多数只是在名称混淆,在对具体声明的含义进行分析时还是能分析准确的。本笔记也不深究名称的正确性,主要还是辨析具体含义。

2020-05-12 11:52:15 341

空空如也

空空如也

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

TA关注的人

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