小呆鸟_社区达人页

个人头像照片
小呆鸟
已加入开发者社区826

勋章 更多

个人头像照片
专家博主
专家博主
个人头像照片
星级博主
星级博主
个人头像照片
技术博主
技术博主
个人头像照片
初入江湖
初入江湖

成就

已发布60篇文章
0条评论
已回答0个问题
0条评论
已发布0个视频
github地址

我关注的人 更多

技术能力

兴趣领域
  • C++
  • Python
  • Go
  • 容器
  • 中间件
  • 算法
  • 关系型数据库
  • Linux
  • 负载均衡
擅长领域
  • Python
    初级

    能力说明:

    了解Python语言的基本特性、编程环境的搭建、语法基础、算法基础等,了解Python的基本数据结构,对Python的网络编程与Web开发技术具备初步的知识,了解常用开发框架的基本特性,以及Python爬虫的基础知识。

技术认证

暂时未有相关云产品技术能力~

你只管努力,剩下的交给时间

暂无精选文章
暂无更多信息

2022年08月

  • 08.22 17:07:05
    发表了文章 2022-08-22 17:07:05

    【四、docker容器部署】

    #### 1.⚽️搜索镜像 ```shell #1.搜索镜像 docker search nginx [root@VM-16-15-centos /]# docker search nginx NAME DESCRIPTION
  • 08.22 17:02:42
    发表了文章 2022-08-22 17:02:42

    【五、docker镜像详解】

    镜像是一种轻量级、可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容包括代码、运行时、库、环境变量和配置文件。 **所有的应用,直接打包docker镜像,就可以直接跑起来!**
  • 08.22 16:57:47
    发表了文章 2022-08-22 16:57:47

    【三、Docker 命令大全】

    *Docker是怎么工作的** - Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上,通过Socket从客户端访问! - Docker Server接收到Docker-Client的指令,就会执行这个指令!
  • 08.22 16:53:58
    发表了文章 2022-08-22 16:53:58

    【二、Docker安装大全】

    🎃 环境准备 - 需要懂一点Linux基础 - CentOS 7 我的系统是CentOS 8,与7只有一个命令有区别,已标注 - Xshell操作服务器
  • 08.22 16:51:31
    发表了文章 2022-08-22 16:51:31
  • 08.22 16:48:57
    发表了文章 2022-08-22 16:48:57

    【一、Docker概述】

    Docker 是一个基于go语言开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的`镜像`中,然后发布到任何流行的 `Linux`或`Window`操作系统的机器上,也可以实现`虚拟化`。容器是完全使用`沙箱`机制,相互之间不会有任何接口。
  • 08.22 16:45:10
    发表了文章 2022-08-22 16:45:10

    【c++ primer 笔记】第12章 动态内存

    对象的生命周期: - 全局对象在程序启动时分配,结束时销毁。 - 局部对象在进入程序块时创建,离开块时销毁。 - 局部`static`对象在第一次使用前分配,在程序结束时销毁。 - 动态分配对象:只能显式地被释放。
  • 08.22 16:34:56
    发表了文章 2022-08-22 16:34:56

    【c++ primer 笔记】第11章 关联容器

    关联容器中的元素`按关键字`来保存和访问 - 顺序容器中的元素按他们在`容器中的位置`来保存和访问 - 关联容器与顺序容器许多行为相同,但是有着根本不同,不同之处反应关键字作用
  • 08.22 16:33:02
    发表了文章 2022-08-22 16:33:02

    【c++ primer 笔记】第10章 泛型算法

    ♦️第10章 泛型算法 - 泛型算法是提供一个算法,对于不同类型的容器和不同类型的元素。因此叫做泛化。
  • 08.22 16:25:15
    发表了文章 2022-08-22 16:25:15

    【c++ primer 笔记】第9章 顺序容器

    **顺序容器**(sequential container):为程序员提供了控制元素存储和访问顺序的能力。这种顺序不依赖于元素的值,而是与元素加入容器时的位置相对应。 - 顺序容器都提供了`快速顺序访问元素`的能力。 - `所有容器都提供高效的动态内存管理`
  • 08.22 16:24:14
    发表了文章 2022-08-22 16:24:14

    【c ++ primer 笔记】第8章 IO库

    **istream**:输入流类型,提供输入操作。 - **ostream**:输出流类型,提供输出操作 - **cin**:一个`istream`对象,从标准输入读取数据。 - **cout**:一个`ostream`对象,向标准输出写入数据。 - **cerr**:一个`ostream`对象,向标准错误写入消息。 - **>>运算符**:用来从一个`istream`对象中读取输入数据。 - **<<运算符**:用来向一个`ostream`对象中写入输出数据。 - **getline函数**:从一个给定的`istream`对象中读取一行数据,存入到一个给定的`string`对象中
  • 08.22 16:19:39
    发表了文章 2022-08-22 16:19:39

    【c ++ primer 笔记】第6章 函数

    通过调用`运算符 () `来执行函数。 **函数调用完成俩项工作:** - `用实参初始化函数对应的形参。` - `将控制器转移给被调用函数。` **此时主调函数被中断,被调函数开始执行。**
  • 08.22 16:18:42
    发表了文章 2022-08-22 16:18:42

    【c ++ primer 笔记】第5章 语句

    **表达式语句** - 一个表达式,末尾加上分号就变成了`表达式语句` - 表达式语句的作用是`执行表达式并丢弃掉求值结果`
  • 08.22 16:17:29
    发表了文章 2022-08-22 16:17:29

    【c ++ primer 笔记】第4章 表达式

    **运算对象转换** - `小整数类型(如bool、char、short等)通常会被提升成较大的整数类型,主要是 int 型` - 一般在进行二元运算符时,即使俩个数类型不一样,只要他们可以相互准换为同一个类型就可以。 - 运算符作用于类类型的运算对象时,用户可以自行定义其含义。这种做法称之为`重载运算符`
  • 08.22 16:16:32
    发表了文章 2022-08-22 16:16:32

    【c ++ primer 笔记】第3章 字符串、向量和数组

    String、vector是俩种最重要的标准库类型,String支持`可变长字符串`,vector支持`可变长的集合` 迭代器是一种与 string 和 vector 配套的标准库类型。常用于访问string中的字符或vector中的元素 内置数组是一种基础的类型,string和vector都是对它的某种抽象。
  • 08.22 16:15:45
    发表了文章 2022-08-22 16:15:45

    【c++ primer 笔记】 第2章 变量和基本类型

    概述 c ++定义了几种基本的内置类型(如字符、整型、浮点数等),同时提供自动以数据类型的机制。 ## 🍮2.1 基本内置类型 基本内置类型包括算数类型和空类型。算数类型包括字符、整型数、浮点数和布尔值。
  • 08.22 16:14:41
    发表了文章 2022-08-22 16:14:41

    【33. 0 1 背包问题】

    背包问题 - 一共有N件物品,背包容量为V,物品有俩个属性,一个是体积一个是价值(类似在一个宝岛上,你有一个背包,它只能装满这个背包,小岛上有很多金子,各种体积的,而且每个金子纯度不一样,看最后怎么装才会使得背包中的金子价值最高) **四种背包问题** - 0 1 背包 每件物品最多只用一次, - 完全背包 每件物品有无线个 - 多重背包 每个物品不一样,每个物品最多有有S<sub>i</sub>个——朴素版和优化版 - 分组背包 有水果,汽车,人等,每一种里面最多只能选择一个
  • 08.22 16:07:23
    发表了文章 2022-08-22 16:07:23

    【32. 图中的层次(图的广度优先遍历)】

    思路 - 因为所有的`边长都为1`,所以可以使用`宽度优先搜索`的思想,每当队列pop出一个元素时,将其距离为1的节点都加到队列中(层次遍历思想) - `st[]`标记各个节点有没有走过,`d[]`保存1号节点到各个节点的距离,初始时都为-1。
  • 08.22 16:04:33
    发表了文章 2022-08-22 16:04:33

    【31. 走迷宫(BFS)】

    ## 思路 - 用 `g[n][m] `存储地图,`d[n][m]` 存储起点到 n,m 的距离。 - 从起点开始广度优先遍历地图。 - 当地图遍历完,就求出了起点到各个点的距离,输出`d[n][m]`即可。
  • 08.22 16:01:30
    发表了文章 2022-08-22 16:01:30

    【30. n-皇后问题】

    **DFS俩个核心** - **回溯** - **剪枝**:提前可以判断该方案不合法,所以没有必要继续往下搜了,直接把下面减掉直接回溯。
  • 08.22 15:59:02
    发表了文章 2022-08-22 15:59:02

    【29. DFS深度优先】

    # 概述 - DFS:深度优先遍历,从一条路径走到叶节点,然后回溯,继续遍历(不撞南墙不回头) - BFS:广度优先遍历,从根节点,一层一层的遍历,每一层把所有的节点都遍历完成。 ## 递归思想 - 递归在于不断调用自己的函数,层层深入,直到遇到递归终止条件后层层回溯,其思想与dfs的思想不谋而合;因此,可以使用递归来实现dfs。 - 递归的进入比较容易理解,但是递归的回溯是在计算机底层执行的,我们无法看到。因此这是理解递归的唯一一个难点。
  • 08.22 15:48:49
    发表了文章 2022-08-22 15:48:49

    【28. 最大异或对】

    最大异或对就是在给定的数中,找到俩个数使得,这俩个数异或后的结果最大。 - 一般采用`暴力法`和`字典树`的方法。
  • 08.22 15:46:34
    发表了文章 2022-08-22 15:46:34

    【27. 表达式求值(中缀表达式)】

    表达式求值(中缀) **前提准备** 需要开辟`俩个栈`,一个用于`存放数字`,另一个用于`存放运算符`。 需要用到`unordered_map`用来存放`运算符的优先级`。
  • 08.22 15:42:07
    发表了文章 2022-08-22 15:42:07

    【26. 字符串哈希】

    **用到字符串的地方一般可以用KMP算法。用KMP算法的一般都可以用字符串哈希。代码更简单。**(特殊的哈希方式,字符串前缀哈希法) - 把字符串变成一个p进制数字(哈希值),实现不同的字符串映射到不同的数字。(`比较俩个区间字符串前缀是否相等就变成了比较俩个区间字符串哈希是否相同`) ### 核心 - `以一个K进制的角度,来吧字符串看成数字。`
  • 08.22 15:41:01
    发表了文章 2022-08-22 15:41:01

    【25. 哈希表】

    模拟散列表 **概述** - `哈希表`又称`散列表`,一般由`Hash函数(散列函数)`与`链表`结构共同实现。 **用途** - 添加元素 - 通过遍历来查找相应元素。(之所以用哈希是因为它的时间复杂度接近O(1)) **思路** - 将一个比较`复杂的数据结构`映射到下标从`0~N`的容易维护的值域内。因为值域比较简单、范围小、就会产生`不同的原始值信息被Hash函数映射为相同的值`,因此要处理这种冲突。 - 处理冲突的办法有俩种:`拉链法`和`开放寻址法(蹲坑法)`
  • 08.22 15:36:40
    发表了文章 2022-08-22 15:36:40

    【24. 堆排序及模拟堆】

    堆排序 ### 堆性质: - 堆是一个`完全二叉树` - 堆中某个节点的值`总是不大于或不小于`其父节点的值 - 堆的每个结点的值都`小于或等于其左右孩子结点`,称为`小根堆` - 堆的每个结点的值都`大于或等于其左右孩子结点`,称为`大根堆`
  • 08.22 15:26:46
    发表了文章 2022-08-22 15:26:46

    【23. 并查集】

    **用途**: - 将俩个集合合并 - 询问俩个元素是否在一个集合当中 **基本原理**: - 每个集合用一棵树来表示。树根的编号就是整个集合的编号,每个节点存储它的父节点,`p[x]`表示x的父节点。
  • 08.22 15:25:22
    发表了文章 2022-08-22 15:25:22

    【22. Trie树】

    **用途** - 高效地存储和查找字符串集合的数据结构 **主要思想:** - 利用字符串的公共前缀来节约存储空间。很好地利用了串的公共前缀,节约了存储空间。字典树主要包含两种操作,插入和查找。
  • 08.22 15:23:15
    发表了文章 2022-08-22 15:23:15

    【21. KMP算法】

    **思路:** - 因为BF算法是一位一位的比较,所以时间复杂度比较高,KMP是通过`减少比较次数,来进行优化`. - BF是匹配不成功只移动一位,而KMP算法匹配不成功,`移动多位`,具体移动几位,需要查`前缀表`。
  • 08.22 15:18:22
    发表了文章 2022-08-22 15:18:22

    【20. 滑动窗口】

    滑动窗口(用单调队列) - 窗口可以用队列来维护 - 最开始从空队列开始,不停的在队尾插入元素 - 当窗口的元素满了,在移动,需要执行俩步 1.首先把新元素从队尾插进来 2.在从队头弹出一个元素
  • 08.22 15:02:42
    发表了文章 2022-08-22 15:02:42

    【19. 单调栈】

    单调栈 **用途**:主要找到每个数左边离他最近的且比它小的数在什么地方(或者找到每个数右边离他最近的且比它大的数在什么地方)
  • 08.22 15:01:44
    发表了文章 2022-08-22 15:01:44

    【18. 模拟栈和队列】

    模拟栈 **特点**:栈是先进后出。 模拟队列 **特点**:先进先出。
  • 08.22 14:58:05
    发表了文章 2022-08-22 14:58:05

    【17. 双链表】

    双链表 双链表和单链表原理是一样的,只不过双链表有俩个指针,一个指向前,一个指向后。
  • 08.22 14:54:02
    发表了文章 2022-08-22 14:54:02

    【16. 单链表】

    **原因**:在笔试当中,通常可以使用`结构体+指针`的方式实现,链表,但是由于每次都需要`new一个新节点`,所以会导致时间超时,或者可以`直接一次性new出很多节点`,但是这样做就和用`数组模拟链表`差不多了.
  • 08.22 14:51:37
    发表了文章 2022-08-22 14:51:37

    【15. 区间合并】

    区间合并
  • 08.22 14:50:14
    发表了文章 2022-08-22 14:50:14

    【14. 区间和(离散化)】

    离散化 - 假设一共有10&lt;sup&gt;5&lt;/sup&gt;个数,每个数的值域是0~10&lt;sup&gt;9&lt;/sup&gt;,有些题目可能会使用这些值下标来做,但是我们如果开一个长度是10&lt;sup&gt;9&lt;/sup&gt;数组是不现实的。这时候就需要用到`映射`。 - 我们需要把这个序列映射到从1开始的`连续自然数`,这个过程就叫离散化。
  • 08.22 14:48:49
    发表了文章 2022-08-22 14:48:49

    【13. 二进制中1的个数、位运算】

    ## 位运算 >n 的 二进制表示中第K位是几 > >n = 15 = (1111)<sub>2</sub> >1. 先把第K位移动到最后一位 n >> k >2. 看个位是几 x & 1 > >(1)和(2)操作合并 `n >> k & 1`
  • 08.22 14:47:36
    发表了文章 2022-08-22 14:47:36

    【12. 最大连续不重复子序列】

    . 最大连续不重复子序列
  • 08.22 14:46:03
    发表了文章 2022-08-22 14:46:03

    【10. 差分】

    前缀和主要是计算数组中的某个区间 [ l, r ],中间的所有数的和。 >而差分主要是为了计算在[ l, r ]这个区间中所有的数全部加上一个常数c。 >## 优点: >正常遍历数组中[ l , r ]区间的话,需要的是o(n)的复杂度,但是使用差分直接是o(1)的复杂度。差分只需要俩步计算。
  • 08.22 14:43:19
    发表了文章 2022-08-22 14:43:19

    【9. 子矩阵和】

    思路: >计算子矩阵的和,例如以(x1,y1)为左上角,(x2,y2)为右上角的子矩阵的和为多少。 >## 需要解决俩个问题 >1. s [ i , j ]如何计算 >一行一行的计算 >```c >S[i,j] = S[i-1,j] + S[i,j-1] - S[i-1,j-1] + a[i,j]
  • 08.22 14:29:29
    发表了文章 2022-08-22 14:29:29

    【8、一维前缀和】

    前缀和 **前缀和与差分是一对逆运算** >## 思路: >原数 :a1,a2,a3,a4 ,...., an >求前缀和 Si = a1 + a2 + a3 + a4 +...+ an >## 需要解决的俩个问题: >1. 如何求Si >```c >for (i = 1; i <=n ; i ++) s[i] = s[i - 1] + ai;
  • 08.22 14:28:30
    发表了文章 2022-08-22 14:28:30

    【7. 高精度除法】

    思路: > - 高精度整数除以低精度的整数,商为C,余数为r。 > - 从高位依次除以低精度整数。商(C)存在数组中,`r * 10 + 后一位`,继续除以低精度整数。一直循环结束。 > - 去掉前导0
  • 08.22 14:26:40
    发表了文章 2022-08-22 14:26:40

    【6. 高精度乘法】

    高精度整数乘以低精度的整数,将`较小的数看成整体`,高精度整数的每一位,依次乘以低精度整数 >- 下一位与小的整数相乘,并且再加上进位。 > - 去掉前导0,因为结果可能是0123456
  • 08.22 14:24:26
    发表了文章 2022-08-22 14:24:26

    【5. 高精度减法】

    高精度减法 >## 思路: >- 大整数存储(用数组来存储),依旧是倒序存储在数组当中 >- 用大数减去小数,这样比较方便 >- 考虑借位,借1加10 >## 步骤: > 1. 将A和B倒序存放在数组当中。 >2. 假设A和B俩个数,首先判断A - B的值。始终保持用大数减去小数【例如A >= B,则结果为A - B,如果是A <= B,则此时结果为 -(B - A)】
  • 08.22 14:23:06
    发表了文章 2022-08-22 14:23:06

    【4. 高精度加法】

    高精度加法 >## 思路: >- 大整数存储(用数组来存储,数组第0位,存低位,数组最后一位存高位),因为在进行加法运算时,通常会有进位,而在数组的最后一位,进位比较容易,而如果在数组开头进位的话,需要把整个数组移动一位。 >- 数组的每一位存一位数字
  • 08.22 14:22:04
    发表了文章 2022-08-22 14:22:04

    【3.整数与浮点数二分】

    1.整数二分 >### 二分本质 >- 有单调性,一定可以二分 >- 二分的题目,不一定非要有单调性 >### 思路:分俩种情况,有俩种模板
  • 08.22 14:19:35
    发表了文章 2022-08-22 14:19:35

    【2. 归并排序】

    归并与快排不同: >快速排序: >- 分界点是随机数组里面的一个`数`来分,使得左边都是<= 这个数,右边 >= 这个数 (`数值`) >- 先分完,在分别递归俩边 > >归并排序: >- 先递归俩边,在进行合并操作 >- 分界点是`整个数组中间的位置`(`下标值`)
  • 08.22 14:18:05
    发表了文章 2022-08-22 14:18:05

    【1. 快速排序】

    思路: > 1. 确定分界点:q[l] , q[(1 + r)/2] , q[r] , 随机 > 2. 调整区间的范围:使得在`分界点左侧是数都<= x`, `分界点右侧的数都>= x `(`重点处理`)
  • 08.22 14:15:43
    发表了文章 2022-08-22 14:15:43

    shell编程

    shell是一个[命令行](https://so.csdn.net/so/search?q=命令行&spm=1001.2101.3001.7020)解释器,它接收应用程序/用户命令,然后调用操作系统内核
  • 08.22 14:14:29
    发表了文章 2022-08-22 14:14:29

    【STL基本用法】

    vector:动态数组(可变长数组,倍增的思想) size() 返回元素的个数(所有的SLT容器都有,O(1)) empty() 返回是否为空 (所有的SLT容器都有) clear() 清空 front()/back() 返回vector第一个/最后一个数 push_back()/pop_back() 在vector最后插入一个数/把最后一个元素删除 begin()/end() 迭代器,begin
  • 发表了文章 2022-08-22

    【四、docker容器部署】

  • 发表了文章 2022-08-22

    【五、docker镜像详解】

  • 发表了文章 2022-08-22

    【三、Docker 命令大全】

  • 发表了文章 2022-08-22

    【二、Docker安装大全】

  • 发表了文章 2022-08-22

    【一、Nginx的目录结构及配置文件】

  • 发表了文章 2022-08-22

    【一、Docker概述】

  • 发表了文章 2022-08-22

    【c++ primer 笔记】第12章 动态内存

  • 发表了文章 2022-08-22

    【c++ primer 笔记】第11章 关联容器

  • 发表了文章 2022-08-22

    【c++ primer 笔记】第10章 泛型算法

  • 发表了文章 2022-08-22

    【c++ primer 笔记】第9章 顺序容器

  • 发表了文章 2022-08-22

    【c ++ primer 笔记】第8章 IO库

  • 发表了文章 2022-08-22

    【c ++ primer 笔记】第6章 函数

  • 发表了文章 2022-08-22

    【c ++ primer 笔记】第5章 语句

  • 发表了文章 2022-08-22

    【c ++ primer 笔记】第4章 表达式

  • 发表了文章 2022-08-22

    【c ++ primer 笔记】第3章 字符串、向量和数组

  • 发表了文章 2022-08-22

    【c++ primer 笔记】 第2章 变量和基本类型

  • 发表了文章 2022-08-22

    【33. 0 1 背包问题】

  • 发表了文章 2022-08-22

    【32. 图中的层次(图的广度优先遍历)】

  • 发表了文章 2022-08-22

    【31. 走迷宫(BFS)】

  • 发表了文章 2022-08-22

    【30. n-皇后问题】

正在加载, 请稍后...
滑动查看更多
正在加载, 请稍后...
暂无更多信息
正在加载, 请稍后...
暂无更多信息