
算法
赢啦啦
加油
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
查找两个二叉树节点的最近公共祖先Java
前言本来想偷懒看看别人的代码,收藏一下完事了,但找了半天也没找到想要的非递归的Java版本,所以本文着重讲下非递归方式的实现,供自己学习的同时分享给大家。递归方式实现递归方式实现直接点传送门,这个小姐姐已经解释的及其通俗易懂了。非递归方式实现问题:如图所示,若要查找节点4和节点5的最近公共祖先。从图中我们可以看到最近的公共祖先为节点2,那么怎样才能找到这个节点2呢?思路:从根节点1到节点4和节点5的路径分别为{1,2,4}和{1,2,5},可以发现2节点是两个..原创 2020-05-21 00:07:41 · 850 阅读 · 0 评论 -
栈模拟队列 | 队列模拟栈 (JAVA)
栈模拟队列思路:两个栈操作从一个栈中push 从另外一个栈中popimport java.util.Stack;/** * @author yinglala * 栈模拟队列 * 思路:两个栈操作 * 从一个栈中push 从另外一个栈中pop */public class Stack2Queue { private Stack stack1 = new Stack(); private Stack stack2 = new Stack(); //syn原创 2020-05-19 08:18:33 · 468 阅读 · 0 评论 -
翻转句子中单词的顺序(Java)
import java.util.Stack;/** * @author yinglala * 翻转句子中单词的顺序 */public class StringOverturn { /** * 翻转句子中单词的顺序 * @param str 要翻转的字符串 * @return */ public static String overturn(String str){ Stack<String> stack = .原创 2020-05-18 19:32:48 · 325 阅读 · 0 评论 -
二叉树的前序中序后序遍历--递归和非递归两种方式(Java实现)
简单介绍一下:前序遍历:父节点--左孩子节点--右孩子节点中序遍历:左孩子节点--父节点--右孩子节点后序遍历:左孩子节点--右孩子节点--父节点前中后指的是父节点在整个树的处理过程中次序。代码:实体类:/** * @author yinglala */public class BinaryTree { private int data; private BinaryTree lchild; private BinaryTree rch...原创 2020-05-18 18:46:59 · 453 阅读 · 0 评论 -
字符串匹配算法:BF(暴力破解)算法
直接上代码:/** * @author yinglala * * 字符串匹配算法 暴力破解算法 */public class BF { /** * 暴力匹配算法 * @param str 主串 * @param sub 子串 * @param pos 主串初始游标 * @return */ p...原创 2020-05-07 19:32:21 · 398 阅读 · 0 评论 -
堆排序算法 java
二叉树的特性* 左子树下标 = 父节点下标 * 2 + 1* 右子树下标 = 父节点下标 * 2 + 2代码如下:package sort;import org.junit.Test;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * 堆排序算法 ...原创 2020-04-28 17:40:01 · 208 阅读 · 0 评论 -
快速排序算法 java
直接上代码:import org.junit.Test;import java.util.ArrayList;import java.util.Arrays;import java.util.List;/** * 快速排序算法 * @author yinglala */public class Quick { /** * 基本思想: * 通过...原创 2020-04-22 23:30:23 · 246 阅读 · 0 评论