![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 68
§闪灵,~星~~
这个作者很懒,什么都没留下…
展开
-
LRU缓存淘汰算法
LRU缓存淘汰算法:全称:Least Recently Used的缩写,即最近最少使用算法是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间 t,当须淘汰一个页面时,选择现有页面中其 t 值最大的,即最近最少使用的页面予以淘汰。比较好的实现主要是使用双端链表,加hashmap进行映射,这样可以保证添加元素和更新淘汰元素的时间复杂度都是O(1)算法实现利用java自带的LinkedHashMap实现imp原创 2021-09-28 11:32:28 · 235 阅读 · 0 评论 -
全排列输出
算法:全排列输出题目:给定一个包含不同长度的元素的列表,输出全部的可能性诸如:给定数组 :arr = [[1, 2], [3], [4, 5]]输出:1,3,41,3,52,3,42,3,5解法:由于我并不知道数组arr的长度是多少,所以暴力解法无法求的答案,因此可以考虑将数组元素进行合并,每次前两个小列表,接着将上次的合并结果和剩余的小列表进行合并,直到最后值剩下两个小列表时,使用暴力遍历的手段将结果输出。具体实例分析:对于数组arr = [[1, 2], [3], [4,原创 2020-10-17 21:20:50 · 337 阅读 · 0 评论 -
最小堆实现
最小堆(python实现)1、简介最小堆是一个二叉树,非叶节点的值不大于其子节点的值。2、调整为最小堆(构建)class heapd: def __init__(self): pass def heapqify(self, nums): """ 构建最小堆 :param nums:需要调整的数组 :return: """ for i in range(len(nums)原创 2020-09-23 13:48:10 · 311 阅读 · 1 评论 -
决策树算法思想
决策树1、算法思想: 决策树是一棵树形结构,每个分支节点代表一个特征属性,而叶子节点则存放的是分类的类别对应的决策结果。非叶节点代表一个属性测试,存储该属性下的样本,将该样本集合按照其属性特征划分到子节点中,对于离散属性可以划分到多个子节点,连续属性可以使用二分法,也可以进行处理将其转换为可划分属性。 决策树的目标为建立一个具有强大泛化能力的模型,采用的“分而治之”的策略。2、算法步骤`输入 :训练集X={(x1,y1),(x2,y2),…,(xn,yn)} 属性集A={a原创 2020-09-21 21:00:52 · 162 阅读 · 1 评论 -
哈希表介绍
哈希表定义 哈希表也叫散列表,是根据关键码值(Key value)而直接进行访问的数据结构,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数f(key)f(key)f(key)叫做散列函数,存放记录的数组叫做散列表。 给定表M,存在函数f(key)f(key)f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)f(key)f(key)为哈希(Hash)原创 2020-05-31 08:49:13 · 270 阅读 · 1 评论 -
冒泡算法python动态演示
冒泡算法python动态演示冒泡算法文章目录冒泡算法python动态演示冒泡算法冒泡算法python实现算法动态演示演示图片保存冒泡算法(后冒法):1、每次只确定一个元素;2、且只有相邻的元素进行交换;3、两个相邻元素比较,如果该元素比它后面相邻的元素小,则交换两元素位置,一轮结束,确定一个元素位置已排好序列的最前面;4、下轮从未排好序的元素开始下一轮排序,直到所有元素都排好。优化:1、如果不再发生交换时则停止循环;2、在每轮结束后记录最后一次交换的下标以便于减少遍历次数;3、每次进原创 2020-05-29 14:27:56 · 411 阅读 · 1 评论 -
数组结构--数组(一)
数组结构–数组(一)文章目录数组结构--数组(一)数组的特点数据的基本操作插入操作查找操作修改操作删除操作数组的特点数组是有限个相同类型的元素所组成的有序集合。数组是一种线性的物理结构,存储方式为顺序存储,访问方式是随机访问。利用下标查找元素的时间复杂度为 O(1) ,插入、删除元素的时间复杂度为 O(n) 。数组适用于读操作多,写操作少的场景数据的基本操作数组的基本操作包括增、删、查、改四种基本的操作。注: 这里假设数组都是无序的插入操作插入可以分为尾部新增和中间插入两种情况,中间原创 2020-05-27 00:27:14 · 260 阅读 · 0 评论 -
Hailstone序列
Hailstone序列定义Hailstone序列定义: Hailstone(n)={{1},n <=1{n}∪Hailstone(n/2),if n is even{n}∪Hailstone(3n+1),if n is oddHailstone(n)=\begin{cases}\{1\},&\text{$n$ <=1}\\\{n\}\cup Hailstone(n/2),&\text{if原创 2020-05-26 19:21:49 · 1425 阅读 · 1 评论