自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

qq_42698422的博客

小白的学习之旅

原创 Ubuntu:shell下完成统计单词数量

@TOP 本文主要是加强自己对Linux系统下的一些命令的认识,同时完成一些测试;篇幅较长,选择性看把 假设文中的单词都是以空格划分的; 1.方法一:使用awk来实现 awk -F" " '{for(i=1;i<=NF;i++){array[$i]+=1;}...

2019-08-26 23:58:49

阅读数 6554

评论数 0

原创 哈夫曼编码

哈夫曼编码1.哈夫曼编码的原理2.代码实现 1.哈夫曼编码的原理 构建哈夫曼树的步骤: 1.对于给定个m个权值,从中选出权值最小和次小的两个树,将其作为左右子树,其根节点的值为子树节点的值的和; 重复上面操作直到所有节点都并入树中; 在算法导论中,哈夫曼编码使用优先队列管理结点序列,如果优先队...

2020-04-07 21:49:33

阅读数 14

评论数 0

原创 树与二叉树的转换

树与二叉树的转换1.树转换为二叉树2.二叉树转换为树4.二叉树转换为森林 1.树转换为二叉树 由树转换而成的二叉树,其根节点必然无右孩子,而由森林转换而得的二叉树,其根节点有右孩子 ; **三步骤: ** a.加线——在所有兄弟结点之间加一条连线 ; b.抹线——对树中的每个结点,只保留他与第一...

2020-04-07 16:59:56

阅读数 3

评论数 0

原创 并查找

并查找 并查集由一个整数型的数组和两个函数构成,数组pre[]记录了每个点的前导点是什么,函数find是查找,join是合并; int pre[1010]; //存放第i个元素的父节点 int unionsearch(int root) //查找根结点 { int son, tmp;...

2020-04-06 21:46:31

阅读数 8

评论数 0

原创 为什么MySQL数据库索引选择使用B+树

为什么MySQL数据库索引选择使用B+树1.前言-介绍各种树2.B/B+树3.为什么B+树比B树更适合数据库的索引?4.数据库的索引类型 1.前言-介绍各种树 1.二叉查找树:即有序二叉查找树,二叉搜索树; 对于某些情况,二叉查找树会退化成一个有n个节点的线性链;查找效率就很低了; 2.平衡...

2020-04-06 20:25:55

阅读数 7

评论数 0

原创 基础SQL语法

基础SQL语法1.建表2.删除表3.修改表4.插入:5.查询6.删除7.更新8.常用函数9.常用的修饰符10.索引 1.建表 语法:create table 表名称( 字段名 字段名类型 字段描述符,字段名 字段类型 字段描述符); create table t1( id int not null...

2020-04-05 18:57:41

阅读数 18

评论数 0

原创 事务的四种隔离级别

目录1.数据库事务的隔离级别 1.数据库事务的隔离级别 由低到高分别有四种; 1.read uncommitted:读未提交,即一个事务可以读取另一个未提交事务的数据; 出现问题: 脏读:事务A读取到了事务B中未提交的数据,当事务B回滚后,事务A读取到的数据都是脏数据; 老板要给程序员发工...

2020-04-05 15:15:45

阅读数 13

评论数 0

原创 STL常用容体分析总结

STL源码1.Vector实现2.STL之list实现3.set实现:3.map实现 1.Vector实现 1.vector遍历删除注意事项:vector.erase()后,原vector迭代器就失效了,erase()函数会返回新的迭代器; vector.erase()主要操作就是将后半部分的有效...

2020-04-04 20:15:44

阅读数 20

评论数 0

原创 C++ 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字

题目: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字;,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10. 方法一:标记数组...

2020-04-03 19:25:11

阅读数 16

评论数 0

原创 输入两棵二叉树A,B,判断B是不是A的子结构

题目: 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构); 方法一: /* struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int...

2020-04-02 22:52:05

阅读数 19

评论数 0

原创 链表中倒数第k个节点

两种相同的方法不同的写法产生的问题: 题目: 输入一个链表,输出该链表中倒数第k个结点。 写法1: /* struct ListNode { int val; struct ListNode *next; ListNode(int x) : val(x), next(NULL)...

2020-03-31 15:13:32

阅读数 16

评论数 0

原创 算法之调整数组数学

题目 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。 本题通过两种方法: 方法一:直接在创建两个数组,遍历输入数组,将奇数存放到数组1中,将偶数存放数组2中,再将两数组合并...

2020-03-31 00:59:30

阅读数 9

评论数 0

原创 算法与数据结构之一

@[算法与数据结构之一] 算法和数据结构是程序员的内力; 1.如何有效的学好算法和数据结构 《异类一不一样的成功启示录》作者:马尔科姆 精通一个领域: == Chunk it up(切碎知识点) Deliberate practicing(刻意的练习)—>不舒服、枯燥、乏味的地方;...

2020-03-30 00:14:48

阅读数 14

评论数 0

原创 C++知识点4

C++知识点41.Struct和union在内存中占用空间大小的计算2.final 和override3.STL4.C++11新特性5.C++编译的四个过程6.C++中的strict和class的区别7.枚举8.std::initialize_list9.线程池的实现10.函数11.const和d...

2020-03-29 00:46:23

阅读数 15

评论数 0

原创 C++知识点3

C++知识点32.运算符重载3.指针4.Effective C++5.C++内存管理 1.C++会自动生成的成员函数 如果程序使用对象的方式要求这样做,而用户没有自己定义如何做,那么编译器将会生成下列函数的定义: (1)默认构造函数: 默认构造函数要么没有参数,要么所有的参数都有默认值,如果没有...

2020-03-28 01:37:45

阅读数 8

评论数 0

原创 C++知识点2

C++知识点之二1.多态--虚函数2.多重继承、虚基类、虚继承3.类继承-派生类访问基类的友元4.类模板 1.多态–虚函数 C++中序函数表位于只读数据段(.rodata),也就是C++内存模型中的常量区; 而序函数则位于代码段(.text),也就是C++内存模型中的代码区; 函数的重写/覆盖:...

2020-03-26 01:05:43

阅读数 12

评论数 0

原创 正则表达式总结

1、特殊符号的使用 符号 含义 ^ 指出一个字符串的开始 如"^thh" ;所有以the开始的 $ 指出一个字符串的结束 * 匹配前一个字符0次或n次 + 匹配前一个字符1次或n次 ? 匹配前一个字符 0 次或1次,如"a?b+$&q...

2020-03-24 15:44:23

阅读数 11

评论数 0

原创 docker总结

1.解决的问题 由于不同的机器有不同的操作系统,以及不同的库和组件,在将一个应用部署到多台机器上时需要进行大量的环境配置和操作。 Docker主要解决环境配置的问题;是一种虚拟技术; 2.与虚拟机的比较 启动速度 启动虚拟机需要先启动虚拟机的操作系统,再启动应用,这个过程非常慢; 而启动D...

2020-03-24 15:20:31

阅读数 12

评论数 0

原创 C++面经

@[C++面经-师兄版] 1.操作系统 进程切换为什么要切换内核栈; 为了数据安全;… malloc申请的是虚拟内存还是物理内存,两者之间的关系,怎么转换? 虚拟内存; 虚拟内存实际上是操作系统对于内存管理的一种方式,这些内存对应的物理地址,应用程序本身是无法知道的; 虚拟内存映射到物理地...

2020-03-24 00:13:52

阅读数 15

评论数 0

原创 C++知识点1

C++复习11.说明符和限定符2.智能指针3.c++类型转换4.宏定义中#和##的作用5.static变量6.new和定位new运算符7. 类继承、虚函数以及运算符重载;v![在这里插入图片描述](https://img-blog.csdnimg.cn/20200323212426354.png?...

2020-03-23 23:20:32

阅读数 15

评论数 0

原创 git相关知识

git 属于分布式版本控制系统 冲突 冲突:两个分支都对同一个文件的同一行进行了修改,在分支合并时就会产生冲突; git会使用<<< =====>>>标记出不同分支的内容; 工作流 git的版本库有一个称为Stage的暂存区以及最后一个History版本库,H...

2020-03-23 15:32:41

阅读数 16

评论数 2

原创 计算机网络总结

计算机网络总结1.概述2.物理层3.数据链路层3.1封装成帧3.23.2信道分类 1.概述 1.主机之间的通信方式:客户-服务器(C/S),对等(P2P); 2.总延时=排队延时+处理延时+传输延时+传播延时; 传输延时:主机或路由器传输数据帧所需要的时间; 传播延时:电磁波在信道中传播所需要的时...

2020-03-22 19:55:33

阅读数 12

评论数 0

原创 linux复习总结

Linux复习总结前言1.常用命令2.磁盘3.分区3.1开机检测程序4.文件系统5.文件5.1 修改权限5.2链接5.2获取文件内容5.3指令与文件搜索6.压缩和解压(需要再看)7.bash7.1变量操作8、管道指令8.1提取指令8.2双向输出重定向8.3字符转换指令9.正则表达式9.1、awk命...

2020-03-21 01:58:25

阅读数 29

评论数 0

原创 贪心理解算法

贪心算法理解1.贪心算法基本思想1.1贪心算法基本思路:1.2会场安排问题实例 1.贪心算法基本思想 贪心算法:在对问题求解时,总是作出当前看来最好的选择,也就是说,不从整体最优上加以考虑,它所做的仅是某种意义上的局部最优解; 选择贪心算法必须具备无后效型,即在某个状态以后的过程不会影响以前的状...

2020-03-20 16:55:20

阅读数 13

评论数 0

原创 笔记二

笔记二1.堆栈操作心得 1.堆栈操作心得 s.top()是取出栈顶元素; 堆栈里面还存在; s.pop()是出堆栈,并不会返回出堆栈的元素; 1.两个堆栈实现一个队列的思想; 入栈时: s1作为入栈操作; 出栈时:先将s1的入s2中,再取出栈顶元素并出栈;在将s2的元素入s1;始终保持s2为空;...

2020-03-20 01:20:17

阅读数 10

评论数 0

原创 笔记一

那里不会看那里1.vector定义二维数组2.字符串操作 1.vector定义二维数组 1.很多时候类中的二维数组的维度往往无法提前知道,因此需要动态的分配内存; 使用new运算符,操作不当往往会操作内存溢出/泄露; vector<vector > array表达的是array是一个二...

2020-03-18 00:52:36

阅读数 21

评论数 0

原创 C++重要基础知识二

C++重要基础知识二1.常用关键字1.1const:1.2volatile:1.3mutable:1.4decltype:1.5static:1.6 this:1.7inline1.8 sizeof1.9 pragma pack1.10 extern1.11 switch和go 1.常用关键字 1...

2020-03-17 00:25:33

阅读数 12

评论数 0

原创 C++重要语言基础1

C++重要语言基础1.语言基础1.1空间的配置与释放--std:alloc(SGI实现)1.2内存池 1.语言基础 1.1空间的配置与释放–std:alloc(SGI实现) SGI标准模版库: 设计时需要考虑的问题: 从堆区申请内存空间; 考虑多线程; 考虑内存不足时的应对措施; 考虑大量小...

2020-03-16 01:54:15

阅读数 8

评论数 0

原创 四、C++指针与引用

C++指针与引用1.指针1.1C++空指针1.2指针运算1.4指向指针的指针1.5传递指针给函数1.6从函数中返回指针2.引用2.1引用和指针的区别2.2C++中创建引用2.3把引用作为参数2.4把引用作为返回值 1.指针 每一个变量都有一个内存位置,每一个内存位置都定义了可使用连字符(&...

2020-03-09 18:10:42

阅读数 13

评论数 0

原创 三、详解红黑树

详解红黑树1.红黑树介绍2、红黑树操作2.1、旋转操作2.2插入2.3删除 1.红黑树介绍 红黑树是一种自平衡的二叉查找树,是一种高校的查找树,y由当时被称为对称二叉B树(symmetric binary B-trees)发展而来; 红黑树具有良好的效率,可以在O(logN)时间内完成查找、增加...

2020-03-08 22:35:37

阅读数 5

评论数 0

原创 二、C++内存管理

C++内存管理1.函数中普通变量的内存分配问题2.函数中数组变量的内存分配问题3.函数调用堆栈的过程 1.函数中普通变量的内存分配问题 当一个函数进行调用时,函数的形参、以及函数的局部变量都会在栈中被分配内存,而栈又分两种; 栈低不变,栈顶不断动态变化; 栈顶不变,栈低在动态变化; #in...

2020-03-08 17:31:05

阅读数 9

评论数 0

原创 ubuntu下使用g++编译cpp工程

linux下使用g++编译cpp工程1.单个文件生成可执行程序2.多个源文件生成可执行文件3.编译预处理4.生成汇编代码5.源文件生成对象文件(目标代码、机器代码)6.创建静态库 C++编译中相关文件后缀 文件含义 .a 静态库(archive) .C .c .cc .c...

2020-03-08 15:21:31

阅读数 24

评论数 0

原创 一、C++ 继承与多态的理解与实例

c++多态的理解与实例1.private,public,protected关键字的理解2.C++继承2.1覆盖和隐藏基类成员变量或成员函数2.2继承时的构造函数和析构函数;2.3浅拷贝(位拷贝)和深拷贝2.4构造方法2.4.1 初始化列表2.5析构方法2.6多继承与虚基类 1.private,pu...

2020-03-07 15:01:07

阅读数 33

评论数 0

原创 ubuntu18配置VScode并运行c++项目

ubuntu18配置VScode并运行c++项目1.Ubuntu18安装VScode并配置;2.配置VScode4.常用快捷键 1.Ubuntu18安装VScode并配置; 终端安装: sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make...

2020-03-06 16:11:09

阅读数 39

评论数 0

原创 动态规划策略原理与例题

java动态规划策略原理及例题1.动态规划定义2.动态规划的解题核心3.动态规划的应用场景4.例子 1.动态规划定义 动态规划的意义是通过采用递归(或分而治之)的策略,通过解决大问题的子问题从而解决整体的做法。动态规划的核心思想是巧妙的将问题拆分为多个子问题,通过计算子问题而得到整个问题的解。子...

2020-03-04 15:22:33

阅读数 17

评论数 0

原创 ubuntu火狐浏览器安装flash_player插件

1.下载安装包 tar.gz安装包 flash下载地址 2.解压并配置 tar -zxvf *tar.gz sudo cp libflashplayer.so /usr/lib/mozilla/plugins/ 将解压的usr文件拷贝到系统/usr下: sudo cp -r usr/* /...

2020-03-03 16:21:41

阅读数 17

评论数 0

原创 Ubuntu截图软件:flameshot

1.安装配置flameshot 一个ubunut下截图工具,特别方便简单: -安装flameshot sudo apt install flameshot 设置>设备>键盘,设置一个自定义快捷键(拉到最下面)命令填写:flameshot gui 截完图后保存Ctrl+S,...

2020-03-03 14:38:30

阅读数 11

评论数 0

原创 ubuntu系统下VirtualBox安装windows虚拟机

1.安装VM VirtualBox虚拟机管理器 在终端直接输入: sudo apt install virtualbox 2.创建虚拟机 首先下载正确的系统版本(一般不要安装最新版本,可能使用会出现错误) 在管理----全局设定----常规----修改虚拟电脑位置; 在创建的虚拟机里面-...

2020-03-03 14:33:10

阅读数 15

评论数 0

原创 ubuntu使用启动盘创建器安装Ubuntu16系统,简单记录

ubuntu使用启动盘创建器安装系统的一些心得1. 安装过程中,无法进入安装操作界面;2.安装过程不要连网,安装速度好快;更新软件源;3.更新软件源和软件4.还没有完,重启你会发现电脑卡死,解决方法,安装NVIDIA; 1. 安装过程中,无法进入安装操作界面; 使用u盘安装时,在进入尝试使用系统...

2020-03-02 20:51:40

阅读数 10

评论数 0

原创 ubuntu19 vim简单设置及语法

1、不需要安装插件,只需要打开~/.vimrc文件增加如下内容,不会报错; 终端输入gedit ~/.vimrc; set clipboard=unnamed """"""""""&quo...

2020-02-22 20:54:46

阅读数 32

评论数 0

提示
确定要删除当前文章?
取消 删除