- 博客(70)
- 收藏
- 关注
原创 什么是索引?为什么要使用B树作为索引数据结构?
-->树型结构,对吧!我们都知道搜索二叉树的就是用来查找的树型结构,一般时间复杂度是Ologn,对吧这就实现了优化,那么回到上面的问题,我们该如何优化查找元组,就是一个优化数组搜索的问题罢了;在MySQL中不是用的二叉搜索树,而是用的B树,先简单说一下B树也是一个树,只不过是跟二叉搜索树不一样罢了,不要以为是什么高大尚的数据结构;我们。
2025-03-24 23:11:16
592
原创 英语课突然悟了!!!网络传输,TCP,HTTP传输的流程以及问题解决方法!!!
DNS解析,简单来说就是一个解析,对吧!解析什么呢?解析的就是域名,什么是域名->ww.baidu.com;
2025-03-04 18:00:00
878
原创 C++:手把手教你手撕vector
首先我们需要在vector.hpp文件中的最顶部写上语句什么意思?#pragma once 就是在其他每个文件中只能被包含一次,不可被重复包含;#pragma once 可以看成是#ifndf ..... #endif;3.1头文件接下来就是引入所需要的头文件了(这里可能引入几个没有用到,问题不大!
2025-02-19 16:33:05
648
原创 Linux系统编程:环境变量
环境变量(environment variables)一般是指在操作系统中用来指定操作系统运行环境的一些参数,通常具有全局属性,并且一般来讲都有其特殊的用途(比如我们在编写C/C++代码的时候,在链接的时候,从来不知道我们的所链接的动态静态库在哪里,但 是照样可以链接成功,生成可执行程序,原因就是有相关环境变量帮助编译器进行查找。环境变量表本质是一个二级指针;
2025-02-04 20:32:58
605
原创 Linux系统编程:理解进程/进程管理
对于父子进程的代码来说都是一样的,不可修改的,但是对于数据就是可以修改的了;我定义了一个全局变量g_val=20;在父进程中我没有修改g_val,但是我在子进程中将g_val修改为了10;写时拷贝的关键就在于此进程对数据进行了修改,那么就会单独的拷贝数据到另一块空间上;而其他没有修改的数据父子进程依旧是共享的;在修改数据之前父子进程的代码和数据都是共享的,只要我们修改了数据,OS就会让子进程等待一下,为数据单独开辟一块物理内存空间;这就是数据层面的写时拷贝;
2025-01-22 11:53:51
662
原创 每周算法2:数学+模拟+哈希表+栈+线性dp+贪心(简单)
这道题考察的是数据结构中的栈的使用,我们可以使用stack但是最后打印的时候需要reverse一下,所以我们干脆直接使用一个字符数组string来模拟栈,遍历原来的字符串,如果栈不为空的情况下就判断栈顶元素和当前元素是否一样,如果一样那么就可以消除(将栈顶元素弹出),继续遍历,最后剩下的就是没有挨在一起的字符,如果栈为空那就打印0;比如给定范围[2, 22],数字2在数2中出现了1次,在数12中出现1次,在数20中出现1次,在数21中出现1次,在数22中出现2次,所以数字2在该范围内一共出现了6次。
2024-11-10 15:57:08
1494
2
原创 Linux下cgdb/gdb调试以及关于操作系统那些事
硬件就是看得到摸得着的计算机外部设备;我们使用的笔记本和台式电脑就是各种硬件的组合,其中包括CPU,显示器,磁盘,网卡,内存,键盘...单看他们仅仅只是一堆物件,需要之间相互建立联系,才能是设备工作起来,而这整个系统就是冯 诺依曼体系;目前的任何计算机设备都采用的是冯诺依曼体系;发明冯诺依曼体系的人简直就是天才,讲一堆的物件按照体系进行配置安装,使得每一项硬件都可以发挥更好的作用;这是在计算机领域是一项十分伟大的发明;
2024-11-02 15:16:44
1405
1
原创 Linux:编译,链接,自动化构建工具
1.makefile文件,会被make从上到下开始扫描,一个目标名,是缺省形成的,如果我们想执行其他组依赖关系和依赖方法,就要使用make name;2.make makefile在执行gcc 命令的时候,如果发生了语法错误,就会终止推导过程;3.make解释makefile的时候,是会自动推导的,一直推导,推导过程,不执行依赖方法,直到推导到有依赖文件存在,然后逆向的执行所有的依赖方法;
2024-10-19 12:10:43
1126
1
原创 递归专题BFS
先来说一下有关递归的几个算法;深度优先搜索,深度优先遍历,广度优先搜索,广度优先遍历以及回溯,剪枝,记忆化搜索;我们一说到递归,内心就会不自觉的产生恐惧,因为递归式连续多层嵌套函数,整个过程线是很长的,是抽象的,正常人是想不到那么深的,所以我们要想学会使用递归,就需要先克服对递归的恐惧;递归的实质其实就是重复的做同样的事情;第一步,知己知彼;我们需要先了解清楚上面我说的几种算法究竟是什么;深度优先搜索(BFS):可以使用DFS的标志一般是决策树,二叉树,单支树等;这个算法其实还是暴力枚举。
2024-10-11 16:17:33
1118
4
原创 HTML:相关概念以及标签
我们平时使用电脑和手机都是离不开网站和网页的,那么什么是网页呢?什么又是网站呢?网页就是网站的一页,网页就是一个后缀为html的文件,通过浏览器读取然后就是我们所看到的各中有画面的网页了;不信?我们在一个网页中右键点击打开网页源代码,你就会发现源代码就是就是使用的html语言写的;网站就是指在因特网上根据一定的规则,使用HTML等制作的作用于展示特定内容相关的网页集合;网页是构成网站的基本元素,它通常是由图片,链接,文字,声音,视频等元素组成。
2024-10-04 11:47:18
1204
5
原创 SQL:函数以及约束
说到函数我们都不陌生,在C,C++,java等语言中都有库函数,我们在平时也是经常使用,函数就是一段代码,我们既可以自定义实现,又可以使用库里内置的函数;从来更加简洁方便的完成业务;同样的在SQL中也有一些内置函数来供我们使用;非空约束:NOT NULL唯一约束:UNIQUE主键约束:PRIMARY(自增:AUTO_INCREMENT)默认约束:DEFAULT检查约束:CHECK外键约束:FOREIGN KEY其中最重要的是主键和外键,他们与其他的使用格式不同;要求更严格;
2024-10-02 18:30:00
2257
3
原创 SQL增删查改操作
数据库,顾名思义就是用来存储和管理数据的,我们平时所使用的各大软件平台的各种的信息其实都是从背后的数据库中取出来呈现在我们的眼前,供我们使用的,就比如:拼多多各种的商品信息:价格,口碑,回购率等等,这些都不是定死的,而是一个个的数据库中的数据,甚至你微信钱包中的余额,也仅仅只是数据库中存储的几个数字罢了;那我们怎么使用和管理数据库呢?一,我们可以使用图形化管理界面,操作起来更加的简单;二,我们可以使用特定的语言对数据库进行操作管理;
2024-09-30 21:32:52
1495
原创 Linux权限解析
当一个目录被设置为粘滞位"(用chmod +t),则该目录下的文件只能由一、超级管理员删除二、该目录的所有者删除三、该文件的所有者删除目录的可执行权限是表示你可否在目录下执行命令。如果目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目即使目录仍然有-r读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有目录的读权限;所以ls命令也就无效了;
2024-09-28 14:03:24
964
1
原创 C++:智能指针(Smart_ptr)
智能就是聪明的意思,聪明指针;以前我们都是说开辟的动态空间,需要注意手动释放,但是呢,C++的异常这块,有些情况呢抛出异常后会直接跳转到catch处,导致有些空间无法释放,令人防不胜防;只靠手动释放是不行滴;所以C++11就引入了智能指针,来让他自己管理本身的空间释放;throw invalid_argument("除0错误");// 1、如果p1这里new 抛异常会如何?// 2、如果p2这里new 抛异常会如何?
2024-09-21 11:15:38
1219
2
原创 C++:异常
实际使用中很多公司都会自定义自己的异常体系进行规范的异常管理,因为一个项目中如果大家随意抛异常,那么外层的调用者基本就没办法玩了,所以实际中都会定义一套继承的规范体系。这样大家抛出的都是继承的派生类对象,捕获一个基类就可以了// 服务器开发中通常使用的异常继承体系class Exception //基类public:Exception(const string& errmsg, int id)//构造函数, _id(id){}//错误信息protected:int _id;
2024-09-19 20:49:12
698
原创 Linux基本指令(3)
目的是装下更多的东西,如果我们只是把衣服乱成一团的硬塞那能装下的东西就会大打折扣;既然指令是调用的/bin目录下的可执行程序,那我现在有个大胆的想法:我自己写一个C语言可执行程序然后弄到/bin目录下是不是也能直接像pwd,ls这样直接使用呢?这个答案很简单,因为可执行程序是在/bin中找的,但是我们自己写的不在/bin中,所以我们要告诉系统,我的可执行程序在当前目录下,不用去其他地方找了;这时候其实是找到了/bin目录下的对应的可执行程序运行;很明显,前者显示的文件有颜色,后者显示的文件没有颜色;
2024-09-03 23:58:38
739
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人