秋招
文章平均质量分 62
正如此时
这个作者很懒,什么都没留下…
展开
-
秋招-算法-查分与前缀和数组篇
差分数组的主要适用场景是频繁对原始数组的某个区间的元素进行增减。前缀和技巧适用于快速、频繁地计算一个索引区间内的元素之和。原创 2022-08-22 21:52:23 · 256 阅读 · 0 评论 -
秋招-算法-滑动窗口篇
滑动窗口是双指针的一种特例,可以称为左右指针,在任意时刻,只有一个指针运动,而另一个保持静止。滑动窗口路一般用于解决特定的序列中符合条件的连续的子序列的问题。滑动窗口的时间复杂度是线性的,一般为O ( n ),滑动窗口是一种全遍历问题,一定会遍历到末尾的。...原创 2022-08-15 12:25:34 · 360 阅读 · 0 评论 -
秋招-算法-BFS篇
BFS 的核心思想就是把一些问题抽象成图,从一个点开始,向四周开始扩散。一般来说,我们写 BFS 算法都是用「队列」这种数据结构,每次将一个节点周围的所有节点加入队列。BFS 相对 DFS 的最主要的区别是:BFS 找到的路径一定是最短的,但代价就是空间复杂度可能比 DFS 大很多。...原创 2022-08-07 18:10:29 · 1199 阅读 · 0 评论 -
秋招-数据结构-链表篇
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。...原创 2022-08-02 23:27:02 · 1096 阅读 · 0 评论 -
秋招-Java-JVM 与 JMM篇
JVM是JavaVirtualMachine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。原创 2022-08-01 12:20:43 · 1129 阅读 · 0 评论 -
秋招-算法-回溯算法篇
回溯实际上是一种试探算法,这种算法跟暴力搜索最大的不同在于,在回溯算法里,是一步一步地小心翼翼地进行向前试探,会对每一步探测到的情况进行评估,如果当前的情况已经无法满足要求,那么就没有必要继续进行下去,也就是说,它可以帮助我们避免走很多的弯路。回溯算法的特点在于,当出现非法的情况时,算法可以回退到之前的情景,可以是返回一步,有时候甚至可以返回多步,然后再去尝试别的路径和办法。这也就意味着,想要采用回溯算法,就必须保证,每次都有多种尝试的可能。...原创 2022-07-31 23:48:30 · 1065 阅读 · 0 评论 -
秋招-算法-动态规划篇
动态规划通过组合子问题的解得到原问题的解。适合动态规划解决的问题具有重叠子问题和最优子结构两大特征,通常使用空间换时间的办法。重叠子问题动态规划的子问题具有重叠的,即各个子问题中包含重复的更小的子问题。若使用暴力法进行穷举,求解这些相同子问题会查收大量的重复计算,效率抵下。动态规划在第一次求解某个子问题时,会将子问题的解保存至矩阵中,后续遇到子问题时,则直接通过查表获取解,保证每个独立子问题制备计算一次,从而降低算法的时间复杂度。最优子结构。...原创 2022-07-29 00:10:28 · 2033 阅读 · 0 评论 -
秋招-数据结构-二叉树篇
二叉树是n个有限元素的集合,该集合或者为空、或者由一个称为根(root)的元素及两个不相交的、被分别称为左子树和右子树的二叉树组成,是有序树。当集合为空时,称该二叉树为空二叉树。顺序存储可能会浪费空间,但是读取某个指定的节点的时候效率比较高,链式存储相对二叉树比较大的时候浪费空间较少,但是读取某个指定节点的时候效率偏低O(nlogn),整体考虑二叉树是从空间和时间上都较为平衡的一种结构。...原创 2022-07-25 23:06:37 · 1901 阅读 · 0 评论 -
秋招-准备计划
秋招准备计划原创 2022-07-25 23:05:54 · 1952 阅读 · 0 评论