0%

仗剑篇:进阶数据结构(树+图)

开启仗剑篇!加油! 原论文为Java版本,我这里选择用C++实现,同时记录自己的一些思考

## 1.1 二叉树

解题时只用思考每个节点需要做什么? 递归解题思路:

  1. 回溯:遍历一遍二叉树得出结果(辅助全局变量)
  2. 动归:拆解为子问题,并根据子问题的解推断问题的解
  • 递归遍历:二叉树的遍历和写for循环遍历数组和链表没有本质区别,只不过这里用了递归的思想

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    void traverse(TreeNode root) 
    {
    if (root == null)
    {
    return;
    }
    // 前序位置
    traverse(root.left);
    // 中序位置
    traverse(root.right);
    // 后序位置
    }

### 链表操作的递归思维一览:用递归不用迭代

欲戴皇冠,必承其重,加油!