RegularNotes
记录cpp知识点,面试题,网络编程,多线程编程
Install / Use
/learn @mrchuanxu/RegularNotesREADME
RegularNotes 🔥
C➕➕
✨✨👀最近在研究golang了,已经转到go_learning,喜欢基础文章的的小伙伴可以跟我多提issue跟我交流,有空就会更新。<br>
数据结构与算法
记录常用数据结构,包括快速排序,冒泡排序,插入排序,图,树等数据结构以及剑指offer部分题目<br>
线性表结构
- 栈的实现,顺序栈,支持动态扩容(模版实现)<br>
- 队列实现,循环队列的实现,动态扩容的支持(模版实现)<br>
- 单链表,头插法与尾插法,链表反转,增删查改,检测回文字符,快慢指针获取链表中间节点<br>
经典排序
- 冒泡排序与插入排序,同样是O(n^2),我选择插入<br>
- 归并与快速查询O(nlogn)如何在O(n)找到第k大元素?<br>
- 线性排序,计数排序,桶排序,对数据的要求更加严格,寻找最大值K<br>
查找
非线性结构
- 二叉树,构树,二叉查找树?什么样的二叉树适合用数组存储<br>
- 堆,为什么说堆排序没有快速排序快?持续堆化的完全二叉树<br>
- 堆的应用,如何查找topk的搜索关键词<br>
- 图,如何存储微博,微信等社交网络好友关系?散列表与链表的存储结构,邻接表
- 图的广度优先遍历与深度优先遍历,广度优先,存储三个关系,深度优先,压栈关系
- Trie🌲,如何实现搜索引擎的搜索关键词提示功能呢?和散列表以及红黑树比较又有什么优缺点?
字符串匹配 凹凸
算法思想
- 贪心,如何用贪心算法实现哈夫曼编码,讲究贪心策略,我一开始只要最好的,实例,剪绳子问题
- 分治,分而治之,分的策略以及合并的策略,求逆序度
- 回溯,蝴蝶效应,回到原点,8皇后的争锋相对
- 暴力回溯解决杨辉三角最短路径问题,动态规划解决重复问题
- 动态规划,存储的是一个状态或者一个价值
动态规划,每日一练
高级算法篇
- 拓扑排序,通过局部的依赖关系,推导全局有序
- 广度优先搜索,权值加入,让优先队列以及小顶堆完成地图最短路径
- BitMap,让思维转换到二进制,0,1判断可去重,布隆过滤器实现多个哈希判断
- B+树的存在,数据库索引查找,提高查找效率,降低内存空间
- A*启发式搜索🔍,欧几里得公式与最短路径启发寻路,曼哈顿解决求平方根问题
算法高级篇 并发处理算法
思想:先正确再优化!
leetcode刷一刷
- twoSum提供两种解法,分别是时间换空间与空间换时间
- addTwoNumbers其实这个有个类比的string写法,有机会要将这个整个写法重新修改,但是确实是用时最少
- reverseInt其实就是分析是否溢出,通过余数分析与整数得到的结果分析
- 判断回文整数,最简单的做法,求余最快
- rommantoInt,倒过来就好了
- longestCommonPrefix计数
- mergeTwoSortList眼界真的要开阔一点,递归的做法之前一直用循环做,傻不傻
- Subtree of Another Tree 不行就左,不行就右,递归是一个好解法
- symetric树的对称,分两个树
- Binary_preorder_traversal前序遍历循坏,仿栈
- Binary_inorder_traversal好吧,受到了前序遍历的干扰,其实就是遍历完左边,然后再看右边
- ValidParenthess判断有效,map先构造,而后再实现栈匹配
- RemoveDuplicate去重,快慢指针做,做完就数据搬移
- MergeTwoSortedArray其实就是归并的设计,只不过最后将申请的空间都浓缩到nums1中,尝试直接在最后赋值,关键就是边界条件
- Maxi_SubArray最长最大的数组子串,一个一个加,两个Sum比对
- BinaryTreeTravel两个队列实现遍历
- Binary_zigzag_travel两个栈实现之字形遍历
- longestSubstring尝试获取i到j的最大长度,用哈希的思维计算
- sqrt(x)求平方,牛顿迭代公式,求K值斜率求得result
- 二分查找从一个有序数组构建一颗平衡二叉树,中序遍历的思想
- 插入排序的思想,超级简单searchInsertPosition
- 进行add-binary,只是排除一下情况,然后加个flag
- 很巧妙的后序遍历以及计算两个子树的深度差大于1,这个要多看!
剑指offer 📃✅
基础知识
Cpp程序设计知识点集合
重读cpp Primer,并且将代码实现的过程
- 拷贝构造函数。类值与类指针行为<br>
- 读写流<br>
- iostream与ostream文件读写流<br>
- 关于文件读写
- allocator的使用,一块申请到的内存,怎么去使用
- new与delete,枚举与智能指针的实现
- 基本关联容器map与pair使用
- 容器,顺序容器使用
- 动态内存管理
- 泛型算法结合可调用对象的使用
- 面向对象程序设计public继承
- 运算符重载(没写完呐)
- 私有继承,继承实现
- 完美赋值运算符重载
- 我只是抄一下screen的实现
- 封装数据成员private
- 右值引用,参考四行代码带你理解右值引用
- 发现好文const还有续命内存机制-(int *const&p=&a)
Cpp面试题精讲㊙️
主要收集各大面试题,并且写出了自己的理解。
- 结构体和共同体的区别struct和union
- static和const分别怎么用,类里面的static和const可以同时修饰成员函数吗?
- 指针和引用区别,引用可以用常指针实现吗?
- 什么是智能指针?为什么要用智能指针?如何打破循环引用的问题?实现一个智能指针呗!对于资源管理有什么作用?
- 什么是可调用对象?了解lambda表达式吗?function又是怎么回事?
- 什么是多态,多态有什么用途。(虚函数)
- 水文-C调用C++
- C++面试考点陈列
- C++面试题杂谈,字节对齐-vector-list-allocator-红黑树
- C++面试题杂谈,红黑树与B树,声明与定义,malloc匹配与一致性哈希
- C++面试题杂谈,TCP,慢启动,流量控制,301与302,poll与epoll
Cpp Primer与TCPL部分
对Cpp Primer的学习笔记以及部分实现。以及研读Effective C++55 items
- 关于深拷贝与浅拷贝,知道多少?
- 虚析构函数的用法--体验一下继承--构造
- 相依于声明式,不相依于定义式,继承关系的is-a
- 强制左侧运算对象是一个左值,面向对象编程
- 标准库部分
- 结构体struct的使用
- 模版编程
- C++primer变量与基本类型&字符串、向量和数组
- C++表达式&语句&函数&类
- IO库与顺序容器
- Cpp范型算法,关联容器以及动态内存
- 面向对象程序设计
- 运算符重载与类型转换
- 拷贝控制,了解cpp默默为你创建的四个函数
- 模版与泛型编程(这篇偷懒,😠,可怕,估计是feed up)
- 杂项
CSS
尝试读了一篇博文叫flexbox,了解css
设计模式与部分实现CPP
设计模式精讲以及理解
- 工厂模式,抽象工厂模式
- 命令模式-将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化
- 装饰模式-主要靠包装-动态地给一个对象添加一些额外的职责
- 代理模式-找人帮忙打游戏,打着打着给你送金币
- 单例模式-我就是我,不一样的烟火,限量版的我
- 模版方法-我有一套模版,一套有一套
- 设计模式之禅-遵循六大,可以到处溜达
- 创建类型模式-单例、原型、工厂方法、抽象工厂、建造模式
- 结构类型模式-适配器模式、桥梁模式、组合模式、装饰模式、门面模式、享元模式和代理模式
JavaScript 学习笔记与部分实现
工作的时候用到了js,做了一些笔记,希望以后查询的时候可以用得上
Nodejs 深入浅出笔记
主要参考nodejs深入浅出的书
- Node简介,特点,模块,异步,学习笔记
- 理解Buffer,深入理解buffer缓存机制
- v8内核初识,内存控制
- Node网络编程,引入tcp与http模块
- 玩转进程,node也能新建进程,基于多核CPU
Python 工作笔记
学了一天的python,实现了一下excel的简单读取
TCP/IP协议簇 ⛓️
参考tcp/ip详解与图解tcp/ip以及刘超老师的课程,尝试网络编程实现
- mac层与链路层以及ip网际层,网络上跑的包都是完整的,不能有上层没下层,可以有下层没上层
- TCP与UDP区别详述,以及网络编程部分
- HTTP状态码与首部字段解读,应用层的世界,从来都不简单
- HTTP缓存机制,渣男需要被负责
- HTTP2.0我受够了等待
- HTTPS-为了安全🔐,我愿意带上套
- Google-QUIC官宣HTTP/3.0-QUIC协议"城会玩" UDP也是我的主场
- DNS->HTTPDNS,网络的负载均衡手段
- CDN,京东建仓策略,就近配送
unix 环境高级编程 APUE巨著 😱
apue巨著,每天读一个小时,理解并深入每个知识点,对进程与多线程多一点了解。
Related Skills
node-connect
343.3kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
92.1kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.3kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.3kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
