08 2023 档案
摘要:**AVL树** >AVL树也叫平衡二叉搜索树,通过旋转解决了搜索二叉树的不确定性,让整颗树趋近于一颗满二叉树。 > >**1.左右都是一颗AVL树** > >**2.平衡因子的绝对值不会超过1**  ```c++ class Solution { public: struct cmp {
阅读全文
摘要:> 媳妇第一  # [606. 根据二叉树创建字符串 - 力扣(LeetCode)](https://leetco
阅读全文
摘要: >最典型的一个场景,自动翻译软件,输入中文,输出对应的英文,输入英文,输出对应的中文。 > >可以用一颗搜索二叉
阅读全文
摘要:**在STL源码当中,如何使用一颗红黑树同时实现map和set的?** 直接去看stl源码  >`__rb_tree
阅读全文
摘要:**封装map和set** # map.h文件 ```c++ #pragma once #include"RBTree.h" namespace mudan { template class map { public: struct MapKeyOfT { const K& operator()(c
阅读全文
摘要:**初识哈希**  >哈希表是一种查找效率及其高的算法,最理想的情况下查询的时间复杂度为O(1)。 > >`uno
阅读全文
摘要:# 位图 >**给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一个数是否在这40亿个数** > >**中。【腾讯】** > >1. 遍历,时间复杂度O(N) >2. 排序(O(NlogN)),利用二分查找: logN 申请512M的内存 一个bit位代表一个unsigned
阅读全文
摘要: # bind包装器 >调用bind的一般形式:**auto newCallable = bind(callab
阅读全文
摘要: # function包装器的使用 >`function`包装器的使用格式 > >**`function`**
阅读全文
摘要: # Lambda表达式 >lambda表达式的底层实现涉及到闭包(Closure)的概念。闭包是一个函数对象,它
阅读全文
摘要: # 万能引用 >万能引用的格式如下: ```cpp template void PerfectForward(T&
阅读全文
摘要:# C语言的输入和输出 >C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输入设备(键 盘)读取数据,并将值存放在变量中。printf(): 将指定的文字/字符串输出到标准输出设备(屏幕)。 注意宽度输出和精度输出控制。C语言借助了相应的缓冲区
阅读全文
摘要:# static_cast >**static_cast**用于非多态类型的转换(静态转换),编译器隐式执行的任何类型转换都可以用。 > >但**static_cast**不能用于两个**不相关**的类型进行转换。 ```cpp double d = 12.34; int a = static_ca
阅读全文
摘要:**1、都说c++是面向对象的语言,面向对象的三个特性能 [展开] 介绍一下吗?** >封装:封装是一种集中管理的思想,把内部的数据和实现方法组合在一起,并且不对外暴漏内部的数据和实现方法,只对外提供几个接口来完成函数的调用和数据的操作,保证了数据的安全性和一致性。 > >继承:继承是指一个类可以继
阅读全文
摘要:# 为什么需要智能指针? >1. 解决忘记释放内存导致内存泄漏的问题。 >2. **解决异常安全问题。** ```cpp #include using namespace std; int div() { int a, b; cin >> a >> b; if (b == 0) throw inva
阅读全文
摘要:# 传统C语言错误异常的方式 >C语言一般使用`assert`来处理错误,`assert`确实很不错,可以把错误的行数都提示出来,但是,`assert`有一个致命的缺点,就是触发`assert`之后就会终止程序,还有一点就是在`release`环境下,`assert`是不起作用的。 # C++异常处
阅读全文
摘要:>Linux中一切皆文件,那么文件就应该有相对于的类型,而在Linux当中,类型不是直接看后缀来决定的。  | -
阅读全文
摘要:# 更换阿里云的yum源 yum源存储的位置在: ``` etc/yum.repos.d ```  记住这个名字 `
阅读全文
摘要:# 布隆过滤器 >布隆过滤器就是为了解决位图不能解决的问题。 > >1. 用哈希表存储用户记录,缺点:浪费空间 >2. 用位图存储用户记录,缺点:不能处理哈希冲突 >3. **将哈希与位图结合,即布隆过滤器** # 布隆过滤器的概念 >**布隆过滤器是由布隆(Burton Howard Bloom)
阅读全文
摘要: >[二叉查找树](https://baike.baidu.com/item/二叉查找树/7077965?fromModule=lemma_inlink)(Binary Search
阅读全文
摘要: AC代码: ```c++ #include #include #include using namespace std; const int N = 510; int ans[N]
阅读全文
摘要:#### list的反向迭代器 @[TOC]  #### reverse.h ```c++ #pragma once namespace mudan { template struc
阅读全文
摘要:C++引用(&)笔记  1.寄存器一般只有4/8个字节,所以返回时候的中间变量(下图的临时变量)不一定是储存在寄存器当中  { long long a,b,p; cin>>a>>b>>p; long long ans=1%p; while(b) { if(b&1)
阅读全文
摘要:#### stack.h文件 ```c++ #pragma once #include #include #include #include typedef int STDataType; typedef struct stack { int* a; int top; int capacity; }
阅读全文
摘要: #### 1.多态的概念 >多态,顾名思义就是多种状态,**具体点就是去完成某种行为,但是通过不同的对象去完成某
阅读全文
摘要:**C++中菱形继承中继承不明确问题**  ```c++ class A { public: virtual vo
阅读全文
摘要:**优先队列**  #### 核心代码 ```c++ #pragma once #include #include
阅读全文
摘要:常见指令以及权限理解 # 命令格式: > `command [-options] parameter1 parameter1` > > 命令 选项 参数1 参数2 > > 1.`command`为命令名称,例如变化目录的`cd`等 > > 2.中括号`[ ]`实际在命令中是不存在的,这个中括号代表*
阅读全文
摘要:#### C++中的继承  #### 1.继承的概念和定义 >**继承**是一种提高代码复用率的重要方式,它允许程
阅读全文
摘要:#### 可直接获取链表长度的单链表 #### SeqList.h文件 ```c #pragma once //存size的链表 #include #include #include #include typedef int SeqDataType; typedef struct SeqNode {
阅读全文
摘要:队列 queue.h文件 ```c #include"queue.h" int main(void) { Queue q; QueueInit(&q); QueuePush(&q, 1); QueuePush(&q, 2); QueuePush(&q, 3); QueuePush(&q, 4); Q
阅读全文
摘要:二叉树的实现(包括层序遍历) queue.h文件 ```c #pragma once #include #include #include typedef struct BinaryTreeNode* QDataType; typedef struct QueueNode { struct Queu
阅读全文
摘要:Heap堆排序 向上调整 当我们在一个堆的末尾插入一个数据后,需要对堆进行调整,使其仍然是一个堆,这时需要用到堆的向上调整算法。  AC代码: ```c++ #include #include #include using namespa
阅读全文
摘要:**冒泡排序的思想就是相邻元素依次比较,把该元素放在对应的位置,用一个动图来解释:** ![冒泡排序思想][1] 普通的冒泡排序代码: ```cpp void Bubble_sort(int* base, int sz) { for (int i = 0; i base[j + 1]) { int
阅读全文

浙公网安备 33010602011771号