![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
分享LeetCode的刷题记录
buzhbuzh
这个作者很懒,什么都没留下…
展开
-
【分治算法】运算的优先级
解决上述算法题利用了分治思想,以每个运算符作为分割点,把复杂问题分解成小的子问题,递归求解子问题,然后再通过子问题的结果计算出原问题的结果。原创 2023-12-18 23:31:45 · 375 阅读 · 0 评论 -
【算法题】前缀树
一 概念前缀树刚开始就有一个头节点,遍历每一个字符串,构建出来头节点向每一个节点的路径。end表示这个节点是否是尾巴节点,count表示经过这个节点的字符个数。二 实现TreeNode结构Class TrieNode{ public int pass; public int end; public TrieNode[] nexts; public TrieNode(){ pass = 0; end = 0; nexts = new TrieNode[26]; }}原创 2022-05-01 23:25:41 · 161 阅读 · 0 评论 -
【算法题】并查集
一 概念先开始只有a,b,c等多个集合,对外提供两个操作boolean isSameSet(a,b)//判断a和b是否是一个集合void union(a,b) //将两个集合合并为同一个集合底层的数据结构: 链表查询的时候:1、找到节点a对应初始的node2、找到节点b对应的初始node3、如果节点a和节点b初始化节点不一致,则a节点和b节点不是一个集合,否则就是一个集合。并集的时候:1、找到a、b的初始节点,将某一个初始节点挂在另一个初始节点下。二 代码Class Node原创 2022-05-01 21:39:23 · 717 阅读 · 0 评论 -
搜索算法之DFS和BFS
一 常见的搜索算法1.1 广度优先搜索概念以根节点为起点,访问和根节点相关的节点,然后依次访问根节点引入的节点的相关的节点上图广度优先搜索的顺序分别是(1,2,3,4,5,6,7,8,9,10)代码1.2 深度优选搜索概念从根节点开始,选择一个路径进行遍历,直到当前路径被遍历完成后,再去选择另一个路径代码1.3 常见算法题1.3.1 二叉树的层级遍历(1) BFS方式class Solution { public List<List<Integer>原创 2020-10-10 08:36:46 · 171 阅读 · 0 评论