自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法中的Trie树及其模板总结

Trie树Trie树可以支持快速存储和查找某个字符串在字典中是否出现过以及出现的次数模板:#include <iostream>using namespace std;const int N = 100010;char str[N];int n ;int son[N][26],cnt[N],idx;//26表示假设字符串只有26个字母void insert(char str[]){//节点索引为0表示为空 也可以表示为根节点,一开始就从根节点开始,根节点是不存任何东西的

2020-12-15 22:04:01 196

原创 C语言中的字符串总结

c语言中的c风格字符串常有以下两种存储方式,做一个总结,希望以后不需要再出现模棱两可。char数组如果是char str[5]= {‘a’,‘b’,‘c’,‘d’,‘e’},这存的就是一个字符数组,而不是一个字符串如果是char str[6]= {‘a’,‘b’,‘c’,‘d’,‘e’,’\0’} 这寸的就是一个字符串 为“abcde” (c风格的字符串),要留出一个空间存储\0表示字符串终止,等价于如下定义方式:char str[6] = “abcde”可以看出c风格的字符串 如果是用数组方式定

2020-11-28 23:24:35 197

原创 linux的进程地址空间划分

###linux进程空间地址划分以Linux 64位系统为例。理论上,64bit内存地址可用空间为0x0000000000000000 ~ 0xFFFFFFFFFFFFFFFF(16位十六进制数),这是个相当庞大的空间,Linux实际上只用了其中一小部分(256T)。Linux64位操作系统仅使用低47位,高17位做扩展(只能是全0或全1)。所以,实际用到的地址为空间为0x0000000000000000 ~ 0x00007FFFFFFFFFFF(user space)和0xFFFF8000000000

2020-11-21 16:58:54 976

原创 Pycharm中新建项目的环境选择

新建项目的界面是这样的,如果你选择New Environment using 新建项目,则在你pycharm的workspace里新建的项目文件夹里会给你创建一个vevn文件夹,这个文件夹里会将你的Base interpreter指定的python编译器复制一遍放进去这个是我的python安装的文件夹,如果选择New Environment using新建项目,则在你新建项目的文件夹内部会...

2019-10-19 11:09:15 11288 4

原创 死锁原理的总结

听说复试常常问到死锁,特地来做个总结。死锁定义:死锁是指多个进程因竞争资源而造成的一种互相等待,若无外力作用,这些进程都将无法前进。死锁产生的必要条件:1.互斥条件: 进程对所分配的资源进行排他性控制,在一段时间内某资源仅为一个进程所占有,此时若有 其他进程请求该资源,则必须等待。2.不剥夺条件:进程所拥有的资源在未使用完毕之前,不能被其他进程强行夺走,只能由获得该资源的进程自己来...

2019-02-27 15:50:39 1651

原创 中断与异常原理总结

核心态:在处理器的存储保护中,核心态,或者特权态(与之相对应的是用户态),是操作系统内核所运行的模式。运行在该模式的代码,可以无限制地对系统存储、外部设备进行访问用户态:用户态(user mode)在计算机结构指两项类似的概念。在CPU的设计中,用户态指非特权状态。在此状态下,执行的代码被硬件限定,不能进行某些操作,比如写入其他进程的存储空间,以防止给操作系统带来安全隐患简单来说就是核心态...

2019-02-24 20:06:07 1291

原创 C++ 与Java中的多态

多态定义就是 就是基于同一个接口,使用不同的实例而执行不同操作多个类都继承同一个父类 其中都重写或者继承了父类中的一个的成员函数,虽然名称相同 ,但是函数体不同,根据调用 此函数的对象实例的不同执行其对象所属的类中的成员函数,函数体不同,表现出来的操作自然不同 称为多态 (这是我自己理解的)Java中的例子:USU接口:public interface IUSB { pub...

2019-02-22 19:16:49 147

原创 C++结构体与类的小总结

其中一些内容摘自http://www.runoob.com/cplusplus/cpp-classes-objects.html  下面是我的总结1.结构体定义方法以单链表节点为例:法一:struct LNode { int data; // 数据域 struct LNode *next; // 指针域};这样如果在main函数中需要定义一个单...

2019-02-21 20:06:48 393

原创 C++中的引用问题

同样的C++中的引用也是非常容易搞混的一节内容 这里我自己做个总结给以后不熟悉引用的那个我复习1.指针与引用的区别:不存在空引用。引用必须能够标识一块合法的内存。不能用int &amp; 引用名=NULL 一旦引用被初始化为一个对象,就不能被指向到另一个对象。但是 指针可以在任何时候指向到另一个对象。 引用必须在创建时被初始化且必须指向一个变量或者对象而不能是常量(如 int &amp...

2019-02-20 00:10:59 314

原创 主存和Cache的几种映射方式

在一切的开始之前,首先最重要的是需要去明白和掌握内存的块的定义:内存被分为若干1.大小相等,2.每块由若干字组成,3.块的长度成为块长,4每个快由连续的字组成,在Cache中这种块被某些替换原则替换进入Cache之后,称为Cache的行(有些书上称为块)。1.块长(一般是取一个存取周期内从主存调出的信息长度,和交互存取有关系)与行长相等,2.行的位数=行号+行内地址 块的位数=块号+快内地址。3....

2019-02-19 18:09:55 10236 4

原创 数的进制与计算(补码原理的小理解)

数的进制与计算,其实最主要的一块是在于负数的表示与运算,由于负数的存在,使得所有数,无论是正数还是负数都以补码形式存在于计算机当中,所以 再进行加减法运算的时候,都是进行补码的加减法,进一步来说,补码其实就是将负数用正数的形式来表示(根据计算机位数的特性采用了一种mod运算的方式,将负数巧妙的转化成了正数来表示)数的表示法现在假设 是定点整数,假设位数是5位(包括一位符号位) 5和-6两个数表...

2019-02-19 18:09:12 179

原创 C++中指针的基本使用

大学的时候学过C和C++ 后来出去实习用的是Java 对指针的使用没有以前那么熟悉了 现在考研复试只能用C++进行上机考试 所以对C++又从新学习了一次 这次对指针的学习就做下笔记以免以后生疏又得重新学习一次1.指针是一种地址变量 他只能够等于地址而不能够等于其他任何类型的数据值2 指针与数组的关系:#include &lt;iostream&gt; using namespac...

2019-02-19 18:08:15 428

空空如也

空空如也

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

TA关注的人

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