![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
java_xxxx
也无风雨、也无晴
展开
-
二叉树的中序遍历
写算法的前提是的搞清楚这个算法的思路到底是啥,比如这个,这个二叉树的中序遍历,自己都没搞清楚到底是怎么遍历的,就开始写代码,这样是徒劳的,搞清楚该题的问题,需求,然后想出思路,再开始写题还有递归,虽然说一步步来不可取,但是,可以把数据尽量减少,然后一步步来看是否合适,或者调试。import java.util.ArrayList;import java.util.List;/** * @Author: llb * @Date: 2020/10/19 10:42 */public class原创 2020-10-20 16:20:35 · 172 阅读 · 0 评论 -
时间复杂度与空间复杂度
这里我们不说时间复杂度与空间复杂度是如何推理得到的,我们来点硬货,直接看代码,得到时间和空间复杂度,在面试的时候会很有用处的。1、时间复杂度:时间复杂度主要看函数的运行次数,且只看最高位的时间复杂度,常数位置忽略## 1.1常数复杂度O(1)如下代码,代码只执行了一次,所以它的时间复杂度是O(1)再看下面这段代码,虽然它执行了3次但是3是常数,所以它的时间复杂度依旧是O(1)## 1.2线性时间复杂度O(n)如下代码,当n=1,它就运行1次,此时时间复杂度为O(1), n = 100 运行原创 2020-10-12 22:35:27 · 871 阅读 · 1 评论 -
二叉树、N叉树的层序遍历
1、二叉树的层次遍历题目地址:102. 二叉树的层序遍历既然是层序遍历那么优先选择BFS(广度优先搜索)题目要求将二叉树的所有节点放入到一个列表中,然后列表中的每一个元素对应的是每一层的节点。这里我们将每一层的节点取出来放入临时集合,然后再将临时集合作为一个元素放入最终的返回结果集合里 public static List<List<Integer>> levelOrder(BinaryTreeNode root){ // 返回的结果集 L原创 2020-10-09 13:35:30 · 264 阅读 · 0 评论 -
图解汉诺塔问题(递归求解)
原文链接:https://blog.csdn.net/qq_37873310/article/details/80461767汉诺塔:汉诺塔(Tower of Hanoi)源于印度传说中,大梵天创造世界时造了三根金钢石柱子,其中一根柱子自底向上叠着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘...转载 2020-01-10 10:13:19 · 362 阅读 · 0 评论 -
01 什么是数据结构
本篇作为博主的数据结构与算法的第一篇,主要讲一些名词含义,与数据结构的几大分类。后面的博客会慢慢讲到各种算法与数据结构。数据结构和算法这门计算机必修课,非常重要的(现在越来感触越深)。以后如果你要想在这条路上走的远一些和深一些,那就好好打好数据结构和算法的基础。学好这门课,你的编程会有一个质的飞跃。1、什么是数据结构? 程序设计 = 数据结构+算法 所谓数据结构就是关系。什么关系呢,就...原创 2018-08-27 15:23:47 · 2319 阅读 · 0 评论 -
二分查找
import java.util.Arrays;public class SJJG { public static void main(String [] args){ // 二分查找的前提是,数据集有序 int[] a = {1,3,5,6,7,8,9,10,12,18,19,20,100}; System.out.println(binar...原创 2019-07-19 17:27:48 · 117 阅读 · 0 评论