自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Python中的浅copy与深copy

Python中的浅copy与深copy今天在leetcode上刷题的时候,碰到了一道关于链表复制的题,因为自己也对深拷贝与浅拷贝模模糊糊的感觉,索性趁着今天就把他解决了。搜了一些博客,感觉还是不是特别明朗,毕竟别人写的,自己去理解还是会差点意思。实践出真知,还是自己动动手吧。import copy# 数字与字符num = 123s = '123'# 直接赋值num_1 = nums_1 = s# 浅copynum_2 = copy.copy(num)s_2 = copy.co

2020-09-23 14:12:32 131

原创 计算机网络--TCP/IP四层模型

TCP/IP四层模型在了解TCP/IP四层模型前,我们先来了解一下OSI七层结构。OSI七层模型虽然OSI七层模型划分的很完美,但是在实际应用当中有一些层的工作是重复的,所以出现了更贴近实际的TCP/IP四层模型。TCP/IP四层模型其实也就是将一些出现重复工作的层进行合并。比如将数据链路层和物理层合并为了网络接口层,现在请看图。TCP/IP四层模型各层之间是相互独立的,也就是说每一层不需要直到相邻层是如何实现的,层与层之间的耦合度是非常低的。根据TCP/IP模型,数据是如何传输的,现在贴一

2020-09-21 15:43:45 4694

原创 操作系统--进程与线程

进程与线程进程是系统进行资源分配的基本单位,而线程是操作系统进行运行的最小单位。每一个进程可以包含一个或多个线程。进程与线程的对比:每一个进程都拥有一个PCB(进程控制块),其中包含了关于进程的相关信息,比如标识符,状态,优先级等。PCB:进程管理的五大状态1.就绪状态:创建完进程,获得其他资源后,就等待获得CPU时间片2.阻塞状态:因为某些原因放弃CPU时间片3.执行状态:就绪状态下,获得CPU时间片4.新建状态:分配PCB,插入就绪队列。创建进程时拥有PCB但其他资源未就绪

2020-09-20 11:11:05 169

原创 用双向链表实现内存置换算法(四)

用双向链表实现内存置换算法(四)这一篇是使用双向链表实现第三个内存置换算法----LFULFU算法分析:最不经常使用算法,在缓存满了的时候,先淘汰使用频率最少的,这里我们就需要用一个变量来记录数据的使用频率。但是会有一个情况,就是使用频率相同的时候如何去处理,这里我是采用map来记录,key为使用的频率,value是双向链表,当缓存满了的时候,找到最低频率的value,根据FIFO的规则去淘汰。第一步,我们先给每一个节点增加一个记录频率的属性class LFUNode(Node):

2020-09-19 16:21:58 165

原创 用双向链表实现内存置换算法(三)

用双向链表实现内存置换算法(三)这一篇是用双向链表实现LRU算法:算法思路:假如我们的缓存可以缓存4个子块:缓存中不存在要放入的字块时,把子块放在链表的头部如果缓存中存在相同子块,则把这一字块移到链表的头部。缓存满了,放入新的字块时,把尾部的字块移除。下面附上代码:class LRUCache: def __init__(self, capacity): self.capacity = capacity self.map = {}

2020-09-19 15:15:29 102

原创 用双向链表实现内存置换算法(二)

用双向链表实现内存置换算法(二)FIFO(First in first out)这里使用之前实现了的双向链表来实现FIFO算法。FIFO算法还是比较好理解的,如果内存满了,则最先淘汰先进入的。直接上代码:from DoubleLinkedList import DoubleLinkedList, Nodeclass FIFOCache: def __init__(self, capacity): self.capacity = capacity se

2020-09-19 11:46:05 131

原创 用双向链表实现内存置换算法(一)

用双向链表实现内存置换算法(一)最近学了一门关于计算机网络的课程,把所学知识做一个总结,程序员不做技术积累还是不行的。第一次写Blog,慢慢积累吧,废话不多说,开始!双向链表在使用双向链表实现内存的置换算法,我们需要了解双向链表的数据结构是怎么样的。双向链表是链式结构的,可以理解成蚯蚓,两头都可以进行操作,一个节点连着一个节点。每一个节点都存储着上一个节点和下一个节点的地址。好了,双向链表大致的结构就是这样,接下来就开始来实现它吧。因为双向链表是需要一个一个节点串联起来的,首先需要来定

2020-09-18 16:50:16 217

空空如也

空空如也

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

TA关注的人

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