算法
文章平均质量分 63
梅小白的进阶之路
这个作者很懒,什么都没留下…
展开
-
LRU缓存机制python实现
一、LRU介绍LRU是Least Recently Used 的缩写,即“最近最少使用”,也就是说,LRU缓存把最近最少使用的数据移除,让给最新读取的数据。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,原创 2021-10-16 15:40:41 · 319 阅读 · 0 评论 -
二分查找python
二分查找:输入一个有序的元素列表,如果要查找的元素包含在列表中,返回其位置,否则返回null。python代码1.迭代def binary_search(lists,item): low=0 high=len(lists)-1 #左闭右闭 while low<=high: mid=(low+high)//2 guess=lists[mid] if guess<item:原创 2021-09-08 10:45:06 · 55 阅读 · 0 评论 -
变位词代码识别
变位词算法一、变位词的定义变位词:两个词之间存在组成字母的重新排列关系。比如heart和earth,python和typhon二、识别两个词是否为变位词为简单起见,假设参与判断的两个词仅由小写字母构成,而且长度相等。1.逐字比较def anagramSolution1(s1,s2): '''逐字检查''' alist=list(s2). ##字符串是不可修改的 pos1=0 stillOK=True while pos1<len(s1) and s原创 2021-05-22 17:25:27 · 123 阅读 · 0 评论 -
栈和队列python实现
容器————数据结构的一种一个容器结构里包含一组其他类型的数据对象,称为其元素,支持对这些元素的存储,管理和使用。栈和队列都是保存数据元素的容器,这就意味着可以把元素存入其中,或者从中取出元素使用。栈保证元素先进后出队列保证元素先进先出一、栈(stack)1.栈的定义栈是一种容器,可存入数据元素、访问元素、删除元素等。2.栈的性质存入栈中的元素之间相互没有任何具体关系,只有到来的时间先后顺序。因此在任何时刻可以访问、删除的元素都是在此之前最后存入的那个元素。3.栈的特征先进后出———原创 2021-04-21 22:33:50 · 163 阅读 · 0 评论 -
排序算法伪代码以及python实现——插入,归并,快速,堆,计数
一、插入排序1.问题输入:n个数的一个序列⟨a1,a2,⋯ ,an⟩\left\langlea_1,a_2,\cdots ,a_n\right\rangle⟨a1,a2,⋯,an⟩输出:⟨a1′,a2′,⋯ ,an′⟩,满足a1′≤a2′≤...≤an′\left\langlea_1^{'},a_2^{'},\cdots,a_n{'}\right\rangle,满足a_1^{'}\leq a_2^{'}\leq ...\leq a_n^{'}⟨a1′,a2′,⋯,an′⟩,满足a1′原创 2021-04-14 08:36:06 · 2800 阅读 · 3 评论 -
链表python实现(单链表,双链表,单向循环链表)
线性表线性表的定义:一些元素的序列,维持着元素之间的一种线性关系。线性表分为顺序表和链接表(链表)一、顺序表1.定义将表中元素顺序地存放在一大块连续的存储区里,元素间的顺序关系由它们的存储顺序自然表示。2.顺序表的两种布局方案(1)如果一个表里保存的元素类型相同,那么每个表元素所需的存储量相同,即可在表里等距安排同样大小的存储位置。如下图左(2)如果一个表里保存的元素类型不同,那么每个表元素所需的存储量可能不全相同,因此不能在表里等距安排同样大小的存储位置。对于这种情况,将实际数据元素另行存原创 2021-04-21 11:31:35 · 984 阅读 · 1 评论