带你手把手实现Huffman压缩 文件压缩是我们日常所用运最广泛的应用了,但是你是否好奇它是如何实现文件压缩,又如何解压。这篇文章将带你撩开文件压缩的神秘面纱,带你实现一个基于huffman编码最简单的文件压缩项目。看到这里有Huffman编码不要怕,Huffman编码其实很简单。...
【C++】浅谈C++中的auto和decltype 目录1. auto1.1 对于auto的一些使用规则2. decltype2.1 decltype返回值类型追踪对于上面的这两种情况我们可以用auto和decltype来解决:运行结果:下面我们来具体介绍auto和decltype 1.对于用auto修饰的变量一定要初始化运行结果:可以看到auto可以自动识别变量的类型2. 注意auto是不可以作为函数的参数和返回值的这是因为用auto修饰的变量必须要初始化,这样才能在编译阶段推断出变量的类型,而函数的参数和返回值在程序运行阶段才能确定,
【C++】C++中的类型转换 标准C++为了加强类型转换的可视性,引入了四种命名的强制类型转换操作符:static_cast、reinterpret_cast、const_cast、dynamic_cast本文将向你详细的介绍他们的用途和使用方式。
【C++】智能指针 引言:对于程序员来说内存泄露是一个非常头痛的问题,一旦代码量大了之后内存泄漏是很难被检测出来的,还有许多十分隐蔽的内存泄漏是我们根本无法考虑到的。例如在释放内存之前的程序就崩溃,像这种隐蔽的错误我们一般根本是发现不了的,这一点我们的STL库怎么会想不到呢?所以STL库给我们提供了多种自动释放资源的智能指针,但是这其中也有许多的坑,本片文章将带你搞定智能指针以及其中的众多坑!!!...
布隆过滤器: 布隆过滤器是由布隆(Burton Howard Bloom)在1970年提出的一种紧凑型的(紧凑型的是指用位图进行实现)、比较巧妙的概率型(概率是指他不是一定准确的这一点我们在下面对其详细介绍中会提到)数据结构,特点是高效地插入和查询,可以用来告诉你 “某样东西一定不存在或者可能存在”,它是用多个哈希函数,将一个数据映射到位图结构中。此种方式不仅可以提升查询效率,也可以节省大量的内存空间。.........
手撕AVL树谁看谁撕。看了之后你到时候撕给面试官看。 目录1.AVL树的概念2.一棵AVL树或者是空树,或者是具有以下性质的二叉搜索树:3.AVL树的节点4.AvL树的插入1. 按照二叉搜索树的方式插入新节点2. 调整节点的平衡因子2.1.右单旋2.2.左单旋2.3. 左右双旋2.4.右左双旋5.AVL树检测:6.AVL树的性能7.最后附上AVL树的全部代码:因为马上期末考试了/(ㄒoㄒ)/,所以只写了AVL树的插入详细解法,但质量绝对保证包看包会,等期末之后更新AVL树的删除操作!!! 好啦看到这里相信AVL树的插入已经是小case了,等期末考试之后必
【C++】之多态最最最详细讲 目录 1.什么是多态? 2.多态的分类 2.1.静态多态(也可以称为:静态绑定||早绑定) 2.2.动态多态(也可以称为:动态绑定||晚绑定) 3.C++中动态多态的实现条件 4.多态的体现 5.什么是重写 测试各种情况下是否构成重写: 大总结一下构成重写的具体需求。 重载,重写,重定义三个概念的区分 6.override关键字: 7.final关键字 final使用需要注意的点: 8.抽象类 8.1.抽象类的意义 8.2.纯虚函数要注意的..