C++数据结构专栏
文章平均质量分 80
后端开发基础:C++、数据结构
im长街
这个作者很懒,什么都没留下…
展开
-
22.详解C++11
在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为C++11之前的最新C++标准名称。不过由于C++03(TC1)主要是对C++98标准中的漏洞进行修复,语言的核心部分则没有改动,因此人们习惯性的把两个标准合并称为C++98/03标准。从C++0x到C++11,C++标准10年磨一剑,第二个真正意义上的标准珊珊来迟。原创 2023-10-10 19:53:01 · 69 阅读 · 0 评论 -
21.C++ 位图/布隆过滤
一种支持删除的方法:将布隆过滤器中的每个比特位扩展成一个小的计数器,插入元素时给k个计数器(k个哈希函数计算出的哈希地址)加一,删除元素时,给k个计数器减一,通过多占用几倍存储空间的代价来增加删除操作。比如:在布隆过滤器中查找"alibaba"时,假设3个哈希函数计算的哈希值为:1、3、7,刚好和其他元素的比特位重叠,此时布隆过滤器告诉该元素存在,但实该元素是不存在的。布隆过滤器的思想是将一个元素用多个哈希函数映射到一个位图中,因此被映射到的位置的比特位一定为1。通常是用来判断某个数据存不存在的。原创 2023-09-26 15:59:43 · 65 阅读 · 0 评论 -
20.实现unordered_map/unordered_set--哈希
哈希:在C++98中,STL提供了底层为红黑树结构的一系列关联式容器,在查询时效率可达到log2N,即最差情况下需要比较红黑树的高度次,当树中的节点非常多时,查询效率也不理想。原创 2023-09-24 15:08:30 · 68 阅读 · 0 评论 -
19.C++ map/set--红黑树的实现
因为红黑树为二叉搜索树,所以红黑树遵守二叉搜索树的规则。原创 2023-09-16 21:09:32 · 87 阅读 · 0 评论 -
18.C++ AVLTree 的实现
二叉搜索树虽可以缩短查找的效率,但如果数据有序或接近有序二叉搜索树将退化为单支树,查找元素相当于在顺序表中搜索元素,效率低下。原创 2023-09-12 19:21:56 · 54 阅读 · 0 评论 -
17.C++map/set 使用讲解
键值对是什么?键值对是一个能存储两个数据的结构体,数据分为键和值,其中一个数据(键)代表着整体数据(进行运算时只考虑其中一个数据,这个数据就叫做键)为什么有键值对的出现?通常我们需要将两个数据存储到同一容器的某一个空间,这样就能方便通过键直接找到值。例如:我们不用键值对存储,我们就要将两个数据存储到两个容器,遍历一遍找到了一个数据,而又要找这个数据的对应数据时,又必须遍历另一个容器,会大大降低效率T1 first;T2 second;{}{}原创 2023-09-10 13:51:16 · 169 阅读 · 1 评论 -
16.详解C++二叉搜索树
键值对是什么?键值对是一个能存储两个数据的结构体,数据分为键和值,其中一个数据(键)代表着整体数据(进行运算时只考虑其中一个数据,这个数据就叫做键)为什么有键值对的出现?通常我们需要将两个数据存储到。原创 2023-07-28 19:41:10 · 90 阅读 · 1 评论 -
15.详解C++多态
重写:两个函数的参数列表,函数名,返回值必须全部相同派生类的重写虚函数可以不加virtual(建议大家自己写的时候加上)协变:返回的值可以不同,但要求返回值必须是父子关系的指针或引用(不常用)举例1:我们来算下Person和Student的大小:不是我们预期的4和8,为什么呢?在Person对象里有一个虚函数表(指针数组),指向代码段的函数地址注意:派生类对象自己不会单独产生虚函数表,派生类的表是继承基类的。为什么必须是父类的指针或引用,而不是子类的?原创 2023-07-25 22:27:51 · 59 阅读 · 1 评论 -
14.详解C++继承
详解C++继承原创 2023-07-23 21:40:21 · 52 阅读 · 0 评论 -
13.详解C++适配器——stack栈、queue队列、priority_queue优先级队列
详解C++适配器——stack栈、queue队列、priority_queue优先级队列原创 2023-07-21 18:58:40 · 98 阅读 · 1 评论 -
12.详解C++list的使用和实现
详解C++list的使用和实现原创 2023-07-17 18:07:04 · 174 阅读 · 1 评论 -
11.详解C++vector的使用和实现
详解C++vector的使用和实现原创 2023-07-15 22:26:33 · 411 阅读 · 1 评论 -
10.详解C++string的使用和实现
详解C++string的使用和实现原创 2023-07-07 22:46:33 · 137 阅读 · 3 评论 -
9.C++六个默认成员函数详解
C++六个默认成员函数原创 2023-06-27 19:14:18 · 94 阅读 · 1 评论 -
8.详解C++类和对象--this指针
详解C++this指针原创 2023-06-21 13:42:29 · 122 阅读 · 0 评论 -
7.详解c++命名空间
问:为什么会有命名空间的出现?命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染注意。原创 2023-06-18 13:18:34 · 49 阅读 · 1 评论 -
6.详解快速排序--非递归版本
快速排序非递归讲解--gif原创 2023-06-17 21:32:02 · 650 阅读 · 1 评论 -
5.详解快速排序--前后指针法
前后指针法单趟排序详解原创 2023-06-17 16:49:04 · 343 阅读 · 1 评论 -
4.详解快速排序--挖坑法
挖坑法单趟排序详解原创 2023-06-13 22:06:41 · 347 阅读 · 2 评论 -
3.详解快速排序--hoare法
hoare法单趟排序详解原创 2023-06-11 17:24:16 · 175 阅读 · 0 评论 -
2.详解数据结构--堆,二叉树
非常全面的堆与二叉树的讲解原创 2023-06-09 22:11:13 · 156 阅读 · 0 评论 -
1. C/C++ 内存分布/内存分配管理
有关C/C++内存问题原创 2023-05-26 21:41:36 · 155 阅读 · 2 评论