自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 算法类型描述以及举例08_树的DFS(深搜Depth First Search)

JPA框架(如Hibernate、EclipseLink等)通常提供了事务管理的功能,可以通过使用注解或编程方式来管理事务的边界,确保对数据库的操作在事务中执行,并在需要时进行提交或回滚。通过在需要进行事务管理的方法上添加@Transactional注解,可以实现事务的自动管理,确保方法在事务中执行,并在方法结束时自动提交或回滚事务。通过合理使用这些工具和框架,可以在Java应用程序中保证事务的完整性和一致性,从而确保数据操作的正确性和可靠性。锁机制可以防止数据竞争和并发冲突,确保事务的正确执行。

2023-05-19 11:23:32 73

原创 算法类型描述以及举例08_树的DFS(深搜Depth First Search)

树形DFS基于深搜(Depth First Search (DFS))技术来实现树的遍历。不同于BFS层级遍历,DFS优点遍历到最底层子节点。

2023-04-20 17:39:12 125 1

原创 算法类型描述以及举例13_k路合归并(K-way merge)

K路归并能帮咱们解决那些涉及到多组排好序的数组的问题。每当你的输入是K个排好序的数组,你就可以用堆来高效顺序遍历其中所有数组的所有元素。你可以将每个数组中最小的一个元素加入到最小堆中,从而得到全局最小值。当我们拿到这个全局最小值之后,再从该元素所在的数组里取出其后面紧挨着的元素,加入堆。如此往复直到处理完所有的元素。

2023-04-20 17:24:21 200

原创 算法类型描述以及举例12_前k个系列(Top ‘K’ Elements)

任何让我们求解最大/最小/最频繁的K个元素的题,都遵循这种模式。用来记录这种前K类型的最佳数据结构就是堆了(译者注:在Java中,改了个名,叫优先队列(PriorityQueue))。这种模式借助堆来解决很多这种前K个数值的问题。

2023-04-20 17:23:26 72

原创 算法类型描述以及举例11_改造过的二分(Modified Binary Search)

对于一组满足上升排列的数集(排好序的数组,链表,或是排好序的矩阵)来说,通过不断的二分区域来实现对数集中数据查找的一种方法。

2023-04-20 17:15:24 55

原创 算法类型描述以及举例17_回溯算法(Back_Traceing)

回溯算法的解题思路

2022-10-31 08:52:04 79 1

原创 算法类型描述以及举例02_双指针(two points)

双指针类型题目的解题思路

2022-10-31 08:47:24 148

原创 算法类型描述以及举例07_树的BFS(宽搜Tree Breadth First Search)

算法类型描述以及举例07_树的BFS(宽搜Tree Breadth First Search)原帖子链接:https://zhuanlan.zhihu.com/p/1049834421、简单描述遍历树的一种方式,也成层序遍历。借助于队列数据结构,从而能保证树的节点按照他们的层数打印出来。打印完当前层所有元素,才能执行到下一层。所有这种需要遍历树且需要一层一层遍历的问题,都能用这种模式高效解决。这种树上的BFS模式是通过把根节点加到队列中,然后不断遍历直到队列为空。每一次循环中,我们都会把队头结点拿出

2020-06-16 01:12:37 160

原创 算法类型描述以及举例06_反转链表( In-place Reversal of a LinkedList)

算法类型描述以及举例06_反转链表( In-place Reversal of a LinkedList)原帖子链接:https://zhuanlan.zhihu.com/p/1049834421、简答描述一种能够改变链表顺序并能重复使用遍历到的节点的算法。将每次遍历完原来链表的结果,的下一个指针位置指向一个结果链表。2、优势重复使用原链表中已有的节点,降低空间复杂度3、使用场景如果你被问到需要去翻转链表,要求不能使用额外空间的时候4、例子/** * Definition fo

2020-06-15 21:27:18 150

原创 算法类型描述以及举例03_快慢指针(Slow pointers)

算法类型描述以及举例03_快慢指针(Slow pointers)原帖子链接:https://zhuanlan.zhihu.com/p/1049834421、简单描述通过控制指针的速度不同,去证明某种结论。这种模式,有一个非常出门的名字,叫龟兔赛跑。咱们肯定都知道龟兔赛跑啦。但还是再解释一下快慢指针:这种算法的两个指针的在数组上(或是链表上,序列上)的移动速度不一样。还别说,这种方法在解决有环的链表和数组时特别有用。通过控制指针不同的移动速度(比如在环形链表上),这种算法证明了他们肯定会相遇的。快的

2020-06-15 12:29:28 137

原创 算法类型描述以及举例04_区间合并(Merge Intervals)

算法类型描述以及举例04_区间合并(Merge Intervals)原帖链接:https://zhuanlan.zhihu.com/p/104983442参考链接:https://leetcode-cn.com/problems/merge-intervals/solution/chi-jing-ran-yi-yan-miao-dong-by-sweetiee/1、简单描述区间合并模式是一个用来处理有区间重叠的很高效的技术2、优势处理区间重叠的问题比较简答,易于理解3、使用场景当你需要产生

2020-06-15 02:09:31 220

原创 算法类型描述以及举例02_双指针(two points)

算法类型描述以及举例02_双指针(two points)原帖子链接:https://zhuanlan.zhihu.com/p/1049834421、简单描述:双指针是这样的模式:两个指针朝着左右方向移动(双指针分为同向双指针和异向双指针),直到他们有一个或是两个都满足某种条件。2、优势:相比较暴力解法穷举,双指针可以过滤掉部分对达成目标无意义的遍历,从而达成优化时间复杂度的作用。3、使用场景一般来说,数组或是链表是排好序的,你得在里头找一些组合满足某种限制条件这种组合可能是一对数,三个数,

2020-06-14 23:34:38 336

原创 算法类型描述以及举例01_滑动窗口(Sliding window)

算法类型描述以及举例01_滑动窗口(Sliding window)原帖子链接:https://zhuanlan.zhihu.com/p/1049834421、简单描述滑动窗口类型的题目经常是用来执行数组或是链表上某个区间(窗口)上的操作。比如找最长的全为1的子数组长度。滑动窗口一般从第一个元素开始,一直往右边一个一个元素挪动。窗口大小可能固定也可能变化。2、优势相对比暴力穷举,滑动窗口可以灵活控制指针,达到过滤掉一部分无用遍历的目的,提高时间复杂度。3、使用场景这个问题的输入是一些线性结构:

2020-06-14 23:33:57 253

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除