记录常用数据结构,包括快速排序,冒泡排序,插入排序,图,树等数据结构以及剑指offer部分题目
- 二叉树,构树,二叉查找树?什么样的二叉树适合用数组存储
- 堆,为什么说堆排序没有快速排序快?持续堆化的完全二叉树
- 堆的应用,如何查找topk的搜索关键词
- 图,如何存储微博,微信等社交网络好友关系?散列表与链表的存储结构,邻接表
- 图的广度优先遍历与深度优先遍历,广度优先,存储三个关系,深度优先,压栈关系
- Trie🌲,如何实现搜索引擎的搜索关键词提示功能呢?和散列表以及红黑树比较又有什么优缺点?
- 贪心,如何用贪心算法实现哈夫曼编码,讲究贪心策略,我一开始只要最好的,实例,剪绳子问题
- 分治,分而治之,分的策略以及合并的策略,求逆序度
- 回溯,蝴蝶效应,回到原点,8皇后的争锋相对
- 暴力回溯解决杨辉三角最短路径问题,动态规划解决重复问题
- 动态规划,存储的是一个状态或者一个价值
重读cpp Primer,并且将代码实现的过程
- 拷贝构造函数。类值与类指针行为
- 读写流
- iostream与ostream文件读写流
- 关于文件读写
- allocator的使用,一块申请到的内存,怎么去使用
- new与delete,枚举与智能指针的实现
- 基本关联容器map与pair使用
- 容器,顺序容器使用
- 动态内存管理
- 泛型算法结合可调用对象的使用
- 面向对象程序设计public继承
- 运算符重载(没写完呐)
- 私有继承,继承实现
- 完美赋值运算符重载
- 我只是抄一下screen的实现
- 封装数据成员private
- 右值引用,参考四行代码带你理解右值引用
主要收集各大面试题,并且写出了自己的理解。
- 结构体和共同体的区别struct和union
- static和const分别怎么用,类里面的static和const可以同时修饰成员函数吗?
- 指针和引用区别,引用可以用常指针实现吗?
- 什么是智能指针?为什么要用智能指针?如何打破循环引用的问题?实现一个智能指针呗!对于资源管理有什么作用?
- 什么是可调用对象?了解lambda表达式吗?function又是怎么回事?
- 什么是多态,多态有什么用途。(虚函数)
对Cpp Primer的学习笔记以及部分实现。以及研读Effective C++55 items
- 关于深拷贝与浅拷贝,知道多少?
- 虚析构函数的用法--体验一下继承--构造
- 相依于声明式,不相依于定义式,继承关系的is-a
- 强制左侧运算对象是一个左值,面向对象编程
- 标准库部分
- 结构体struct的使用
- 模版编程
- C++primer变量与基本类型&字符串、向量和数组
- C++表达式&语句&函数&类
- IO库与顺序容器
- Cpp范型算法,关联容器以及动态内存
- 面向对象程序设计
- 运算符重载与类型转换
- 拷贝控制,了解cpp默默为你创建的四个函数
- 模版与泛型编程(这篇偷懒,😠,可怕,估计是feed up)
- 杂项
尝试读了一篇博文叫flexbox,了解css
设计模式精讲以及理解
- 工厂模式,抽象工厂模式
- 命令模式-将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化
- 装饰模式-主要靠包装-动态地给一个对象添加一些额外的职责
- 代理模式-找人帮忙打游戏,打着打着给你送金币
- 单例模式-我就是我,不一样的烟火,限量版的我
- 模版方法-我有一套模版,一套有一套
- 设计模式之禅-遵循六大,可以到处溜达
- 创建类型模式-单例、原型、工厂方法、抽象工厂、建造模式
- 结构类型模式-适配器模式、桥梁模式、组合模式、装饰模式、门面模式、享元模式和代理模式
工作的时候用到了js,做了一些笔记,希望以后查询的时候可以用得上
主要参考nodejs深入浅出的书
- Node简介,特点,模块,异步,学习笔记
- 理解Buffer,深入理解buffer缓存机制
- v8内核初识,内存控制
- Node网络编程,引入tcp与http模块
- 玩转进程,node也能新建进程,基于多核CPU
学了一天的python,实现了一下excel的简单读取
参考tcp/ip详解与图解tcp/ip以及刘超老师的课程,尝试网络编程实现
apue巨著,每天读一个小时,理解并深入每个知识点,对进程与多线程多一点了解。
- UNIX标准及实现
- 标准IO库
- 文件和目录
- 系统文件信息亚数据
- 进程环境
- 进程控制fork、wait、exec
- 进程关系(会话,进程组,进程)与守护进程(setsid)
- 信号,进程与线程异步的**
- 线程,就是一个正在运行的函数
- 线程控制,根据线程的属性,pthread_kill
- 高级IO,非阻塞IO,epoll、select、poll通知
- 进程间通信,管道,socket,XSI(System V)
- 终篇-网络通信IPC,socket,协议决定通信
开始学习操作系统的知识,分为进程与线程,内存管理,文件系统,输入输出,死锁。不会看书,只会不断查博客,然后做知识总结。