算法题
文章平均质量分 65
二叉树、单、双链表、数组题
刘大猫.
如果有天突然发现路的尽头还是路的话,希望你还没错过太多沿路的风景和眼前珍惜的人。
展开
-
实现文件目录结构功能
说明:该文章用于目录结构递进显示Nodepackage com.geespace.microservices.directory.assets.entity;import java.util.ArrayList;import java.util.List;import lombok.Data;/** * @Author: wjq * @Date: 2021-03-14 13:46 * @Version 1.0 */@Datapublic class Node { /*原创 2021-10-12 14:22:09 · 190 阅读 · 0 评论 -
单链表题+数组题(快慢指针和左右指针)
说明:本文章用于 “单链表题+数组题”“链表”知识双指针技巧:分两类,一类是“快慢指针”,另一类是“左右指针”“快慢指针”:-> 解决链表问题,判断链表是否包含环“左右指针”:-> 解决数组(字符串)问题,比如二分搜索快慢指针框架:Link method(Link head) { Link fast,slow; fast = slow = head; while (fast != null && fast.next != null) { //快指针每次前原创 2021-10-12 14:06:48 · 343 阅读 · 0 评论 -
BFS(Breath First Search 广度优先搜索)
一、知识及框架BFS算法都是用 “队列” 结构BFS和DFS最主要区别:bfs找到的路径一定是最短的,但代价是空间复杂度比dfs大很多bfs本质:一幅图,从起点到终点,求最短路径bfs空间复杂度高,而dfs空间复杂度较低形象点说:dfs是线,bfs是面,dfs是单打独斗,bfs是集体行动dfs和bfs的时间复杂度都是O(N)BFS干的事:从起点start到终点target的最近距离BFS应用举例:走迷宫、连连看…※ 思考问题1:为什么bfs、dfs都可以找到最短距离,但一般都使用b.原创 2021-10-11 10:30:29 · 775 阅读 · 0 评论 -
”回溯算法“框架及练习题
结论:回溯 = 穷举解决一个回溯问题,实际上就是一个决策树的遍历过程路径:就是已经做出的选择选择列表:就是你当前可以做出的选择结束条件:就是base case条件,也就是临界条件框架如下:result = []def backtrack(路径,选择列表) { if 满足结束条件 : result.add(路径) return for 选择 in 选择列表 做选择 backtrack(路径,选择列表) 撤销选择 }举例:经典回溯算法问题:全排列问题pub.原创 2021-10-11 09:56:29 · 199 阅读 · 0 评论 -
JAVA 二叉树面试题
摘要问题1:求二叉树的最大深度问题2:求二叉树的最小深度问题3:求二叉树中节点的个数问题4:求二叉树中叶子节点的个数问题5:求二叉树中第k层节点的个数(不是求第k层叶子节点个数)问题6:判断两棵树是否相同问题7:给定一个二叉树,检查它是否是镜像对称的。问题8:(递归)二叉树的前序遍历问题9:(递归)二叉树的中序遍历问题10:(递归)二叉树的后序遍历代码Node节点import lombok.Data;/** * 二叉树数据结构 * @author: liudz * @原创 2021-07-01 19:18:13 · 824 阅读 · 0 评论