Oscaner

「未曾青梅,不见竹马」

C++ 数据结构 (五) 二叉树 (7) 层次遍历

实现 1 2 3 4 5 6 7 8 9 10 11 template <typename T, typename VST> void BinNode<T>::travLevel(VST &visit) { // 二叉树层次遍历 Queue<BinNodePosi(T)> Q; // 引入辅助队列 Q.enqueue(this); // ...

C++ 数据结构 (五) 二叉树 (6) 中序遍历

递归 1 2 3 4 5 6 7 template <typename T, typename VST> void traverse(BinNodePosi(T) x, VST &visit) { if (!x) return; traverse(x -> lChild, visit); visit(x -> data); traverse(...

C++ 数据结构 (五) 二叉树 (5) 先序遍历

遍历规则 按照某种次序访问树中各节点,每个节点被访问恰好一次 $ T = V \cup L \cup R $ 遍历结果 ~ 遍历过程 ~ 遍历次序 ~ 遍历策略 先序 中序 后序 层次 (广度) **V** | L | R L | **V** | R ...

C++ 数据结构 (五) 二叉树 (4) 二叉树实现

BinNode: 模板类 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #define BinNodePosi(T) BinNode<T>* // 节点位置 template <typename T> struct BinNode { BinNodePosi(T) parent, lChild, rChild; // 父亲、左孩子、右孩子 ...

Linux 正则

元字符 说明 示例 * 匹配 * 前面的那个字符的 0 次或多次 hel*o => heo, helo, hello, helll0, … . 匹配任意一个字符 (只匹配一个,可以是空格) ab. => ...

C++ 数据结构 (五) 二叉树 (3) 二叉树概述

二叉树 节点度数 不超过2 的树称作二叉树 (binary tree) 同一节点的孩子和子树,均以左、右区分 lChild() ~ lSubtree() rChild() ~ rSubtree() 隐含有序 基数 深度为 $ k $ 的节点,至多 $ 2^k $ 个 含 $ n $ 个节点、高度为 $ h $ 的二叉树中,$ h < n < 2^(h+1)$ ...

C++ 数据结构 (五) 二叉树 (2) 树的表示

接口 节点 功能 root() 根节点 parent() 父节点 firstChild() 长子 nextSibling() 兄弟 ...

Linux 基础命令

查看当前工作目录 1 > pwd 更换目录 1 > cd [目录] 符号 意义 . 当前工作目录 .. 父目录 ~ 用户家目录 - 上个工作...

C++ 数据结构 (五) 二叉树 (1) 树

应用 层次关系的表示 表达式: RPN 文件系统 URL … 有根树 树是特殊的图 $ T = (V, E) $, 节点数 $ \vert V \vert = n $, 边数 $ \vert E \vert = e $ 指定任一节点 $ r \in V $ 作为根后, $ T $ 即称作有根树 (r...

Git 介绍

Git的设计让使用者觉得自己比想象中的笨。 —— Andrew Morton (Linux核心开发者) 初次使用 在命令行输入以下命令: 1 2 > git config --global user.name "用户名" > git config --global user.email "邮箱" 这个用户名和邮箱将是你未来使用 Git 进行项目版本管理的身份标识...