摘要:
用栈实现非递归遍历 时间复杂度O(n) 空间复杂度O(h) , h为树高 前序 leetcode 144 struct TreeNode{ int val; TreeNode*left; TreeNode*right; TreeNode(int x):val(x),left(nullptr),rig 阅读全文
用栈实现非递归遍历 时间复杂度O(n) 空间复杂度O(h) , h为树高 前序 leetcode 144 struct TreeNode{ int val; TreeNode*left; TreeNode*right; TreeNode(int x):val(x),left(nullptr),rig 阅读全文
posted @ 2026-01-07 19:43
射杀百头
阅读(6)
评论(0)
推荐(0)

判断较大素数 模板检测 复杂度O(k(logn)^3) k为 p[] 的数量 #include<bits/stdc++.h> using namespace std; typedef __int128 LL; template<typename T>void read(T&x){ x=0;bool
模板 快速幂 luogu P1226 long long qpow(long long base,long long e){ long long ans=1; long long b=base; while(e){ if(e&1)ans*=b; b*=b; e>>=1; } return ans;
模板 支持负进制 luogu P1143 luogu P1017 #include<string> using namespace std; namespace X_to_Y{ char dtoc(int d){ if(d>9)return 'A'+d-10; return '0'+d; } int
模板 luogu P8306 支持API: insert(word) 添加单词 search(word) 查询单词出现了几次 prefixNumber(pre) 查询前缀 deletd(word) 删除单词,若不存在则无事发生 clean() 初始化 下面是一个仅支持数字,大、小写英文字母的实现 #
模板 luogu P3369 luogu P5076 P5076需把INT_MIN换成-2147483647 支持API : add(num) 添加 key 为 num 的节点,自动维护平衡 remove(num) 删除key为num的节点,自动维护平衡,若不存在则无事发生 rank(num) 获取
遍历框架 struct TreeNode{ int val; TreeNode*left; TreeNode*right; TreeNode():val(0),left(nullptr),right(nullptr){} TreeNode(int x):val(x),left(nullptr),ri
#include<iostream> int main(){ std::cout<<"Goodbye,2025"<<std::endl; std::cout<<"Hello,2026!"<<std::endl; return 0; } 不知不觉已经在北邮生活快四个月了 How time flies
题目链接 结论 现在我们拿到二叉树的一个节点 单独完成当前节点耗时cur 左子树所有任务时间和为S1,最优并行后为T1 右子树所有任务时间和为S2,最优并行后为T2 那么限制左、右子树的任务执行总时间的因素只有两个: 两侧时间和的平均值 \(\frac{S1 + S2}{2}\) 两侧最优时间的最大
快速排序就是二叉树的前序遍历 Quick Sort 二叉树前序遍历 先处理当前节点,再处理左右子树 void preorder(TreeNode*root){ if(root==nullptr){ return; } //前序位置 preorder(root->left); preorder(roo
浙公网安备 33010602011771号