Algorithm
文章平均质量分 64
算法题的训练,提升逻辑思维和编码能力
一觉睡过头的菜鸡
啦啦啦~
展开
-
二叉树的前序、中序和后序遍历(Java实现)
前序、中序、后序遍历二叉树原创 2022-07-02 14:51:28 · 4607 阅读 · 1 评论 -
BFS与DFS
BFS,DFS原创 2022-07-01 22:38:03 · 454 阅读 · 0 评论 -
用两个栈实现队列
文章目录一、需求二、实现思路三、代码实现四、完整代码总结 一、需求 使用两个栈实现一个自定义类,完成队列的尾部入列和头部出列功能,需完全符合先进先出的原则。 二、实现思路 先建立两个队列:stack_in和stack_out stack_in只负责元素的入队操作 stack_out只负责元素的出队操作 当在出队操作时,只有在stack_out为空时,才把stack_in中的元素倒入stack_out中。 三、代码实现 建立两个队列,并在构造器中初始化 private Deque<Inte原创 2022-05-31 13:16:36 · 80 阅读 · 0 评论 -
栈----实现括号匹配(Java)
文章目录一、什么是栈二、在Java中使用栈1. Java中可以实现栈2. 使用栈实现括号匹配总结 一、什么是栈 在数据结构中,栈的应用非常多,我们可以把栈比作一个只能向上开的箱子,当我们向里面放东西的时候都是放在最上面,当我们要拿东西的时候也是从最上面开始拿,所以想要获取最下面的那个东西时,就需要把上面所有东西都拿出来才行,所以我们常说栈是数据先进后出。 二、在Java中使用栈 1. Java中可以实现栈 Stack: Stack类是Vector的一个子类,见名识意,这就是实现栈的一个类,但我们一般不使原创 2022-05-28 22:56:48 · 2718 阅读 · 2 评论 -
力扣467. 环绕字符串中唯一的子字符串 (动态规划实现)
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录一、题目二、暴力法解三、动态规划解1. 思路2.代码如下总结 一、题目 链接:https://leetcode.cn/problems/unique-substrings-in-wraparound-string 二、暴力法解 我先思考使用的暴力法进行求解(两个for循环) 代码如下: public int findSubstringInWraproundString(String p) { if (p .原创 2022-05-25 23:07:48 · 105 阅读 · 1 评论 -
广度优先搜索遍历二叉树
1.前言 当我们在需要遍历一颗二叉树时,我们可以使用广度优先搜索算法(BFS)进行实现,广度优先算法会一层一层的遍历二叉树,从根节点向下一层一层的访问,直到没有节点为止。 2. Queue 在Java中,我们一般使用队列(Queue)进行广度优先搜索的实现。 Queue中的主要方法: add()或offer()加入数据 poll()从队列中删除第一个元素 peek()用于在队列的头部查询元素,只得到但不会删除这个元素, isEmpty()判断当前队列是非为空。 3. 实现思路 创建队列后先将根结点入队,原创 2022-05-24 20:18:37 · 484 阅读 · 1 评论