![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 94
一无是处的研究僧
这个作者很懒,什么都没留下…
展开
-
数组总和III
本篇文章主要给大家深入介绍组合总和II的内部原理,以及我们的分析方法和解树,深刻理解其中原理,掌握回溯法的精髓,并通过掌握的方法去解决这个算法问题!原创 2022-09-29 13:10:19 · 204 阅读 · 0 评论 -
组合总和 II
本篇文章主要给大家深入介绍组合总和II的内部原理,以及我们的分析方法和解树,深刻理解其中原理,掌握回溯法的精髓!原创 2022-09-24 15:38:51 · 396 阅读 · 0 评论 -
LeetCode39 组合总和
本篇文章主要给大家介绍leetcode组合总和这道题的解法,图文并茂,深刻理解回溯原理,使用一种通用的方式去理解回溯问题,寻找回溯问题的突破口!!!原创 2022-09-21 17:24:32 · 334 阅读 · 0 评论 -
通过组合问题看透回溯法
利用回溯法求解组合问题,图文并茂,深刻理解回溯原理,使用一种通用的方式去理解回溯问题,寻找回溯问题的突破口!!!原创 2022-09-20 19:46:43 · 185 阅读 · 0 评论 -
完全背包转化为多重背包
本篇文章主要介绍如果通过背包容量的限制,改变多重背包问题的状态转移方程,将完全背包问题转化为多重背包问题!原创 2022-08-15 18:51:43 · 93 阅读 · 0 评论 -
万字长文:从计算机本源深入探寻volatile和Java内存模型
在本篇文章当中,主要给大家深入介绍Volatile关键字和Java内存模型。在文章当中首先先介绍volatile的作用和Java内存模型,然后层层递进介绍实现这些的具体原理、JVM底层是如何实现volatile的和JVM实现的汇编代码以及CPU内部结构,深入剖析各种计算机系统底层原理...原创 2022-08-02 00:12:54 · 119 阅读 · 0 评论 -
状态机动态规划之股票问题总结
本篇文章是对前面三篇关于股票问题的总结,希望通过分析各个问题的状态转移过程,能够帮助大家快速了解状态机动态规划!!!原创 2022-07-30 23:32:44 · 189 阅读 · 1 评论 -
深入浅出零钱兑换问题——背包问题的套壳
在本篇文章当中将从最基本的问题开始深入浅出零钱兑换问题,帮助大家从动态规划的本源深入理解问题当中的原理,并且学会自己分析问题,分析数据之间的依赖关系,通过分析这种关系自己推导算法的优化过程,再也不怕类似于背包问题的算法题了。...原创 2022-07-30 00:30:27 · 285 阅读 · 0 评论 -
这种动态规划你见过吗——状态机动态规划之股票问题(下)
在本篇文章当中给大家介绍最后两道股票问题,最佳买卖股票时机含冷冻期和买卖股票的最佳时机含手续费,继续升入学习状态机动态规划!!!!原创 2022-07-28 17:28:53 · 223 阅读 · 0 评论 -
这种动态规划你见过吗——状态机动态规划之股票问题(中)
在本篇文章当中主要分析了另外两道题,分析这两道问题的状态机转化过程,深入学习状态机动态规划!原创 2022-07-27 22:26:46 · 216 阅读 · 0 评论 -
这种动态规划你见过吗——状态机动态规划之股票问题(上)
在本片文章当中主要通过介绍各种股票问题跟大家介绍状态机动态规划,主要了解在股票问题当中是如何在动态规划当中进行状态转移的,通过仔细剖析状态转移过程给大家介绍状态机动态规划原创 2022-07-27 09:57:45 · 75 阅读 · 0 评论 -
22张图带你深入剖析前缀、中缀、后缀表达式以及表达式求值
本文主要给大家用22张图介绍了如何将中缀表达式转化成后缀表达式,以及代码根据后缀表达式求值,用图解的方式帮助大家理解!!!原创 2022-07-20 17:30:02 · 868 阅读 · 6 评论 -
深入剖析(JDK)ArrayQueue源码
本篇文章主要跟大家介绍JDK容器ArrayQueue内部的实现原理以及他的源代码,各种操作直接用图描述,清晰明了!原创 2022-07-17 18:28:04 · 303 阅读 · 0 评论 -
01背包面试题系列(一)
在本篇文章当中主要跟大家介绍了分割等和子集这道题目,这道题目直观来看是使用划分子集的方法去解决问题,在本文当中给大家仔细剖析了如何将这个问题转化成01背包!!!原创 2022-07-17 14:44:52 · 178 阅读 · 0 评论 -
深入剖析斐波拉契数列
在本篇文章当中,主要跟大家介绍斐波拉契数列的各种解法,从最基本的递归求解再到数组求解,再到优化数组,最后使用矩阵幂的方法最大限度的降低时间复杂度,优化过程非常精彩!!!原创 2022-07-16 20:26:59 · 625 阅读 · 0 评论 -
深入剖析多重背包问题(下篇)
在本篇文章当中主要在前面几篇文章的基础之上,给大家分析多重背包的二进制优化问题,通过二进制优化可以极大的降低多重背包问题的时间复杂度!!!原创 2022-07-16 20:03:19 · 57 阅读 · 0 评论 -
深入剖析多重背包问题(下篇)
在本篇文章当中主要跟大家介绍了多重背包的两种解决办法,一种是将多重背包转化成01背包,另外一种方法是根据多重背包的动态转移方程去解决问题。原创 2022-07-16 20:01:15 · 300 阅读 · 0 评论 -
深入剖析多重背包问题(上篇)
在本篇文章当中主要跟大家介绍了多重背包的两种解决办法,一种是将多重背包转化成01背包,另外一种方法是根据多重背包的动态转移方程去解决问题。原创 2022-07-16 09:00:45 · 162 阅读 · 0 评论 -
ArrayDeque(JDK双端队列)源码深度剖析
17张图带你深入了解双端队列ArrayDeque内部原理,ArrayDeque内部精妙设计,简直令人拍案叫绝!!!!!原创 2022-07-15 01:17:17 · 266 阅读 · 0 评论 -
你真的懂01背包问题吗?01背包的这几问你能答出来吗?
本篇文章主要带大家从0开始剖析01背包问题,主要分享一些基本但经常被忽略的问题,比如for循环的顺序,数组空间优化问题的原理,用一维数组解决01背包问题!原创 2022-07-13 21:02:07 · 359 阅读 · 0 评论 -
HashMap源码深度剖析,手把手带你分析每一行代码,包会!!!
手把手带你剖析HashMap源代码,从基本的数组长度函数设计,再到扩容非常奇妙的链表的指向,再到增删改查四个常用操作分析,一步一步带你深入HashMap内部~~~~原创 2022-07-13 00:11:49 · 199 阅读 · 0 评论 -
HashMap设计原理与实现(下篇)200行带你写自己的HashMap!!!
200行代码,带你实现属于你自己的哈希表,让他能像JDK给我们提供的HashMap一样进行工作,再也不怕HashMap了!!!原创 2022-07-12 01:06:21 · 100 阅读 · 0 评论 -
自己动手实现 HashMap(Python字典),彻底系统的学习哈希表(上篇)——不看血亏!!!
带你系统学习并且自己动手写一个自己的哈希表,从哈希表的整体设计,再到细节哈希函数、哈希冲突和扩容设计,内容精彩至极!!!原创 2022-07-10 19:04:28 · 1341 阅读 · 0 评论 -
庖丁解牛斐波拉契数列和背包问题——详细解析两个问题优化过程,带你从最基本的问题看懂动态规划!!!
本篇文章通过分析斐波拉契数列和背包问题,并且分析并一步一步优化算法过程,斐波拉契数列从递归法到矩阵优化,背包问题从基本的算法到滚动数组再到一维数组优化,通过分析这些问题,彻底理解动态规划!!!......原创 2022-07-09 12:21:12 · 242 阅读 · 0 评论 -
ArrayList源码深度剖析,从最基本的扩容原理,到魔幻的迭代器和fast-fail机制,你想要的这都有!!!
ArrayList源码深度剖析,包含基本的设计原理,扩容原理,迭代器源码剖析,fast-fail机制剖析,精彩内容,你想要的这里都有!!!原创 2022-07-07 23:31:57 · 170 阅读 · 0 评论 -
数组容器(ArrayList)设计与Java实现,看完这个你不懂ArrayList,你找我!!!
本篇文章主要跟大家介绍我们最常使用的一种容器ArrayList、Vector的原理,并且自己使用Java实现自己的数组容器MyArrayList,可以向ArrayList一样工作!!!原创 2022-07-06 22:55:16 · 142 阅读 · 1 评论 -
LinkedList源码深度剖析
深入剖析LinkedList源代码,不管是设计原理还是细枝末节,一点也不放过!!!原创 2022-07-04 23:51:44 · 168 阅读 · 0 评论 -
链表设计与Java实现,手写LinkedList这也太清楚了吧!!!
链表设计与Java实现,带你手写LinkedList,这也太清楚了吧!!!原创 2022-07-03 16:35:48 · 156 阅读 · 0 评论 -
线性回归大结局(岭(Ridge)、 Lasso回归原理、公式推导),你想要的这里都有
线性模型所谓线性模型就是通过数据的线性组合来拟合一个数据,比如对于一个数据 XXXX=(x1,x2,x3,...,xn)(1)X = (x_1, x_2, x_3, ...,x_n) \tag{1}X=(x1,x2,x3,...,xn)(1)Y=f(X)=a1x1+a2x2+...anxn+b(2)Y = f(X) = a_1x_1 + a_2x_2 + ... a_nx_n + b \tag{2}Y=f(X)=a1x1+a2x2+...anxn+b(2)来预测 YYY的原创 2021-04-14 12:47:31 · 4510 阅读 · 0 评论 -
堆-原理到应用——堆排序、优先级队列
堆-原理到应用文章目录堆-原理到应用堆的介绍堆的实现如何存储一个堆如何将一个数组变成一个堆堆的介绍完全二叉树:完全二叉树是满二叉树去除最后N个节点之后得到的树(N≥0,N∈N∗N \geq0, N \in N^*N≥0,N∈N∗)大根堆:节点的父亲节点比自身节点大,比如根节点的值为888,比其子节点 777, 666大,其余的类似。小根堆:节点的父亲节点比自身节点小,比如根节点的值为111,比其子节点222, 333的值要笑,其余的也类似。堆的实现如何存储一个堆堆的存储是使用数组原创 2021-03-15 23:52:03 · 156 阅读 · 0 评论 -
DES,3DES,CBC模式算法——从小白到登堂入室
DES算法——从小白到登堂入室从字符串信息到01比特数首先什么是加密?加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的内容。(百度百科)简单来说比如像下面这样:原文经过加密算法之后被加密成密文。原文被加密成密文之后意义发生了改变窃听者就不能发现消息内容,这正是加密信息的意义。计算机中的信息在经过物理层的时候最终都会变成01比特流,加密也正是基于比特流,如果想变成信息只需经过编码即可。例如想Java/Python将字符串或数字原创 2020-11-14 10:43:20 · 1247 阅读 · 0 评论