自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 libc中malloc怎么实现的

libc中malloc怎么实现的参考:内存分配原理以及malloc的实现

2020-12-20 22:49:59 778

原创 图相关算法

图算法1、深度优先遍历void DFS(vector<int> a){ int n = a.size(); vector<int> visit(n); for (int i = 0; i < n; ++i) { if (visit[i] == 0) { //判断是否访问过 DFSVisit(i); } }}void DFSVisit(int u, vector<int>& visit){

2020-12-06 20:47:09 112

原创 开放题目

1、设计一个秒杀系统参考:秒杀系统

2020-11-18 19:26:35 163

转载 C++新特性

1、make_shared与new初始化智能指针优先使用make_shared替代new。参考 考虑下面直接使用new的代码: std::shared_ptr spw(new Widget); 很明显这段代码需要分配内存,但是它实际上要分配两次。第一次:给Widget分配内存,第二次:由于每个std::shared_ptr都指向一个控制块,控制块包含被指向对象的引用计数以及其他东西。这个控制块的内存是在std::shared_ptr的构造函数中分配的。因此直接使用new,需要一块内存分配给Widge

2020-11-16 16:50:39 722

原创 IO多路复用

IO多路复用之epoll和select1、epoll简介:epool是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些被内核IO事件异步唤醒而加入Ready队列的描述符集合就行了。epoll除了提供select/poll那种IO事件的水平触发(Level Triggered)外,还提供了

2020-11-09 22:15:42 105

原创 动态规划

动态规划1、步骤: ①状态定义 ②状态转移方程 ③状态初始化 ④计算最优解2、leetcode中相关题目:  63.股票的最大利润:该题题解  首先进行状态定义:dp[i]表示以 prices[i] 为结尾的子数组的最大利润(以下简称为 前 i 日的最大利润 )。  状态转移方程:前 i 日最大利润 dp[i] 等于前 i - 1日最大利润 dp[i-1]和第 i 日卖出的最大利润中的最大值。  前 i 日最大利润 = max(前 (i-1) 日最大利润, 第 i 日价格 - 前 i 日

2020-11-08 21:14:37 111

原创 堆排序及其应用

堆排序及其应用1、大顶堆和小顶堆堆是具有下列特征的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆;或者每个结点的值都小于都等于其左右孩子结点的值,称为小顶堆。  结点之间的关系:大顶堆:a[n] >= a[2 * n] && a[n] >= a[2 * n + 1];小顶堆:a[n] <= a[2 * n] && a[n] <= a[2 * n + 1]2、堆排序由于堆中结点之间满足的关系,因此可以直接利用数组的下标对其

2020-08-09 16:46:36 846

原创 leetcode树相关题目

leetcode树相关题目## 标题递归加粗样式98.验证二叉搜索树二叉搜索树: 节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。该题目容易出错的地方:忽略了保持最小值和最大值,只比较每个节点和其左子节点、右子节点的关系了。应该每次递归右子树,更新最小值,每次递归左子树更新最大值。正确解法:```cpp class Solution {public: bool isValidBST(TreeNode* root

2020-07-11 17:03:40 162

原创 迪杰斯特拉(Dijkstra)算法

算法图相关的算法迪杰斯特拉(Dijkstra)算法迪杰斯特拉(Dijkstra)算法是典型最短路径算法,用于计算一个节点到其他节点的最短路径。它的主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。...

2019-10-08 19:51:10 218 1

空空如也

空空如也

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

TA关注的人

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