随笔分类 - 

摘要:0. 动机:很多问题都要用到树的遍历; 1. 二叉树的方式:dfs(3种:先中后序)和bfs(层序); 2. bfs和dfs时间复杂度区别:全部是O(n); 3. bfs和dfs空间复杂度区别: bfs:O(w),w为🌲的最大宽度,高度为h(从0计算)的树最大宽度2h,此时为O(n/2); dfs 阅读全文
posted @ 2021-08-20 19:59 细妹 阅读(363) 评论(0) 推荐(0)
摘要:1. 链表表示法 1 #include<iostream> 2 using namespace std; 3 4 struct Node 5 { 6 int val; 7 Node* left; 8 Node* right; 9 Node(int v) 10 { 11 val=v; 12 left= 阅读全文
posted @ 2021-08-11 00:25 细妹 阅读(102) 评论(0) 推荐(0)
摘要:1. 树的4种遍历方式:应用 preorder(先序):当需要得到一个树的拷贝;或需要得到一个表达式树的前缀表达式; inorder(中序):当需要降序得到一个bst的节点时,可以用先序遍历树,然后再reverse一下; postorder(后序):当需要删除一个树时;或需要得到一个表达式树的后缀表 阅读全文
posted @ 2021-05-27 15:35 细妹 阅读(196) 评论(0) 推荐(0)