leetcode 145. 二叉树的后序遍历

发布于:2025-03-27 ⋅ 阅读:(69) ⋅ 点赞:(0)

后序遍历递归

class Solution {
public:
    vector<int> seq;

    void htraversal( TreeNode* root ) {
        if ( !root ) {
            return;
        }

        htraversal( root -> left );
        htraversal( root -> right );
        seq.push_back( root -> val );
    }

    vector<int> postorderTraversal(TreeNode* root) {
        htraversal( root );
        return seq;
    }
};

第一遍写了一个先序遍历的代码上去,怎么也过不了,以为是 !root 和 root == nullptr 有啥区别呢。。。后来才意识到,后序遍历根在最后面才被遍历。然后终于过了这题。

迭代

借用辅助栈。突然有点为明天的项目管理考试担心。看完这个代码就稍微记一下项目管理考试的题库比较好。这个迭代略显复杂,辅助栈里面存的是每个节点,也就是每个节点都会入栈,入栈的时候先进右孩子,再进左孩子,一直找到最左边的节点,从最左边的节点开始访问,或者说遍历。画一个图,可能肉眼能把这个过程模拟出来,写代码模拟实现这个过程,可能真得背代码了。感觉自己思考实现这个迭代的代码,多少能得个计算机领域的奖项,我是说第一个实现这个代码的人。后人熟练使用就非常厉害了。太难了,看不懂。可恶。不看了。

迭代还是没写。明天或者什么时候再研究一下。

选择题

明天考察前面七章,先把选择题看一下,然后把大题看一眼。

领导

激励他人努力工作。其他的说法可能也有点道理,但是是选这个。

目标管理

不包括,个人的职业规划,个人的职业规划可能得自己为自己操心了,扎心了。

工作包

xxx 交付

最严重的不确定性

构思阶段

项目失败的主要原因

写了好几点,记一点应该就可以了。毕竟期末考试,不会为难的。组织方面的不利因素。

项目经理的相对权力

在强关系矩阵结构中,权力向项目经理倾斜。

绩效测量的基线

计划工作预算成本

休息

休息一下。内容稍微有点多。。。

最不被重视

项目在职能型组织里面最不被重视

范围界定的工具

WBS(不知道是啥,也没啥好奇心,废完了哈哈哈)

项目三要素

质量、进度、成本,选择题按道理就把最后一个成本记住就好了。不会改动顺序应该。

估算期望值

中间是乘法,最后是除法,乐观后面悲观前面都是加法

初始化文档

项目章程

进度控制

和客户的要求改变进度没啥关系,因为这不是项目成员自己能控制得部分了

提建议之后

采取必要的纠正措施

项目范围扩大

告知干系人不能扩大,原则问题上寸步不让。

某个项目的特征

确定期限,确实很多事情都得确定一个期限,不然没完没了了。不管自己有多么不甘心,多么不舍得。多么想 try again.

7 风险管理

标识风险的方法

检查单和头脑风暴。头脑风暴感觉不是很靠谱,因为我们拍着脑袋,除非非常熟悉,不然能想出多少东西呢。

checklists and brainstorming

6 活动策划

条形图式的项目计划没有表达清楚

任务/活动的逻辑关系。the logical relationship of tasks/ activities

缩短项目周期

并行地执行活动(确实有道理,比如说我复习考研,我可能就得每天复习政治英语数学,专业课四个科目,不然这个进度太慢了,最后可能复习不完所有的内容)

5 软件评估

可用时间是有限的,学生只能在可用的时间内,做能做的事情。

工作量驱动因子

需要多少字数

难度因子

1.资料的可获得性
2.学生对主题的熟悉程度
3.需要的广度/深度
4.技术难度

欧几里得距离

做差,平方,求和,开根号,欧几里得距离越小,越类似。

自底向上估计的方法

1.分解
2.估计每个人的任务量
3.每个子任务能被每个人一两周内完成
4.累加

适用场景

1.后期详细的策划
2.新颖的没有历史数据的项目

4 选择合适项目的方法

现货软件

1.不会增加竞争力
2.灵活性有限
3.无法获得源码
4.依赖此软件,许可证费用不断升高

并发开发模块

模块关系图

3 项目策划

感觉字越少越好。。

为了尽快完成任务,我们应该并行完成任务。实际上,我们可以发现,单核单行并不一定比并行做得更好,说不定只做一件事情就是在磨洋工,我感觉自己的遮羞布都要被扯了,哈哈哈。

2 项目评价

现金流为负

开发成本

前期为负怎么办

预售和融资

中期

产品滞销,可能为负

后期是负数

运营成本大于利润

1 引言

排序

感觉作为第一个题,属于必考题。。。首先是火星。然后是操作系统,第三是欧元,第四是软件包,第五是用户计算机系统问题的解决,就是帮别人修电脑。第六是结婚。这真不是乱入吗。第七是人机交互,有点没有地位。然后是报纸,感觉毫无关系,最后是编程任务。也不知道有啥关系。

操作系统

嵌入式操作系统,用来控制硬件

测试软件也是项目

比如 测试 VS 2015

end

就这样吧。浏览一遍感觉已经很不错了。里面也说了,每个学生的时间和精力都是有限的。

毛概

贺新郎读史

背书。感觉应试。没啥问题。就硬背就好了。周三晚上,三天时间,每天读几遍,感觉应该能背下来。人猿相揖别。只几个石头磨过,小儿时节。铜铁炉中翻火焰,为问几时猜得,不过是几千寒热,人世难逢开口笑,上疆场彼此弯弓月,流遍了,郊原血。

后面的生僻字太多了,敲出来太麻烦。我简直就是天才,一下子就把这首诗给记住了。一定要多夸夸自己。

冯诺依曼计算机

五个基本部件

运算器,控制器,存储器,输入设备和输出设备

基本功能

基本部件 基本功能
存储器 存放数据和指令
控制器 自动执行指令
运算器 加减乘除四种算术运算和逻辑运算,附加运算
输入设备 操作人员通过它与主机通信
输出设备 操作人员通过它与主机通信

指令和数据

都是二进制表示的。也容易理解,计算机里面的所有东西都是二进制表示的。
在这里插入图片描述
呜呜呜,我太喜欢了。之前看一个大佬的代码仓库,说一图胜千言,非常有道理,图片就是会让一些知识点更加直观地呈现在读者面前,更加方便理解。

系统性能

三个指标

在这里插入图片描述
CPI 表示的是执行一条指令需要的时钟周期数。这个对我我来说是一个全新的概念。。套公式做计算我不会,主要是公式没记住,公式要记住要知道每个变量的意思。书本上文字一大堆,详尽地描述,但是我们学习还是要挑重点学习的。
c p u = C P I ∗ T = C P I f cpu= CPI * T= \frac{CPI}{f} cpu=CPIT=fCPI
T = 1 f T=\frac{1}{f} T=f1
此处,cpu 表示用户 cpu 时间,CPI 简单代指所有指令需要的总的时钟周期数,只是代指一下,实际含义是执行一条指令需要的时钟周期数, T 表示时钟周期,f 表示频率。CPI 可以用所有的时钟周期数除以指令条数算一个平均的值,表示执行一条指令需要的时钟周期数目。

指令系统介绍

机器语言是计算机硬件能识别和运行的指令的集合,是二进制码组成的指令,用机器语言设计程序基本不可行。程序的最小单位是指令,指令是计算机硬件执行程序的最小单位。
在这里插入图片描述
感觉很多内容也没必要整理,就直接看就好了,整理也就是多敲一遍,没什么意思。主要是都是一些识记的知识点,我也没什么理解和感慨。


网站公告

今日签到

点亮在社区的每一天
去签到