算法
行走在路上的蜗牛
空杯心态,学无止境
展开
-
UUID
概念UUID 是 通用唯一识别码(Universally Unique Identifier)的缩写,是一种软件建构的标准,亦为开放软件基金会组织在分布式计算环境领域的一部分。其目的,是让分布式系统中的所有元素,都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。(from 百度百科)构成UUID是一个128比特的数值,这个数值可以通过一定的算法计算出来。为了提高效率,常用的UU...原创 2020-04-17 21:16:14 · 282 阅读 · 0 评论 -
一致性hash算法
解决的问题: 在使用hash时,新增结点或者删除结点(结点失效)导致数据的大量移动带来的性能影响,通过使用一致性hash减小带来的影响,提高服务的性能 来源 1997年,麻省理工学院(MIT)的 David Karger 等6个人发布学术论文《Consistent hashing and random trees: distributed caching protocols for reli...原创 2020-04-17 21:25:49 · 140 阅读 · 0 评论 -
排序算法2
对比 代码实现 #include <iostream>#include <vector>#include <utility>#include <algorithm>using namespace std;#define MAX_LENGTH 32void printArray(std::vector<int...原创 2020-04-17 21:27:37 · 117 阅读 · 0 评论 -
四则运算-c++
思路: 中缀表达式转后缀表达式 思路:(一个操作符stack和一个后缀vec) 从左往右遍历 数字直接入后缀vec 操作符压入操作符stack 操作符stack为空,任何符号压入操作符stack 不为空 左括号直接压入操作符stack 遇到右括号,util 操作符stack中最近的左括号全部依次出操作符stack入后缀vec ...原创 2020-04-17 21:29:05 · 467 阅读 · 0 评论 -
页面置换算法
在地址映射过程中,若在页面中发现所要访问的页面不在内存中,则产生缺页中断。当发生缺页中断时,如果操作系统内存中没有空闲页面,则操作系统必须在内存中选择一个页面将其移出内存,以便为即将调入的页面让出空间。而来选择淘汰哪一页的规则叫做页面置换算法。 分类: <1> 全局置换:在整个内存空间置换 <2> 局部置换:在本进程中进行置换 全局置换算法: 工作集算法 缺页率...原创 2020-04-17 21:41:01 · 140 阅读 · 0 评论 -
LRU算法--作为缓存
LRU算法的设计原则是:如果一个数据在最近一段时间没有被访问到,那么在将来它被访问的可能性也很小。也就是说,当限定的空间已存满数据时,应当把最久没有被访问到的数据淘汰。 实现思想:用list保存数据,用unodered_map保存指向list的指针(方便定位查找),和一个数据量的最大值 代码如下: #include<iostream>#include<functiona...原创 2020-04-17 21:40:39 · 216 阅读 · 0 评论 -
单链表反转-c++
思路:首先保留头结点 ,分为两段,一个已倒序的list,一个待处理的list. 代码如下: #include<iostream>#include<functional>using namespace std;struct Node{ int data = 0; Node* p_next = nullptr;};Node* reverse_lis...原创 2020-04-17 21:44:58 · 292 阅读 · 0 评论 -
二叉树遍历
遍历方式 先序遍历(根节点,左孩子,右孩子)--深度遍历 中序遍历(左孩子,根节点,右孩子) 后续遍历(左孩子,右孩子,根节点) 层次遍历(代码未实现) 先序遍历非递归思想(通过栈):--广度遍历从根节点循环遍历左孩子,并输出data,右孩子依次压栈 出栈进入顶层循环 思路2:从根节点循环遍历左孩子,并输出data,根节点和左孩子依次压栈 出栈,...原创 2020-04-17 21:26:36 · 131 阅读 · 0 评论