![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
Sweetie77
keep coding
展开
-
算法的空间复杂度和空间复杂度
一 . 简介复杂度是衡量算法好坏的一个刻度尺快/慢就是时间复杂度使用空间(内存)就是空间复杂度二 . 时间复杂度我们知道, CPU每秒运行的指令数是恒定的, 衡量算法快慢的标准就是算法运行的基本指令个数, 运行指令个数f(n)和数据规模n有关现在来了解一下大O渐进法, 这个方法就是极限的方法, 在大O符号表示法中, 时间复杂度的公式是 : T(n) = O(f(n)), 来...原创 2019-04-09 10:42:48 · 942 阅读 · 0 评论 -
二叉树的前中后序遍历
一. 简介二叉树就是结点的一个有限集合, 该集合可以为空, 或者是由一个根节点加上两颗别称为左子树和右子树的二叉树组成二叉树的特点 : (1) 每个结点最多有两颗子树 (2) 二叉树的子树有左右之分, 其子树的顺序不能颠倒前序中序后序就是访问结点的顺序不同前序遍历 : 根结点, 左子树, 右子树中序遍历 : 左子树, 根节点, 右子树后序遍历 : 左子树, 右子树, 根...原创 2019-04-14 14:50:34 · 176 阅读 · 0 评论 -
求二叉树的最大深度和最小深度
1. 求二叉树的最大深度我们站在根结点的角度看, 只需要比较左子树和右子树, 然后给大的那个加上1, 就是最大深度.终止条件是空树的情况 public class TreeNode { char val; TreeNode left; TreeNode right; TreeNode(int x) { ...原创 2019-04-14 17:06:40 · 2043 阅读 · 0 评论 -
数据结构之二叉树(一)
一 . 基本概念为了方便理解, 以下面这颗树为例子1. 结点 : 结点是数据结构中的基础, 是构成复杂数据结构的基本组成单位2. 结点的度 : 一个结点含有的子树的个数 ; 如上图: A的度为63. 叶结点或终端结点 : 度为0的结点称为叶结点 ; 如上图: BCHIPQKLMN为叶结点4. 非终端结点或分支结点 : 度不为0的结点 ; 如上图: DEFGJ为分支结点...原创 2019-04-22 19:18:44 · 282 阅读 · 0 评论 -
数据结构 -- 堆(heap)
1. 堆是什么首先要明确这里的堆和Java内存中的堆是两个概念, 完全没有关系堆的逻辑结构是一颗完全二叉树, 物理结构是一维数组.2. 数组实现堆的优势及特点由于堆从逻辑上看是一颗完全二叉树, 因此可以按照层序遍历的顺序将元素放入到数组.假设已知双亲的下标是 i , 则左孩子的下标left = 2 * i + 1, 右孩子的下标right = 2 * i + 2假设已知孩子...原创 2019-05-05 13:21:52 · 275 阅读 · 0 评论