Day122 | 灵神 | 二叉树 | 二叉树的层序遍历 二叉树的锯齿状遍历
Day122 | 灵神 | 二叉树 | 二叉树的层序遍历 二叉树的锯齿状遍历102.二叉树的层序遍历102. 二叉树的层序遍历 - 力扣(LeetCode) 思路: 笔者写过很多次了这里不再赘述,初学者可以看灵神视频二叉树的层序遍历【基础算法精讲 13】_哔哩哔哩_bilibili 完整代码: 12345678910111213141516171819202122232425262728class Solution {public: vector<vector<int>> levelOrder(TreeNode* root) { vector<vector<int>> res; queue<TreeNode *> q; if(root==nullptr) return res; q.push(root); while(!q.empty()) { int...
Day121 | 灵神 | 二叉树 | 二叉搜索树的最近共公共祖先
Day121 | 灵神 | 二叉树 | 二叉搜索树的最近共公共祖先1123.最深叶节点的最近公共祖先1123. 最深叶节点的最近公共祖先 - 力扣(LeetCode) 思路: 笔者第一次做不会做,下面是灵神的思路。注意使用的是后序遍历,因为我们需要叶子结点给上层结点反馈信息 一个重要的思想是把叶子节点所连接的两个空节点看做是叶子结点 推荐先把 236. 二叉树的最近公共祖先 做了,对理解本题做法有帮助 本题最深的叶子可能只有一个,此时这个叶子就是答案。如果最深的叶子不止一个,那么答案为所有最深叶子的最近公共祖先。 方法:递归递归,有递有归 回顾 236...
Day120 | 灵神 | 二叉树 | 二叉搜索树的最近共公共祖先
Day120 | 灵神 | 二叉树 | 二叉搜索树的最近共公共祖先235.二叉搜索树的最近共公共祖先235. 二叉搜索树的最近公共祖先 - 力扣(LeetCode) 思路: 二叉树的最近公共祖先【基础算法精讲 12】_哔哩哔哩_bilibili 可以先做一下236. 二叉树的最近公共祖先 - 力扣(LeetCode) 这道题是236的一种特殊情况 我们可以利用搜索树性质来查找q和p的最近公共祖先 还是分类讨论 1.如果q和p的值都是小于当前结点值的,那说明q和p肯定都在左子树,那他们的最近公共祖先肯定在左子树中 2.如果q和p的值都是大于当前结点值的,那说明q和p肯定都在右子树,那他们的最近公共祖先肯定在右子树中 3.如果不是以上两种情况,那只能是q和p分别在左右子树中,那么当前结点肯定是最近公共祖先了,就返回当前结点就行 完整代码: 12345678910111213class Solution {public: TreeNode *lowestCommonAncestor(TreeNode *root, TreeNode *p, TreeNode *q)...
Day119 | 灵神 | 二叉树 | 二叉树的最近共公共祖先
Day119 | 灵神 | 二叉树 | 二叉树的最近共公共祖先236.二叉树的最近共公共祖先236. 二叉树的最近公共祖先 - 力扣(LeetCode) 思路: 二叉树的最近公共祖先【基础算法精讲 12】_哔哩哔哩_bilibili 首先我们采用后序遍历 递归函数返回值是问是「最近公共祖先的候选项」。对于最外层的递归调用者来说,返回值是最近公共祖先的意思。但是,在递归过程中,返回值可能是最近公共祖先,也可能是空节点(表示子树内没找到任何有用信息)、节点 p 或者节点...
26考研 | 王道 | 计算机组成原理 | 二、数据的表示和运算
26考研 | 王道 | 计算机组成原理 | 二、数据的表示和运算 1 数制与编码1.1 进位计数制 任意进制转换成十进制 二进制<=>八进制、十六进制 各种进制的常见书写方式 十进制转换成任意进制 整数部分使用短除法得到 小数部分 乘到小数部分为0就停止,不为0就一直乘,如果发现循环,说明没办法正好表示这个数字 到K-5的时候又变回了0.6,说明二进制没办法正好表示0.3 真值和机器数 1.2 定点数的编码表示 无符号数的表示 主存地址是无符号数,不是补码原码之类的,因为主存地址没有负数,所以不需要有符号数来表示 C语言中的无符号整数: 123unsigned short a=1; //无符号整数 (短整型 2B)unsigned int b=2; //无符号整数 (整型 4B)//而用unsigned定义...
26考研 | 王道 | 计算机组成原理 | 一、计算机系统概述
26考研 | 王道 | 计算机组成原理 | 一、计算机系统概述1.1 计算机的发展 1.2 计算机硬件和软件 硬盘是外部设备,这个外部指的就是主机(主存,运算器,控制器)外面的 1.2.1 计算机硬件的基本组成早期的冯诺依曼机 对于同一个功能,既可以用软件实现,也可以用硬件实现 冯诺依曼计算机的特点 计算机由五大部件组成 指令和数据以同等地位存于存储器,可按地址访问(统一编址,指令和数据所在存储单元无差异) 指令和数据用二进制表示 指令由操作码和地址码组成 存储程序 以运算器为中心(输入和输出设备与存储器之间的数据传送经过运算器完成,运算器算是一个中转站。这样就会让运算器的数据计算的效率降低) 即输入设备先把数据交给运算器,然后再转交给存储器,存储器要输出时,也是存储器先交给运算器然后运算器交给输出设备 数据驱动方式: 控制流驱动:指令–>数据 数据流驱动:数据–>指令 现代计算机的结构 以存储器为中心,输入的数据直接交给存储器,输出的时候也由存储器直接给输出设备,更多的解放运算器的运算时间 1.2.2...
Day118 | 灵神 | 二叉树 | 删点成林
Day118 | 灵神 | 二叉树 | 删点成林1110.删点成林1110. 删点成林 - 力扣(LeetCode) 思路: 最直接的思路就是看当前结点的值是不是在要删除的列表中,在的话删除当前结点并把左右孩子加入res中 很可惜这样是错的,因为这样做只是删除了当前结点,没有改变当前结点父节点的指针,导致父节点的里面还放着我们已经delete以后的地址空间,这样做漏洞很大 123456789101112131415161718192021222324252627class Solution {public: vector<TreeNode*> res; unordered_set<int> s; void dfs(TreeNode *t) { if(t==nullptr) return ; if (s.find(t->val)!=s.end()) { res.push_back(t->left); ...
Day117 | 灵神 | 二叉树 | 二叉搜索树的最大键值和
Day117 | 灵神 | 二叉树 | 二叉搜索树的最大键值和1373.二叉搜索树的最大键值和1373. 二叉搜索子树的最大键值和 - 力扣(LeetCode) 关联题目: 98. 验证二叉搜索树 -...
网页禁止粘贴的解决方法(以学习通网页为例)
网页禁止粘贴的解决方法(以学习通网页为例)学数据挖掘,学习通过作业的简答题要英文做答还竟然不能复制粘贴,受不了了 下面给出解决办法 1.想着是网页JS的问题,既然不能直接粘贴,那就在源码里面修改 2.于是在输入框先随便输入一些文字,方便直接右键选择检查,查看源码。 3.双击,把内容换成自己想要的就行 注:如果有最少字数限制而你修改后字数限制还在的话,你就在输入几个a然后再删了就行
Day116 | 灵神 | 二叉树 | 二叉搜索树中第K小的元素
Day116 | 灵神 | 二叉树 | 二叉搜索树中第K小的元素230.二叉搜索树中第K小的元素230. 二叉搜索树中第 K 小的元素 - 力扣(LeetCode) 思路: 这道题也比较简单,就是中序遍历到第K个就是答案了 12345678910111213141516171819202122class Solution {public: int res=0; int count=0; void tra(TreeNode *t,int k) { if(t==nullptr) return; tra(t->left,k); count++; if(k==count) { res=t->val; return; } tra(t->right,k); } int kthSmallest(TreeNode* root,...












