算法
文章平均质量分 61
★Orange★
梧高凤必至,花香蝶自来.
展开
-
C++实现大堆根
大堆根调整函数(从前调整):目的:1.在删除元素(堆顶)时,需要将堆顶元素(下标为0的元素)与数组尾元素交换,然后再删除数组尾的元素2.调整原则:将index与他左/右节点最大的元素交换,并循环向下做同样的操作全部代码main.cpp:运行结果bigheap.h:参考&感谢主要参考这里写的......原创 2022-06-08 15:08:38 · 830 阅读 · 0 评论 -
用C++判断素数和统计素数的时间效率
*方法二方法三运行结果统计素数方法一(使用素数判断方法二来统计)方法二(使用素数判断方法三来统计)*方法三(将不是素数的数排除,埃氏筛)方法四(在埃氏筛的基础上,减少重叠,线性筛)实验结果总结1.在素数判断中,效率:方法三 > 方法二 > 方法一。2.在素数统计中,效率:方法四 > 方法三 > 方法二 > 方法一。3.素数判断需要掌握方法二,了解方法三;素数统计中需要掌握方法三,了解方法四。原创 2022-06-02 15:12:34 · 617 阅读 · 0 评论 -
总结-常用的位运算技巧
这里写目录标题参考一、有趣的位操作1. 利用或操作 `|` 和空格将英文字符转换为小写2. 利用与操作 `&` 和下划线将英文字符转换为大写3. 利用异或操作 `^` 和空格进行英文字符大小写互换4. 判断两个数是否异号5. 不用临时变量交换两个数二、算法中的位操作1. 计算一个无符号整数二进制表示中数字为1的个数2. 判断一个数是不是2的指数3. 查找只出现一次的元素参考一、有趣的位操作1. 利用或操作 | 和空格将英文字符转换为小写 char ch = 'A'; char ch1原创 2022-05-28 20:34:23 · 255 阅读 · 0 评论 -
python实现895-最大栈频率
这里写目录标题参考功能思路代码参考题目来源:leetcode,labuladong功能设计一个类似堆栈的数据结构,将元素推入堆栈,并从堆栈中弹出出现频率最高的元素。FreqStack() 构造一个空的堆栈。void push(int val) 将一个整数 val 压入栈顶。int pop() 删除并返回堆栈中出现频率最高的元素。如果出现频率最高的元素不只一个,则移除并返回最接近栈顶的元素。思路因要弹出出现频率最大的一个数,则需要一个字典存储数-数出现的频率,记为VF表,为方便弹出最原创 2022-03-26 16:50:39 · 1414 阅读 · 0 评论 -
python实现最近最少使用(LRU)缓存机制
目录参考功能思路代码参考题目来源:labuldongLRU理解:(百科)是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。功能初始化一个容量为cap的缓存器get()获取缓存中的任务put()实现向容器添加任务(以键值对形式)思路使用python中的字典,默认是按照创建字典的时间顺序排序的在获取任务时,首先判断是否存在,存在则返回并将该任务移到字典末尾添加任务时,先判断是否存在该任务,存在则修改值即可,不存在则需判断容量(容量满了则需移除字典第一个),添加新的任务代原创 2022-03-23 12:08:56 · 1769 阅读 · 2 评论