数据结构和算法
Asaue
这个作者很懒,什么都没留下…
展开
-
操作系统调度算法
操作系统调度算法 决策模式:函数在执行的瞬间使用的处理方式。 1.抢占模式:可以互相抢状态的模式,当前正在运行的进程可以被打断,并转移的就绪态。 2.非抢占模式:一旦开始执行就不会停止直到结束。 FCFS(first come first server) 先来先服务是最简单的策略,和FIFO(first input first output)队列先进先出一个意思,这种是非抢占模式。 说白了就是排队买饭,你在别人后面进队别人买的再慢你也得等他买完。 SJF(short job first) 假设这个场原创 2020-08-07 16:32:18 · 316 阅读 · 1 评论 -
python实现LRU算法
LRU算法python实现 学习mysql数据库时,了解了一下ib_buffer_pool的存储机制,使用LRU算法施行将少用的数据淘汰,保存使用更频繁的数据。 再基于3.6版本python的字典数据类型改变,想试试新字典默认有序的话能否直接使用于LRU算法。 from collections import OrderedDict class Lrulru_dict(): def __init__(self, capacity): # 传入缓存容量 sel原创 2020-07-23 08:37:16 · 646 阅读 · 1 评论 -
python字典
python3.6字典类型的改变 python3.6之前的版本,字典是无序的,要使用有序字典则需要调用orderdict对象。3.6之后字典就默认为有序字典。原因如下: 1.python3.6之前的版本: # 在python中新建一个字典 new_dict = {} 这里Cpython定义的是:新建了一个8X3的空二维数组的内存空间存储hash函数返回值,key的内存地址,value的内存地址。 例如: new_dict = {} # 这里就新建了一个8X3的空二维数组 # 实行添加操作 new_原创 2020-07-22 20:00:48 · 197 阅读 · 1 评论 -
时间复杂度和空间复杂度
时间复杂度和空间复杂度 1.时间复杂度 一个算法与执行代码行数的相关性,且随着某个变量的增长而增长。 例如: n = int(input()) a = n 这里的代码永远都只是两行代码的时间单位,不会随变量n的增长而增长。所以时间复杂度为O(1) n = int(input()) a = 1 while a < n : a += 1 这里的代码的执行行数为2n + 1次,与n的值线性相关,时间复杂度为O(n) n = int(input()) a = 1 while a < n原创 2020-07-22 19:59:19 · 192 阅读 · 2 评论