剑指 Offer 35. 复杂链表的复制 题源 https://leetcode-cn.com/problems/fu-za-lian-biao-de-fu-zhi-lcof/ Class RandomNode: def __init__(self,x:int,next:'RandomNode'=None,random:'RandomNode'=None): self.val=x self.next 2021-04-06 算法 剑指Offer dfs
进程与线程 进程是运行中的一段程序。包括程序的可执行代码和程序计数器,调用堆栈等。 进程是资源分配的最小单位,线程是程序执行的最小单位。 进程/线程切换开销进程 页表全局目录; 调用堆栈和堆栈; 文件描述符; 处理器硬件上下文,比如栈帧的指针,寄存器内容,高速缓存; TLB的刷新,即建立新的映射。 线程局部的程序计数器,程序指针,局部的栈帧,相关寄存器状态(线程的上下文)。 2021-04-06 操作系统 c++
引用和指针的区别 概念引用是别名。 注意事项 引用被创建的时候必须立刻初始化; 不能有NULL引用; 被初始化后就不能改变引用关系。对n的操作就是对m的操作。不是拷贝,不是指针,n就是m。 int m; int &n = m; 值传递/指针传递/引用传递 的异同由于 Func1 函数体内的 x 是外部变量 n 的一份拷贝,改变 x 的值不会影响 n, 所以 n 的值仍然是 0。 void Func1( 2021-04-06 c++
C++ static 什么是static,用来干什么的,解决什么问题c/c++的修饰符,控制变量的存储方式和可见性。函数内部定义的变量,执行到的时候为它在栈上分配空间,函数结束后释放,如果要保留这个值到下次调用的时候,就需要加static。如果用全局变量,会破坏变量访问范围。 如何控制存储方式 全局(静态)存储区:分为DATA和BSS(Block started by symbol)段,DATA段存放初始化的全局变量和 2021-04-06 C++
用户态和内核态 用户态和内核态是什么用户态CPU只能受限的访问内存,不能访问外围设备。占用CPU的能力低,能被抢占。Ring3 内核态CPU可以访问内存的所有数据。Ring0 为什么要有内核态和用户态需要限制不同应用程序的访问能力。 为什么要切换用户程序一般都运行在用户态。但是从硬盘读取数据,键盘输入等时候,用户态不能完成,需要请求操作系统内核,让操作系统内核替自己去执行。所以用户程序不能控制操作系统内核具体执行 2021-04-05 操作系统
二叉树/二叉搜索树的最近公共祖先 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = None # self.right = None 若 root 是 p, q 的 最近公共祖先 ,则只可能为以下情况之一: 2021-04-05 算法 树
Session & Cookie Session:用来存放用户数据,浏览器第一次发送请求的时候,服务器生成了Session和Session ID来唯一标识这个Session。第二次发送请求的时候带上Session ID,就能对应上。 Session的实现方法: 使用Cookie。如果不设置过期时间,就不放在硬盘上,浏览器关闭就消失。如果设置为几天后过期,那么就会在硬盘上保存。 使用URL附加信息。比如?JSESSIONID=不设 2021-04-05 计算机网络
Java笔记 接口可以有default、static方法 原先的jdk7之类的,它们接口中的方法都是抽象方法,没有具体的实现,就相当于定义好了这个接口有哪些功能,却没有具体定义功能是怎么实现的,通常由接口的实现类来做具体功能实现。那么,如果面向接口编程,大家已经根据自己需要通过继承接口的方式来实现了自己的功能,突然有一天,产品提需求了,你需要给所有接口的实现类都添加一个新的功能即一个新的方法实现,而且这个方法 2020-10-26 Java
Diary 好多梗原来是出自星爷的电影啊。“有钱人的品味有时候很奇怪”,出自喜剧之王;“喊好好味,喊到我满意为止”,可能出自食神。切水果游戏的原型可能也出自食神内唐牛表演的刀工。你这次有麻烦了,方丈为人很小气的。我最讨厌别人在我的背后说我坏话。得罪了方丈,你想走?没那么容易!来人,喂两位公子吃饼–九品芝麻官我玩完了她,不给钱,那就不算卖咯你叫破了喉咙也没有人理你的我跳出来了,我又跳回去了你好大的官威啊,包大人 2020-10-10
notes 网际层协议IP: Internet Protocol 提供网络结点之间的报文传送服务 A类网络:网络号占1个字节,但只有7位可以使用(因为第一位固定为0)。但可指派的网络号是126个。IP 0.0.0.0表示本网络。网络号127保留作为本地软件环回测试本主机的进程之间的通信之用。每一个A类网络中最大主机数量是2^24-2,全1(255)的主机号字段表示该网络上所有主机。全0表示本主机所在的网络地 2020-10-08