首页
学习
活动
专区
工具
TVP
发布

C++的沉思

定时发布C++相关的文章,重基础,也要有深度,旨在分享,共同成长!
专栏作者
14
文章
16319
阅读量
18
订阅数
sds数据结构分析-redis源码阅读笔记(1)
sds 定义 typedef char *sds; 数据结构: struct sdshdr {   // buf 中已占用空间的长度   int len;   // buf 中剩余可用
evenleo
2020-11-15
4310
外观模式-分析和C++实现
由于上面外观模式的结构过于抽象,因此把它具体点。假设系统内有三个模块,分别是AModule,BModule和CModule,它们分别有一个示意的方法,那么整体结构如下图所示。
evenleo
2020-10-15
3020
KMP算法分析
KMP 算法是一种改进的字符串匹配算法,KMP 算法是由 D.E.Knuth,J.H.Morris 和 V.R.Pratt 三人提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称 KMP 算法)。KMP 算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个 next() 函数实现,函数本身包含了模式串的局部匹配信息。
evenleo
2020-10-14
5170
LRU缓存淘汰机制C++实现
LRU 是 Least Recently Used 的简写,字面意思是最近最少使用。
evenleo
2020-10-13
7640
基于zmq RPC简单C++实现
需要启动rpc_server,然后启动rpc_client,请求Strcat和add返回结果:
evenleo
2020-09-16
2.8K0
C++实现epoll echo服务器
通常来说,实现处理tcp请求,为一个连接一个线程,在高并发的场景,这种多线程模型与Epoll相比就显得相形见绌了。epoll是linux2.6内核的一个新的系统调用,epoll在设计之初,就是为了替代select, poll线性复杂度的模型,epoll的时间复杂度为O(1), 也就意味着,epoll在高并发场景,随着文件描述符的增长,有良好的可扩展性。
evenleo
2020-09-08
3.1K0
跳表原理及C++实现
二分查找底层依赖的是数组随机访问的特性,所以只能用数组来实现。如果数据存储在链表中,就真的没法用二分查找算法了吗?实际上,只需要对链表稍加改造,就可以支持类似“二分”的查找算法。改造之后的数据结构叫作跳表。
evenleo
2020-08-21
1.2K0
链表常见操作总结及C++实现
给定一个排序链表,删除所有含有重复数字的节点,只保留原始链表中 没有重复出现 的数字
evenleo
2020-08-21
4770
二叉树常见算法总结和C++实现
DFS深度搜索(从上到下)和分治法区别:前者一般将最终结果通过引用参数传入,或者一般递归返回结果最终合并
evenleo
2020-08-21
9480
从位图原理到布隆过滤器的实现
假设一个int占4个字节(32位),40个亿个整数就是160亿个字节,大概相当于16GB,假设一台计算机只有2GB内存,则16GB一次加载不完,需要分8次加载,从磁盘加载数据是磁盘io操作,是非常慢的(比内存中的操作要慢100倍),每次加载这么大的数据,并且要8次,那么查找的时间可以达到分钟甚至小时级别。
evenleo
2020-06-07
8410
C++快速排序原理深究优化
前面写过一篇关于归并和快排的文章《归并快排算法比较及求第K大元素》,但文中实现的快排算法,在某些极端情况下时间复杂度会退化到 O(n2),效率将是无法接受的。本文将会把上述退化问题抛出,并进一步深究优化。本文将会进行代码测试,测试将在阿里云1核2G的服务器中进行。
evenleo
2020-04-12
7020
C++ string实现
作为C++从业者,我相信都会被考察过实现简单的string类,包括构造、析构、拷贝构造以及赋值拷贝等,因为这能够很好的考察面试者的C++基本功。借看《剑指offer》的机会将这个问题重新整理一下。具体实现如下:
evenleo
2020-04-08
1.3K0
归并快排算法比较及求第K大元素
核心思想:将数组从中间分成前后两部分,然后对前后两部分分别进行排序,再将排序好的两个部分有序合并在一起,这样整个数组有序。全文图示来源于王争的《数据结构和算法之美》
evenleo
2020-04-01
8470
C++多线程如何获取真正安全的单例
如果你认为有两种可能,1、2和3、4的话,那说明你是按典型的程序员思维看问题的--没有像编译器和处理器一样处理问题。事实上, 1、4也是一种可能的结果。有两个基本原因造成这一后果:
evenleo
2020-03-30
2.2K0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档