数据结构
数据结构
wenyixicodedog
文一西路代码狗
展开
-
1000个苹果要分到10个箱子中去 两种分析方式
前些日子接到了一个Java开发的电话面试,接了电话人家开门见山就直接说现在是否方便,什么什么时候收到您的简历投递,是否可以进行电话面试,如果可以就可以直接开始了,emmm,这么突然,也没好意思问公司名称是啥,招的是中级还是高级,算了,直接上车吧,心里想着面试结束了问问公司名称,然后去招聘网站上查下招聘职位,一共面试了大概一个半小时,面试快结束的时候聊一些其他的才知道人家招的是Java高级开发。面试问了好多,从数据结构到算法,从框架源码到系统设计,从javaSE基础到多线程、某些业务场景下解决高并发等等.原创 2020-08-01 01:24:05 · 5057 阅读 · 3 评论 -
数据结构和算法 之 LinkedHashMap实现LRU算法
目录 1、背景介绍 2、LinkHashMap实现 3、LinkHashMap实现原理一、背景介绍LRU全称是Least Recently Used,即最近最久未使用的意思。LRU算法的主要思想:设置一个缓存大小阈值,超过阈值就去删除最老的数据。新添加数据或者访问数据的时候保证最老的数据总是在链表的头部,最新的数据总是在尾部,这样每次需要删除数据时把头部数据删除即可。二、LinkHashMap实现...原创 2020-07-30 00:47:07 · 488 阅读 · 0 评论 -
数据结构和算法 之 两种方式实现TOP K
目录 1、背景介绍 2、Redis实现 3、PriorityQueue实现一、背景介绍什么是 Top K 问题?简单来说就是在一堆数据里面找到前 K 大(也可以是前 K 小)的数。这个问题也是十分经典的算法问题,不论是面试中还是实际开发中,都非常具有代表性。既然是要查询前 K 大的数,那么最容易想到的方法就是进行排序了,通过如...原创 2020-07-30 00:44:03 · 569 阅读 · 0 评论 -
数据结构和算法 之 手动实现归并排序(稳定排序O(nlogn))及原理分析
算法介绍归并排序(MERGE-SORT)是利用分而治之的思想实现的排序方法,该算法采用经典的分治(divide-and-conquer)策略。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。归并排序由冯·诺依曼提出,是一种稳定、通用的排序算法求解策略。归并示例归指的是利用递归将原数组每次进行二分,分解为两个子数组。并指的是将两个有序序列合并成一个有序序列的方法。如设有数列{13, 121, -12, 14, 34, -23, 87, -87, .原创 2020-07-24 22:26:36 · 528 阅读 · 0 评论