算法
文章平均质量分 77
python开发笔记
学习与分享:python开发,后端,前端,测试工具开发,网络原理
展开
-
算法:字符串匹配算法KMP
算法转载 2022-02-20 22:47:55 · 440 阅读 · 0 评论 -
算法(2):排序算法-快速-归并-计数
快速排序是一种非常高效的排序算法,采用 “分而治之” 的思想,把大的拆分为小的,小的拆分为更小的。其原理是,对于给定的记录,选择一个基准数,通过一趟排序后,将原序列分为两部分,使得前面的比后面的小,然后再依次对前后进行拆分进行快速排序,递归该过程,直到序列中所有记录均有序。步骤:分解--递归--合并设当前待排序序列为R[low:high],其中low ≤ high,如果待排序的序列规模足够小,则直接进行排序,否则分3步处理。1、分解在R[low:high]中选定一个元素R[pivot],以此原创 2022-02-10 18:35:05 · 156 阅读 · 0 评论 -
python(9): 实现LRU
题目:设计LRU缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能set(key, value):将记录(key, value)插入该结构 get(key):返回key对应的value值[要求]set和get方法的时间复杂度为O(1) 某个key的set或get操作一旦发生,认为这个key的记录成了最常使用的。 当缓存的大小超过K时,移除最不经常使用的记录,即set或get最久远的。实现:1.采用字典+双向链表组合实现2.字典key为存数据时的key;字典value为原创 2021-01-13 23:11:07 · 667 阅读 · 0 评论 -
算法: 五大算法
1.快速排序算法原理:1.数组中找出一个值作为参考,遍历数组剩余值,比此值小则放在左边数组,比此值大则放在右边数组2.对分开的左,右数组进行步骤1处理;依次递归处理最终得到排序后的数组时间复杂度:O(nlogn)def quick_sort(a): if len(a)<2: return a left,right = [],[] mid_index = int(len(a)/2) mid = a[mid_index] de.原创 2020-11-20 12:01:49 · 709 阅读 · 0 评论