 Hello 算法 1.0.0b1 Java版. . . . . . . . . . . . . . . . 90 7. 树 91 7.1. 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 7.2. 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . < 线性阶 < 平方阶 < 指数阶 2. 复杂度分析 hello‑algo.com 30 Figure 2‑10. 空间复杂度的常见类型 � 部分示例代码需要一些前置知识,包括数组、链表、二叉树、递归算法等。如果遇到看不懂的 地方无需担心,可以在学习完后面章节后再来复习,现阶段先聚焦在理解空间复杂度含义和推 算方法上。 常数阶 ?(1) 常数阶常见于数量与输入数据大小 ? 无关的常量、变量、对象。 } Figure 2‑12. 递归函数产生的平方阶空间复杂度 指数阶 ?(2?) 指数阶常见于二叉树。高度为 ? 的「满二叉树」的结点数量为 2? − 1 ,使用 ?(2?) 空间。 // === File: space_complexity.java === /* 指数阶(建立满二叉树) */ TreeNode buildTree(int n) { if (n == 0) return0 码力 | 186 页 | 14.71 MB | 1 年前3 Hello 算法 1.0.0b1 Java版. . . . . . . . . . . . . . . . 90 7. 树 91 7.1. 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 7.2. 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . < 线性阶 < 平方阶 < 指数阶 2. 复杂度分析 hello‑algo.com 30 Figure 2‑10. 空间复杂度的常见类型 � 部分示例代码需要一些前置知识,包括数组、链表、二叉树、递归算法等。如果遇到看不懂的 地方无需担心,可以在学习完后面章节后再来复习,现阶段先聚焦在理解空间复杂度含义和推 算方法上。 常数阶 ?(1) 常数阶常见于数量与输入数据大小 ? 无关的常量、变量、对象。 } Figure 2‑12. 递归函数产生的平方阶空间复杂度 指数阶 ?(2?) 指数阶常见于二叉树。高度为 ? 的「满二叉树」的结点数量为 2? − 1 ,使用 ?(2?) 空间。 // === File: space_complexity.java === /* 指数阶(建立满二叉树) */ TreeNode buildTree(int n) { if (n == 0) return0 码力 | 186 页 | 14.71 MB | 1 年前3
 Hello 算法 1.0.0b2 Java版. . . . . . . . . . . . . . . . 91 7. 树 92 7.1. 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 7.2. 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . < 线性阶 < 平方阶 < 指数阶 2. 复杂度分析 hello‑algo.com 30 Figure 2‑10. 空间复杂度的常见类型 � 部分示例代码需要一些前置知识,包括数组、链表、二叉树、递归算法等。如果遇到看不懂的 地方无需担心,可以在学习完后面章节后再来复习,现阶段先聚焦在理解空间复杂度含义和推 算方法上。 常数阶 ?(1) 常数阶常见于数量与输入数据大小 ? 无关的常量、变量、对象。 } Figure 2‑12. 递归函数产生的平方阶空间复杂度 指数阶 ?(2?) 指数阶常见于二叉树。高度为 ? 的「满二叉树」的结点数量为 2? − 1 ,使用 ?(2?) 空间。 // === File: space_complexity.java === /* 指数阶(建立满二叉树) */ TreeNode buildTree(int n) { if (n == 0) return0 码力 | 197 页 | 15.72 MB | 1 年前3 Hello 算法 1.0.0b2 Java版. . . . . . . . . . . . . . . . 91 7. 树 92 7.1. 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 7.2. 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . < 线性阶 < 平方阶 < 指数阶 2. 复杂度分析 hello‑algo.com 30 Figure 2‑10. 空间复杂度的常见类型 � 部分示例代码需要一些前置知识,包括数组、链表、二叉树、递归算法等。如果遇到看不懂的 地方无需担心,可以在学习完后面章节后再来复习,现阶段先聚焦在理解空间复杂度含义和推 算方法上。 常数阶 ?(1) 常数阶常见于数量与输入数据大小 ? 无关的常量、变量、对象。 } Figure 2‑12. 递归函数产生的平方阶空间复杂度 指数阶 ?(2?) 指数阶常见于二叉树。高度为 ? 的「满二叉树」的结点数量为 2? − 1 ,使用 ?(2?) 空间。 // === File: space_complexity.java === /* 指数阶(建立满二叉树) */ TreeNode buildTree(int n) { if (n == 0) return0 码力 | 197 页 | 15.72 MB | 1 年前3
 Hello 算法 1.1.0 Java版7.1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 7.3 二叉树数组表示 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 12.4 汉诺塔问题 . . . . linearLogRecur(n / 2); for (int i = 0; i < n; i++) { count++; } return count; } 图 2‑13 展示了线性对数阶的生成方式。二叉树的每一层的操作总数都为 ? ,树共有 log2 ? + 1 层,因此时 间复杂度为 ?(? log ?) 。 第 2 章 复杂度分析 hello‑algo.com 39 图 2‑13 线性对数阶的时间复杂度0 码力 | 378 页 | 18.47 MB | 1 年前3 Hello 算法 1.1.0 Java版7.1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 7.3 二叉树数组表示 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 12.4 汉诺塔问题 . . . . linearLogRecur(n / 2); for (int i = 0; i < n; i++) { count++; } return count; } 图 2‑13 展示了线性对数阶的生成方式。二叉树的每一层的操作总数都为 ? ,树共有 log2 ? + 1 层,因此时 间复杂度为 ?(? log ?) 。 第 2 章 复杂度分析 hello‑algo.com 39 图 2‑13 线性对数阶的时间复杂度0 码力 | 378 页 | 18.47 MB | 1 年前3
 Hello 算法 1.0.0 Java版7.1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 7.3 二叉树数组表示 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 12.4 汉诺塔问题 . . . . linearLogRecur(n / 2); for (int i = 0; i < n; i++) { count++; } return count; } 图 2‑13 展示了线性对数阶的生成方式。二叉树的每一层的操作总数都为 ? ,树共有 log2 ? + 1 层,因此时 间复杂度为 ?(? log ?) 。 第 2 章 复杂度分析 hello‑algo.com 39 图 2‑13 线性对数阶的时间复杂度0 码力 | 376 页 | 17.59 MB | 1 年前3 Hello 算法 1.0.0 Java版7.1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 7.3 二叉树数组表示 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 12.4 汉诺塔问题 . . . . linearLogRecur(n / 2); for (int i = 0; i < n; i++) { count++; } return count; } 图 2‑13 展示了线性对数阶的生成方式。二叉树的每一层的操作总数都为 ? ,树共有 log2 ? + 1 层,因此时 间复杂度为 ?(? log ?) 。 第 2 章 复杂度分析 hello‑algo.com 39 图 2‑13 线性对数阶的时间复杂度0 码力 | 376 页 | 17.59 MB | 1 年前3
 Hello 算法 1.0.0b4 Java版1. 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 7.2. 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 7.3. 二叉树数组表示 12.2. 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 12.3. 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 12.4. 汉诺塔问题 . . . . ) < ?(?2) < ?(2?) 常数阶 < 对数阶 < 线性阶 < 平方阶 < 指数阶 Figure 2‑10. 空间复杂度的常见类型 � 部分示例代码需要一些前置知识,包括数组、链表、二叉树、递归算法等。如果遇到看不懂的 地方无需担心,可以在学习完后面章节后再来复习,现阶段我们先专注于理解空间复杂度的 含义和推算方法。 2. 复杂度 hello‑algo.com 31 常数阶0 码力 | 342 页 | 27.39 MB | 1 年前3 Hello 算法 1.0.0b4 Java版1. 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 7.2. 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118 7.3. 二叉树数组表示 12.2. 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231 12.3. 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 12.4. 汉诺塔问题 . . . . ) < ?(?2) < ?(2?) 常数阶 < 对数阶 < 线性阶 < 平方阶 < 指数阶 Figure 2‑10. 空间复杂度的常见类型 � 部分示例代码需要一些前置知识,包括数组、链表、二叉树、递归算法等。如果遇到看不懂的 地方无需担心,可以在学习完后面章节后再来复习,现阶段我们先专注于理解空间复杂度的 含义和推算方法。 2. 复杂度 hello‑algo.com 31 常数阶0 码力 | 342 页 | 27.39 MB | 1 年前3
 Hello 算法 1.0.0b5 Java版7.1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 7.3 二叉树数组表示 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 12.4 汉诺塔问题 . . . . linearLogRecur(n / 2); for (int i = 0; i < n; i++) { count++; } return count; } 图 2‑13 展示了线性对数阶的生成方式。二叉树的每一层的操作总数都为 ? ,树共有 log2 ? + 1 层,因此时 间复杂度为 ?(? log ?) 。 第 2 章 复杂度分析 hello‑algo.com 37 图 2‑13 线性对数阶的时间复杂度0 码力 | 376 页 | 30.69 MB | 1 年前3 Hello 算法 1.0.0b5 Java版7.1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137 7.3 二叉树数组表示 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 12.4 汉诺塔问题 . . . . linearLogRecur(n / 2); for (int i = 0; i < n; i++) { count++; } return count; } 图 2‑13 展示了线性对数阶的生成方式。二叉树的每一层的操作总数都为 ? ,树共有 log2 ? + 1 层,因此时 间复杂度为 ?(? log ?) 。 第 2 章 复杂度分析 hello‑algo.com 37 图 2‑13 线性对数阶的时间复杂度0 码力 | 376 页 | 30.69 MB | 1 年前3
 Hello 算法 1.2.0 简体中文 Java 版7.1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 7.3 二叉树数组表示 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 12.4 汉诺塔问题 . . . . linearLogRecur(n / 2); for (int i = 0; i < n; i++) { count++; } return count; } 图 2‑13 展示了线性对数阶的生成方式。二叉树的每一层的操作总数都为 ? ,树共有 log2 ? + 1 层,因此时 间复杂度为 ?(? log ?) 。 第 2 章 复杂度分析 www.hello‑algo.com 39 图 2‑13 线性对数阶的时间复杂度0 码力 | 379 页 | 18.48 MB | 10 月前3 Hello 算法 1.2.0 简体中文 Java 版7.1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 7.3 二叉树数组表示 12.2 分治搜索策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260 12.3 构建二叉树问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262 12.4 汉诺塔问题 . . . . linearLogRecur(n / 2); for (int i = 0; i < n; i++) { count++; } return count; } 图 2‑13 展示了线性对数阶的生成方式。二叉树的每一层的操作总数都为 ? ,树共有 log2 ? + 1 层,因此时 间复杂度为 ?(? log ?) 。 第 2 章 复杂度分析 www.hello‑algo.com 39 图 2‑13 线性对数阶的时间复杂度0 码力 | 379 页 | 18.48 MB | 10 月前3
 Hello 算法 1.2.0 繁体中文 Java 版链式地址 鏈結位址 open addressing 开放寻址 開放定址 linear probing 线性探测 線性探查 lazy deletion 懒删除 懶刪除 binary tree 二叉树 二元樹 tree node 树节点 樹節點 left‑child node 左子节点 左子節點 right‑child node 右子节点 右子節點 parent node 父节点 父節點 height 高度 高度 depth 深度 深度 perfect binary tree 完美二叉树 完美二元樹 complete binary tree 完全二叉树 完全二元樹 full binary tree 完满二叉树 完滿二元樹 balanced binary tree 平衡二叉树 平衡二元樹 binary search tree 二叉搜索树 二元搜尋樹 AVL tree AVL0 码力 | 379 页 | 18.79 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 Java 版链式地址 鏈結位址 open addressing 开放寻址 開放定址 linear probing 线性探测 線性探查 lazy deletion 懒删除 懶刪除 binary tree 二叉树 二元樹 tree node 树节点 樹節點 left‑child node 左子节点 左子節點 right‑child node 右子节点 右子節點 parent node 父节点 父節點 height 高度 高度 depth 深度 深度 perfect binary tree 完美二叉树 完美二元樹 complete binary tree 完全二叉树 完全二元樹 full binary tree 完满二叉树 完滿二元樹 balanced binary tree 平衡二叉树 平衡二元樹 binary search tree 二叉搜索树 二元搜尋樹 AVL tree AVL0 码力 | 379 页 | 18.79 MB | 10 月前3
共 8 条
- 1













