算法
文章平均质量分 92
月下吴钩
路漫漫其修远兮,吾将上下而求索。
注:抵制CSDN上的无脑抄袭错误内容,坚持写正确的良心文章。
展开
-
Java链表的常用技巧和算法总结
参考文献:https://www.sohu.com/a/295725366_100281310链表的操作总结链表反转这是一个简单的链表操作问题,在leetcode上面有52.7%的通过率,难度是简单。但是还是想在这里基于java做一下总结,顺便总结一下链表的各种操作。首先先看一下leetcode上面的题目:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL原创 2021-06-28 00:14:26 · 504 阅读 · 1 评论 -
链表的多种翻转算法java版(由浅入深,逐个击破)
前言:本文先从链表的翻转算法和链表两两交换的算法讲起,最后糅合起来讲解K个一组的链表翻转算法。1、206. 反转链表问题描述:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?题解:1、利用外部空间:这种方式很简单,先申请一个动态扩容的数组或者容器,比如 ArrayList 这样的。原创 2020-06-07 15:16:38 · 488 阅读 · 0 评论 -
最全的树的遍历算法(递归和非递归)
树的算法如下:非递归的算法中,中序和后续遍历稍微难写一些 ,需要多练。其余的基本是模板方式,多横向对比感受下。import java.util.Stack;public class SearchTree { public static void main(String[] args) { BinaryTreeNode root = new BinaryTreeN...原创 2020-05-05 23:33:04 · 755 阅读 · 0 评论 -
递归的套路
# 分治和回溯本质上就是一种特殊的递归(较为复杂的递归)。碰到算法问题先找重复性,最优的重复性就是动态规划,最近的重复性根据重复性怎么构造怎么分解就有什么分治或者最后要回溯或者实在其他的各种办法,但本质上其实就是一种递归,就是要去找它的重复性。一般都需要分解问题和最后组合每个子问题的结果。# 代码模板## 分治代码模板:def divide_conquer(problem,...原创 2020-05-04 19:38:55 · 291 阅读 · 0 评论