![](https://img-blog.csdnimg.cn/20200313104625510.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
《数据结构与算法分析》
文章平均质量分 86
介绍了当前流行的论题和新的变化,讨论了算法设计技巧,并在研究算法的性能、效率。
Java Punk
CSDN博客专家,Java领域创作者,知名企业技术专家,拥有丰富的分布式、高并发、高可用、大数据的系统架构设计以及研发经验...
展开
-
高并发策略之限流:计数器、漏桶、令牌桶 三大算法的原理与实战(史上最全)
限流,降级和熔断是应对互联网高并发场景的方案之一,也是尝尝被问道的部分,今天单独讲一下【限流】的算法和实现。原创 2022-10-24 23:30:28 · 3114 阅读 · 2 评论 -
由 BigDecimal 舍入算法引发的血案:ROUND_HALF_UP 与 ROUND_UP
ROUND_HALF_UP:根据保留数字后一位进行四舍五入( >=5 进位)原创 2022-08-23 14:45:15 · 4467 阅读 · 2 评论 -
别再用if-else了,分享一下我使用“策略模式”的项目经验...
我就把使用“策略模式”优化“if-else”的经验历程分享一下。原创 2022-08-01 16:46:51 · 323 阅读 · 2 评论 -
花5分钟理解一下【归并排序】,分治法在数据治理过程中很常用
归并排序,分治法的运用原创 2022-10-14 16:33:34 · 837 阅读 · 1 评论 -
面试官:同学,冒泡太简单了,要不手写一个【快速排序】吧...
手写快速排序算法,解析Arrays.sort()源码中快速排序的使用。原创 2022-08-04 11:03:44 · 1061 阅读 · 6 评论 -
Java Int 和 Integer 值的比较问题,都答对的绝对是高手
Java 中 Integer 类型对于(-128-127)之间的数会写入Cache缓存原创 2022-03-04 15:49:45 · 959 阅读 · 1 评论 -
关于:LeetCode 算法,面试常见算法【篇】(专题汇总)
本文整理了作者所有【Java算法】相关的文章原创 2022-03-08 10:24:56 · 361 阅读 · 1 评论 -
Java Arrays 数组相关算法题,源于大厂和《剑指offer》,欢迎大家留言补充~~
为了方便学习,小编把与数组相关的算法题目都整理了一份,欢迎交流!原创 2022-03-07 15:03:36 · 631 阅读 · 1 评论 -
LeetCode[15、16] - 三个数之和&&最接近的三个数之和
LeetCode[15 + 16] - 三个数之和&&最接近的三数之和原创 2022-03-01 11:25:31 · 7146 阅读 · 2 评论 -
缓存淘汰策略:LRU、LFU、FIFO 算法原理
LRU、LFU、FIFO、Two queues(2Q)算法原理原创 2022-02-18 10:32:35 · 4724 阅读 · 1 评论 -
LeetCode[5] - 求最长回文子串 && 动态规划 && 递归 && 暴力枚举
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为1000。原创 2022-02-17 20:05:40 · 752 阅读 · 1 评论 -
ListNode 链表算法面试题,源于大厂真题和《剑指offer》,欢迎大家留言补充~~
本文整理了大厂面试中比较多见的链表面试题,大家一起学习!原创 2021-12-03 16:41:33 · 740 阅读 · 2 评论 -
TreeNode 二叉树算法面试题,源于大厂真题和《剑指offer》,欢迎大家留言补充~~
二叉树(Binary tree)是一种非常重要的数据结构,更是算法题中高频出现的知识点,不管是为了应付工作还是面试,都有必要深度学习一下。原创 2021-11-26 19:12:52 · 716 阅读 · 1 评论 -
Java实现二叉树的先序、中序、后序、层序遍历(递归+非递归方法),附带自己深入浅出的讲解
本文只涉及了二叉树的先序、中序、后序和层序的递归和非递归遍历。结合自己的经验总结,和简单易懂的图形,深入浅出的进行介绍。原创 2021-11-24 16:07:50 · 6654 阅读 · 4 评论 -
RSA加密解密,签名验签简述 + 完美工具类RSAUtils
RSA 生成秘钥对,加密与解密,SIGN签名与验签方法原创 2020-12-29 20:44:27 · 3666 阅读 · 1 评论 -
RSA + AES加密原理,一线大厂主流的加密手段,流程浅析,有十分详细的测试Demo
既利用了 RSA 的灵活性,可以随时改动 AES 的密钥;又利用了 AES 的高效性,可以高效传输数据。原创 2020-12-29 17:28:50 · 14455 阅读 · 8 评论 -
RSA 与 AES 加密效率对比,用调研事实说明问题,用算法原理解决疑惑
相同的时间条件下,AES 解密的文件是 M 级,而 RSA 解密只有 KB 级,两者解密速度差异相当明显原创 2020-12-10 18:45:58 · 12004 阅读 · 3 评论 -
Redis为什么快?基于内存就完事了?无视Redis如此完美的数据结构,设计师表示已经哭晕在了厕所里
Redis 自己构建了一种名为简单动态字符串(simple dynamicstring,SDS)的抽象类型,并将 SDS 用作 Redis 的默认字符串使用。原创 2020-11-30 17:48:48 · 3073 阅读 · 2 评论 -
AES加密算法的简单介绍与实现
AES简介高级加密标准(AES,Advanced Encryption Standard)为最常见的对称加密算法(微信小程序加密传输就是用这个加密算法的)。转载 2019-11-05 18:52:23 · 947 阅读 · 0 评论 -
详解AES、MD5加密算法的区别和实现,包含Utils类
目前,主流的加密算法包括:DES,AES,RSA,MD5,SHA1,Base64原创 2019-11-04 22:15:47 · 3400 阅读 · 0 评论 -
关于Base64编码(Encode)与解码(Decode)的几种方式,这里面有道道
通过本篇的学习,你将学会Base64的基本概念,优缺点,常用的编码、解码方法,以及项目中的实战使用。原创 2020-11-24 16:32:40 · 23424 阅读 · 11 评论 -
理解算法中的时间复杂度,O(1),O(n),O(log2n),O(n^2)
算法复杂度分为时间复杂度和空间复杂度,二者也是衡量代码的好坏两个重要指标,常见时间复杂度排序为:O(1)<O(log2n)<O(n)<O(n^2)原创 2020-03-18 14:39:50 · 19436 阅读 · 6 评论 -
递归函数介绍,附案例分析:N的阶乘,组织机构树
递归函数的优点是定义简单,逻辑清晰。理论上,所有的递归函数都可以写成循环的方式,但循环的逻辑不如递归清晰。原创 2019-12-02 18:05:45 · 761 阅读 · 0 评论 -
【力扣】刷题,手写Java算法,每日一题,持续更新...
小编现在很迷恋刷算法题,就像当初迷恋做数独游戏一样,有种回到高中做数学题的感觉,很爽。本篇,主要是把自己发表过的算法题做一个总结,一篇概括,所以会持续更新,敬请期待!原创 2019-11-28 15:29:45 · 6367 阅读 · 3 评论 -
Java集合基础:HashSet和TreeSet介绍
目录Set集合简介:1、Set集合及常用方法2、HashSet集合2.1、HashSet基本操作2.2、HashSet元素添加分析3、TreeSet3.1、TreeSet基本操作Set集合简介:我们先上一个框架图,连接下set集合与Collection的关系:Set继承于Collection接口,是一个不允许出现重复元素,并且无序的集合,主要有HashS...原创 2019-07-15 17:46:22 · 418 阅读 · 0 评论 -
Java集合基础:Queue 队列
目录一、什么是队列二、队列的种类1、单队列2、循环队列:三、Java 集合框架中的队列 Queue四、Queue 方法介绍:1、 add(E), offer(E) 在尾部添加:2、remove(), poll() 删除并返回头部:3、element(), peek() 获取但不删除:4、其他一、什么是队列队列是数据结构中比较重要的一种类型,它支持 F...原创 2019-07-15 17:06:58 · 471 阅读 · 0 评论 -
Java集合基础:HashMap(JDK1.8)详解及源码学习
HashMap 简介底层数据结构分析JDK1.8之前JDK1.8之后HashMap源码分析构造方法put方法get方法resize方法HashMap常用方法测试HashMap 简介HashMap 主要用来存放键值对,它基于哈希表的Map接口实现,是常用的Java集合之一。JDK1.8 之前 HashMap 由 数组+链表 组成的,数组是 HashMap ...原创 2019-07-12 13:44:30 · 1048 阅读 · 0 评论 -
Java集合基础:LinkedList详解及源码学习
内部结构分析简介内部结构分析LinkedList源码分析构造方法添加(add)方法根据位置取数据的方法根据对象得到索引的方法检查链表是否包含某对象的方法:删除(remove/pop)方法LinkedList类常用方法测试:简介LinkedList是一个实现了List接口和Deque接口的双端链表。LinkedList底层的链表结构使它支持高效的插入和删除操作...原创 2019-07-12 13:39:23 · 346 阅读 · 0 评论 -
Java集合基础:ArrayList详解及源码学习
ArrayList 的底层是数组队列,相当于动态数组。与 Java 中的数组相比,它的容量能动态增长。在添加大量元素前,应用程序可以使用`ensureCapacity`操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。 它继承于 **AbstractList**,实现了 **List**, **RandomAccess**, **Cloneable**, **java.io.Serializable** 这些接口。原创 2019-07-12 13:28:04 · 339 阅读 · 0 评论