自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 收藏
  • 关注

原创 C语言进阶之旅(留下的足迹)

这里是博主学习C语言的总体大纲,从入门到高级,和博主一起加油吧主线分支与循环234函数与递归56番外递归经典题:青蛙跳台阶和汉诺塔数组金典题:三子棋扫雷

2021-05-22 10:30:03 158 2

原创 「python」快速入手

这里def 其实就是define的缩写。

2023-02-18 17:04:07 229 1

原创 「mysql」索引

请问一个数据库的数据是否会变多?答案肯定毋庸置疑,一定会。变多导致的后果是啥呢?一定是在mysql的(简单理解一个内存空间) 中有多个page,拿是否需要管理起来呢?那么管理的本质是啥呢?先描述在组织,从我给你的page的结构不难看出应该是用双链表的结构那么现在又有一个比较现实的问题:如何高效的对数据增删改查呢?查找的本质是啥?就是如何一次性排出更多的数据。

2022-10-04 13:34:14 337

原创 [linux] 网络基础

大家好今天浅聊一下电脑与电脑之间是如何通信的,通信的方式,没有网络的情况下如何进行通信等…………在最早的时候如果要跨主机间通信一般都是物理交互(需要存储介质) 图 1-1,但显然这样的效率明显不高且成本也有点高,那么为了提高效率就有了局域网(用交换机连接多台主机) 图1-2(1-1)(1-2)那么在局域网中传输数据一定也是需要某种机制()保证数据可以安全的到达目标主机协议广义层面来讲其实就是约定,只要俩台主机间约定,那么他们之间可以保证数据不会丢失。但是现在又出现了下面的问题协议:约定的规则(共识)协议

2022-06-23 14:40:10 702 5

原创 [linux] 进程间信号

信号在生活中无处不在,上下课铃,红绿灯,闹钟等,这一切都是信号,可是我们是如何识别信号的呢?无非就是有人定义将信号与意义绑定,并灌输。在操作系统中也存在信号,那么我们一起来看看吧文章目录1 理解信号1.1 见识Linux中的信号1.2 如何产生信号1.3 信号的处理1 理解信号信号不管是在生活中还是在操作系统中其实都可以简单看为三部分是什么为什么怎么处理而在操作系统层面来看并不需要知道为什么(毕竟信号也是工程师定义的),他只需要知道是啥信号和收到信号后要如何处理,其实生活中收到信号也是

2022-05-31 17:44:40 311 3

原创 [Linux]进程间通信

文章目录进程间通信管道进程间通信进程间通信的本质:让进程看到同一块空间管道

2022-05-30 06:56:01 248 2

原创 [Linux] 动静态库

emmm库这个只要是学编程的应该都用过吧,如C语言中的stdio……里面都是官方实现好的常用函数的集合方便我们使用,但是有时可能官方没有实现,那么就可以去找大佬的写好的库。文章目录理解动静态库制作动静态库理解动静态库简单理解,动静态库,其实就对库使用的方式,如下面的故事假设家里没一切电子设备,这个时候需要去查资料,那么你就要去附近的网吧(动态库) ,但是有一天你和你爸说给我买个电脑方便查资料,你爸给你买了,那么查资料就可以直接在家里查(静态库)从上面的故事直观的可以看出,动态库的成本明显比

2022-05-18 07:17:34 171 9

原创 [Linux] 基础 IO

万字带你理解IO

2022-05-10 19:28:42 601 8

原创 [Linux从无到有]进程的创建、终止、等待、替换

进程是如何创建的?他又如何终止呢?进程等待又是如何等呢?替换进程还可以替换?如果你有这些问题那么这篇文章会为你解答文章目录进程的创建进程的终止进程等待进程替换内存池进程的创建要创建一个进程有一下的方式直接运行(Linux下./ 运行)程序中调用fork()函数创建子进程那么这次在深度剥析一下它的底层是如何实现的进程的终止如果要进程等待进程替换内存池...

2022-05-01 12:49:43 350 6

原创 [STL数据结构] AVL底层 与 红黑树

之前的搜索二叉树大家明显可以看出它的缺点,搜索二叉树的效率为logN,插入节点有序的时候效率退化为O(N)文章目录平衡二叉树红黑树平衡二叉树解决这一问题用一个平衡因子来控制左右子树的高度差不超过1,使二叉树避免单支,保持平衡,避免单支AVL树节点定义:templete<class K,class V>struct AVLTreeNode{ AVLTreeNode<K,V> * _left; AVLTreeNode<K,V> * _right;

2022-05-01 12:29:51 982 7

原创 [STL与数据结构]搜索二叉树

大家好呀!今天带来的文章是平衡二叉树,你是否在写题的时候遇到需要容器存储,且是否效率低下,没事搜索二叉(map,set的底层)树帮你解决问题文章目录搜索二叉树的底层结构造轮子理解底层搜索二叉树的底层结构定义搜索二叉树的左子树永远比根小,右子树永远比根大,且树中值唯一确定(目前是),如图所示:你仔细看发现每一棵子树都是按照那个规则的,你在仔细看如果按照中序遍历(左,根,右)打印的话能会发现,竟然是一个升序的序列问那么这个用这个结构差找效率是多少呢?到底有多快呢?答搜索

2022-02-18 10:00:22 1004 15

原创 [C++]面向对象语言三大特性--多态

大家这篇文章描述的是我在学习多态时的一些学习笔记,和问题,还有一些面试题,希望这篇文章对你会有帮助文章目录什么是多态?如何才可以看到多态这一属性呢?(概念)什么虚函数?如何使用多态?C++奇葩的设计(多态篇)一些看起来挺实用,但是感觉又没啥用的操作多态的底层是如何实现的?什么是多态?下定义之前先讲个例子:加入你是一个铲屎官,且家里有三个祖宗 ???? 、???? 、????,那么在要干饭的时候,你为他们准备的食物分别是 猫粮,狗粮,胡萝卜。那么这里为不同的宠物准备不一样的食物就可以看做多

2022-02-12 16:54:16 635 17

原创 【Linux从无到有】进程的地址空间

地址空间想必大家听的耳朵都起茧子了,栈区、堆区、静态区……这个地址空间其实还有更多的秘密,那么就一起来探索吧文章目录进程地址空间进程地址空间我们先回顾一下空间排布如图所示:这里或许有一个比较新的概念就是栈与堆相对增长,堆往高地址增长,栈往低地址增长,实践出真知,我们来验证一下吧代码:int main(){ char *a=(char*)malloc(1); char *b=(char*)malloc(1); char *c=(char*)malloc(1); cha

2022-02-11 16:16:07 1227 11

原创 [C++] 面向对象语言的三大特性--继承

文章目录什么是面选对象语言的三大特性?什么是继承?什么是面选对象语言的三大特性?这里先简单来说下什么是面向对象的三大特性封装继承多态封装把函数和变量全部整合在一起进行管理,保护,如兵马俑如果不造围墙保护起来,限定你的活动范围起来,不然这些文物没几年说不定就消逝了。而封装也是一样把重要的数据给保护起来,暴露我想给接口访问 什么是继承? 继承这个词一般是在那个场景会用到呢?意志,或者家产那我们来以这个例子来引出继承吧void test1(){ int a =1

2022-02-08 15:05:19 879 15

原创 [动态规划与回溯算法] 01背包

01背包问题题目描述:大白话:有n个商品且每个商品的价格和重量都不一样,现在有一个m空间大小的包,你在n个商品中选取并使包中物品价格和为最大值思路:小时候不是有一篇课文叫小猴子下山,现在博主自编后续(如有雷同纯属巧合)故事中所会遇到的物品回到家的小猴子很不甘心就发明了一个时光机,这次他带着一个背包穿越时空,这次他依旧是原路程下山他先看到了 ????他放入的包里,继续下山他看到了????他看了下包里空间又把桃子放入包中,继续下山这次看到了????看了看包里的容量这个时候小猴子需要进行一

2022-01-10 18:21:01 739 17

原创 [动态规划与回溯算法]斐波那契数列与变形

大家好这是我的一个新的专题,动态规划,这里有我大量学习DP(动归)的学习笔记,和我的见解,但是博主在这一块一个是一个小白,还在摸索如果有我那里有错误,或者有更好的思路请你在评论区留言动态规划三加一准则三:状态定义转移方程定义初始状态一:数组(一维,二维)其中比较难得的就是状态的定义和转移方程,一般把这俩个想明白定义出来,那么这个道题基本上可以算是写出来了。一般来说状态定义都是从问题中抽象出来的……你或许好奇为啥要数组呢?因为DP其实也是一个分治的算法(大问题化成小问题),DP一

2022-01-07 20:00:18 417 1

原创 [动态规划与回溯算法] 路径问题

第一层 三角矩阵题目描述:大白话:计算顶部到底步的路径,路径值相加求这个三角形的路径和中值最小,且每一步看一移动到当前位置的下一行,或下一行下一个 如 index:(i,j) --> (i-1,j) 或(i-1,j-1)思路1:“三”状态抽象:由题可以知道我们需要求最小路径和,也就是最后最后一个位置的路径和,那么我们就可以先求第i个位置 如图所示:那么我们要知道到i节点的路径和,就和求最后位置一样,且我们还需要保存第i个状态的结果,因为 i 这个结果是 i+1 个位置需

2022-01-07 19:57:15 1014 17

原创 [剑指offer] 第二层

栈的压入与弹栈序列题目描述:回顾栈的基本结构:栈的结构是先进后出,后进先出入栈序列:[1,2,3,4,5] 出栈序列[4,5,3,2,1],否属于同一个栈出入序列?提示 :入栈中可能有元素可能会栈思路:用一个栈模拟实现入栈,且在入栈时和出栈序列比较是否该元素提前出栈...

2022-01-01 21:28:28 3614 14

原创 [剑指offer]重建二叉树

文章目录第一层 二叉树遍历第二层 给定前中序构建一个二叉树第一层 二叉树遍历题目介绍给定一个(前序遍历)字符串,构建二叉树,并且以中序打印,#==nullpet , ’ ‘==空树如果忘记请看这篇博客----->回顾二叉树概念思路前序是先根遍历,在左子树,右子树分别对树的左右区间进行构造根据# 进行构建树那么就会一下俩种情况碰到一个#就说明当前的构建的区间已经全部构建完毕,已经没有元素可以构造了(类似中序遍历一直走到叶子节点)而碰到##就代表遇到的是叶子节点代

2021-12-25 20:00:24 1063 10

原创 【剑指offer】第一层

文章目录二维数组中查找旋转数组中最小的数字数组中出现次数超过一半的数字絮絮叨叨的家常二维数组中查找题目描述思路遍历法只要是这种查找的题都有一个通解就是遍历,显然如果是面试那么offer就要????了,代码自行写,本质就是一个二维数组利用条件法(瞎取的)从题可以看出每一行都是左右递增,每一列都是上下递增,那么我们就可以利用这个特性,target和第一行的最后一个元素比,那么会出现俩种状况targe大于最后元素因为是左右递增,那么targe就不会在当前行,直接排除当前

2021-12-19 13:13:14 4522

原创 [Linux从无到有] 进程

文章目录1. 进程1.2 PCB1.2.1上下文数据1.2.2 内存指针1.2.3状态pid和ppid与fork(创建进程)与标识符1.2.4优先级1.2.6 程序计数器1. 进程大家应该对任务管理并不陌生吧,有时候app卡死了我们就需要手动去吧这个app杀死,但仔细看会发现他上面写的是进程简单来说,一般点开app就是把软件的代码和数据加载到内存中,这样算是一个进程了,但是其实内部还进行了更多的操作,他还会为这个代码创建一个PCB(sask_struct)1.2 PCB什么是PCB?进程

2021-12-17 20:30:30 1141 6

原创 [C++ ,STL]vector模拟实现

vector才算是打开了泛型编程的大门,在之前的几篇博客中你可以明显看到vector的构造,等接口的参数多了一个templete,毕竟他可以存任何的数据类型,着篇博客会涉及到一些STL源码(让我们看看大神是如何实现的),且依旧沿袭上篇博客,我只实现我觉得比较难的接口文章目录1. 基本框架0 help 函数1 迭代器2 构造函数3 modify4 capacity1. 基本框架源码中是用iterator 创建了三个变量,start(开始)finish(结尾) end_of_storage(容量(c

2021-12-17 13:54:37 732 10

原创 [数据结构]链式二叉树基础概念篇

文章目录二叉树1.1前序遍历1.2中序遍历1.3后序遍历1.4层序遍历刷题2.1:知道前/后 中序构造一颗二叉树(理论推导)2.2 求一颗树的节点个数2.3 求一颗树叶子的节点2.4 求第k层节点个数2.5 求该树的层数2.6 检查俩课二叉树是否相等2.7 单值二叉树2.7 对称二叉树2.8另一颗子树2.9 判断是不是完全二叉树唠家常结尾看这篇博客之前我希望你具备基础的递归思想//当N为6时int Tmp(int n){ if(n<2) { return 1; }retu

2021-12-12 11:51:25 556 1

原创 [C++ 潜心修炼]string模拟实现篇

文章目录前文提要辅助函数1: 构造函数2:modify3: Capacity4:Iterator(迭代器)前文提要string这个容器比较简单,他就是字符的容器,不像别的容器 vector ,可以存内置类型,还可以存自定类型,甚至他还可以自己存自己(本质就是一个二维的数组),但是string只可以存字符,所以 string 是这个容器还可以看出泛型编程的好处辅助函数函数一:开空间 void Construction(const size_t length=1) { cha

2021-12-09 16:23:12 435 2

原创 [Linux从无到有]gcc/g++与make/makefile

一个程序是如何跑起来的难道不是Ctrl+f5吗,确实但是在这个过程在还进行了以下操作预编译编译汇编链接可我在vs或clon或别的编译器中没有这样呀,没错但是linux下可以那么我将告诉你是哪些命令预编译在这个间断中会进行如下操作删除注释包头文件宏替换条件编译在linux中需要这条指令 :gcc -E test.c -o test.i-E 他的作用就是激活预处理,但是不剩成文件,所以 -o test,i 就是我指定生产的文件-o 的作用的输出到文件中编译

2021-12-03 15:39:05 353

原创 [linux从无到有]上面是权限粘滞位

文章目录1.2 文件权限1.2.2 权限掩码1.2.3 更改文件拥有者1.3:粘滞位2 面试题1.2 文件权限一般一个文件或者目录都会有一下权限如图:、而我们今天需要了解的就是权限这一块这里权限三三为一组,第一组是owner,第二组是group,第三组就是other,他们对应的权限是不同的group的概念:在一些特殊的情况下可能遇到多人共用一台服务器,可是你不想别人看你的文件你就吧other的权限设置为空,可是你会发现有时候你需要别人帮你,但是又不想全部人可以看到你写的代码,所以

2021-11-22 16:12:36 729

原创 [窥视内经] STL,string,vector,list(用法篇)

文章目录概念:什么是STL概念:容器 stringstring常用接口介绍概念:容器 vectorvector常用接口介绍容器list总结概念:什么是STL简单来来认识一下吧STL吧,他是c++标准模版库包含了容器(vector,list,string……的数据结构),迭代器,算法等。有了他就不需要在造轮子了,用的时候包一下头文件即可使用,他也是泛形编程下的一个代表概念:容器 string先看看文档中对他介绍大白话就是他就是一个字符型的顺序表,他的作用就对字符的增删查改,当然不止这些,他还拓展

2021-11-22 14:07:11 876 5

原创 [linux从无到有]基本指令

文章目录命令汇集压缩包的作用命令汇集压缩包的作用减少传递成本减少网络传输或者其他原因导致的文件丢失的情况假如你想玩某个单机游戏又没钱就去淘宝上买了一个盗版的,然后他就给会给你发一个压缩包,把他全部文件整合在了一起,这样的好处是啥呢,其实就是第二点,假设他一个一个文件法给你,如果他忘记了某个文件或者少一个文件那么最终你讲是无法玩这个游戏的,或者里面怪怪的如果你电脑磁盘空间不够了,但是数据有有用那咋办呢?买一个u盘买一个移动硬盘换电脑存网盘整合一下压缩

2021-11-19 14:18:46 3517

原创 [C++潜心修炼] 模版与泛型编程

文章目录泛型编程模版的基本介绍作用一:函数模版作用二:类模版总结泛型编程​ 可谓人如其名,泛着一词,就说明了通用,之前写代码的时候是不是逻辑一样但是参数不一样就需要在拷贝一份,修改变量名,而学了模版那么机会将少你2%的痛苦,这也是泛型编程基础模版的基本介绍​ 函数重载不知道是否还记得,他解决了函数只是参数不同但是要取多个名字的问题,那么模版在此之上又进行了优化,可以让你少些一些代码新装备 关键字:templatetemplate<typename or class

2021-11-12 15:54:31 568

原创 [C++ 潜心修炼]送对象啦

要对象吗,摸起来手感滑滑的那种类和对象的基本概念对象:大家知道C语言是面向过程的,而C++是面向对象的,那么啥是面向过程,啥事面向对象呢?面向过程:最近觉得自己王者荣耀段位太低了去找了个代练app,下单,看app是如何给我找人,代练如何的人是如何打游戏的呀,哦打完了要结算了,你每一个步骤,每个细节都要了解面向对象依旧是上面的例子,代练app下单,app分配打单人,打完结算,你不需要知道代app是如何找到代练,代练是如何打上去的,你只需要交钱即可类struct是C语言中的结

2021-11-03 14:15:22 130 1

原创 [C++潜心修炼]类与对象:构造与析构与拷贝构造

构造函数         在玩C时会遇到用数据结构的时候,每次用都要初始化,非常麻烦,且有时还会忘记初始化导致一些问题(如链表不初始化,他next不指向空那么就出问题了)默认构造:和类同名没有返回值class Data{ Data() { } }构造函数也可以代参,且他也支持函数重载呦class Data{ public: Data(int day)

2021-11-01 14:36:40 286

原创 [C++潜心修炼] operator重载

这个又啥用呢?这个用处可大啦,以为C语言沿袭过来的操作符是不可以给自定义类型用户使用的,可是这些都是这些操作符类也是需要用的,所以就有了运算符重载,他就是为类所产生的且这些重载得操作符的实现可以由你的想象实现没有任何限制operator(关键字)+运算符+(原来运算符的操作个数)下面都是写到类里,那么就可以少些一个左操作数,因为默认第一个是this重载> < >= <=这里会看到附用的价值bool Data::operator>(const Data

2021-11-01 14:17:40 300

原创 [C++潜心修炼] 小试牛刀

       今天是来到美丽新世界的第二天,刚准备去探险就碰到了哥布林团伙,本想绕路而行,但是他们似乎……那么只能战斗……(普通哥布林)缺省参数       在C语言的时候你调用函数时,如果函数是有参数的,那么你调用就要传参数int Add(int x,int y)//{ return x+y;}int main(){ int c=

2021-10-30 20:08:01 177

原创 [C++ 潜心修炼]

打怪打怪………………文章目录函数重载入extern‘c内联函数函数重载入在写 C程序的时候是否遇到过这样的问题,就是明明功能是一样的但只是类型不一样就要特别区分一下,就挺让人恼火的可能C++之父觉得这样确实麻烦毕竟先名字确实是一个苦力活(玩笑罢了后面有详细的介绍,不过取名字确实累人),所以就有了函数重载函数重载基本介绍:在同一个作用域中可以允许函数重名 ,但是函数的形参必须不同,如参数个数,类型或者顺序extern‘c内联函数宏大家都知道吧,他短小精干,运行效率比函数快(直接替换不

2021-10-25 11:21:12 129

原创 数据结构 排序

导读:这有下列复杂度中logN->N->N*logN->N^2         一般有N*logN的时间复杂度已经是快的飞起了,且如果待排序的数据越多那么他和N^2的差距会越来越大​           且开始前先和大家说时间上没有十全十美的东西,所也下面的排序也是,他们各有各应用场景,不要像上世纪的医学一样

2021-10-24 15:25:37 143

原创 C语言 程序是如何跑起来的

        有没有想过一个程序是如何运行的?平时点击运行,就直接出来了       那么它在点击运行到生成可执行程序这一期间到底经历了什么让我们一探究竟思维本章精华翻译预编译编译汇编链接运行...

2021-10-09 22:34:16 346 1

原创 [C++ 潜心修炼] 一块敲门砖

        来吧是时候推开异世界的大门了,让我们看看这个是疯凶即恶的世界,还是美丽缤纷的新世界呢?想知道吗,跟紧我C++关键字        上文提到过就C++是在C的基础上进行拓展的,这个类似金庸小说里面偷取内功一样,为我己用,但是已经后面又在这个基础上潜心修行了后研究出了新的招式命名空间exter‘C’...

2021-09-29 15:33:26 311 9

原创 [初识C++] 何为最:心酸历史

       木叶飞舞之处,火亦生生不息~~,没错开新坑了, 猜猜是啥,网传这个是最难的语言那么就由一代目带你们来会会这个家伙,先看看他什么什么来历, 敢称为最难的语言诞生于生长       1897年由贝尔实验室开发出来(C语言也是他研发的),他是在语言的基础上进行扩长 (他兼容C所有语法) , 增加了类的机制 , 起初叫 C with clas(C和类

2021-09-27 14:45:34 279 6

原创 数据结构 二叉树的顺序结构原来要这么写

二叉树的顺序结构有一个专属的名称 堆, "堆" 我熟,他不就是动态开辟的数据都存在那里吗,他业务那么广阔还可以用到树里,其实他们不是同一种东西,同名罢了他只适合用于完全二叉树,因为基于顺序表结构存储如图:可是这样存如何找他的子节点呢?父节点没有存他的子节点的指针,那要如何访问呢?发明出来总是拿来用的,那么来看看大佬事如何用数组来实现的(他有一点静态链表的感觉 )静态链表简单描述用数组实现链表,定义结构的时候留一个数据存他后面插入的下标,他删除插入的效率提示到O(1),但还有空间浪费如何

2021-09-25 20:24:32 678 7

原创 数据结构(4)原来这个叫树

树是啥,现实中的树吗,是这个??其实不是,在计算机中,树是一种数据结构,他的逻辑结构呈现了一棵树的状态,如图:看着不像啊,其实也可以看成树的根,或者倒过来的树,如图:其实树的结构在生活中你一定见识过,如思维导图就是,家里的族谱,计算机的文件系统树树是一种非线性存储的结构且树的节点个数是 ≥0 的树的一些概念父节点他含有儿子(含有子节点)节点的度有多少个儿子(他有多少个子节点)叶节点or终端节点孤寡老人(他没有儿子)兄弟节点同一个爹生的

2021-09-13 18:01:50 440 6

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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