![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法与数据结构
文章平均质量分 96
偏执狂小小豪
白茶清欢无闲事,我在等风也等你。
展开
-
随机数产生代码C++(用于程序中生成vector等,很方便)
在用c++编写或者测试程序的时候,经常会输入vector等,利用随机数产生函数,比较方便看了一边不错的文章,产生随机数/C++产生随机数C++中没有自带的random函数,要实现随机数的生成就需要使用rand()和srand()。*不过,由于rand()的内部实现是用线性同余法做的,所以生成的并不是真正的随机数,而是在一定范围内可看为随机的伪随机数。rand()rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h, 其值为2147483647。原创 2020-09-23 21:16:28 · 2674 阅读 · 0 评论 -
LRU(最近最少使用)数据缓存机制的实现
面试常问1.首先,为什么会需要数据的缓存?/*(1)主要实现就是通过一个双端队列和hashmap; (2)首先是想把数据(key - value)存放在一个数组中,想到是用vector容器还是队列,由于需要插入和删除 数据,vector的话就需要数据的移动,但是用双端队列的话,就能实现o(1)的复杂度:自然存储的是 pair<int,int>数据,这样当访问新的数据的时候,就把新的数据插入到队头,(也就是最近使用的存对 头,最久未使用的原创 2020-09-11 09:09:48 · 453 阅读 · 0 评论 -
C++ map根据value进行排序,以及sort中cmp比较器的实现
这篇文章根据leetcode中的第451题:根据字符出现频率排序链接:leetcode 451 根据字符出现频率排序来实现map的根据value值进行排序看了网上很多内容,整理下:一、按Key排序 map内部本身按序存储的(比如红黑树),这样方便实现快速查找。在我们插入 <key, value>键值对时,map就会自动按照key的大小顺序进行存储。因而作为key的 类型必须能够进行大小运算的比较。比如int、double、string、char等类型二、按Value原创 2020-08-20 17:49:00 · 2876 阅读 · 3 评论 -
TOP-K问题(清晰,巨全)
毫无疑问,TOP-K问题太太太太重要了,尤其是面试中。之前在学校专业英语课程中简单分享过大数据处理中Hadoop(分布式计算开源框架)的相关知识,也是从TOP-K问题入手的。在看了很多相关的博文之后,有很多伙伴也介绍的很详细,但是我认为接下来分享的大神(大大大神)的文章讲的清楚的一批:58沈剑 架构师之路为了自己方便看,以及之后丰富此篇章的内容,就直接截下来了。不得不说,讲的太清晰了,当然,各种方法的具体实现还是要认真掌握的。其实之前还了解到一种方法就是BitMap原创 2020-08-19 22:16:02 · 10605 阅读 · 0 评论 -
用两个栈实现队列,反之不可以
利用两个栈实现队列,当然用自己实现的栈面试高频考察点typedef struct node //定义节点的结构体LinkStack CreateNULLStack(LinkStack &S)//创建空栈,实际就是创建空的链LinkStack Push(LinkStack &S, int data)//栈的插入node Pop(LinkStack &S)//出栈**LinkStack StackToQueuPush(LinkStack &S, int data)**原创 2020-08-19 17:43:43 · 611 阅读 · 0 评论 -
经典快速排序(左右指针)
#include<iostream>#include<vector>using namespace std;class Sort{public: void classical_quick_sort_quick_slow_index(vector<int>& nums,int left,int right);//经典快速排序,快慢指针法 int classical_quick_sort_quick_slow_index_partition(.原创 2020-08-11 10:07:34 · 360 阅读 · 0 评论 -
经典快速排序(快慢指针)
#include<iostream>#include<vector>using namespace std;class Sort{public: void classical_quick_sort_quick_slow_index(vector<int>& nums,int left,int right);//经典快速排序,快慢指针法 int classical_quick_sort_quick_slow_index_partition(v原创 2020-08-11 10:04:34 · 782 阅读 · 0 评论