26考研 | 王道 | 计算机组成原理 | 一、计算机系统概述
26考研 | 王道 | 计算机组成原理 | 一、计算机系统概述1.1 计算机的发展 1.2 计算机硬件和软件 硬盘是外部设备,这个外部指的就是主机(主存,运算器,控制器)外面的 1.2.1 计算机硬件的基本组成早期的冯诺依曼机 对于同一个功能,既可以用软件实现,也可以用硬件实现 冯诺依曼计算机的特点 计算机由五大部件组成 指令和数据以同等地位存于存储器,可按地址访问(统一编址,指令和数据所在存储单元无差异) 指令和数据用二进制表示 指令由操作码和地址码组成 存储程序 以运算器为中心(输入和输出设备与存储器之间的数据传送经过运算器完成,运算器算是一个中转站。这样就会让运算器的数据计算的效率降低) 即输入设备先把数据交给运算器,然后再转交给存储器,存储器要输出时,也是存储器先交给运算器然后运算器交给输出设备 数据驱动方式: 控制流驱动:指令–>数据 数据流驱动:数据–>指令 现代计算机的结构 以存储器为中心,输入的数据直接交给存储器,输出的时候也由存储器直接给输出设备,更多的解放运算器的运算时间 1.2.2...
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定义...
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,...
Day115 | 灵神 | 二叉树 | 二叉搜索树中的众数
Day115 | 灵神 | 二叉树 | 二叉搜索树中的众数501.二叉搜索树中的众数501. 二叉搜索树中的众数 - 力扣(LeetCode) 思路: 直接想法:遍历一遍,然后用map统计频率,最后对value排序,选出最大的 更好地做法: 二叉搜索树中序遍历是有序的,收入到一个vector中对这个升序数组进行处理 更好一点的话,那就是中序遍历过程中动态统计频率 用MaxCnt记录最大值,用Cnt表示当前结点值的频率,用pre记录前一个节点 如果当前结点和前一个结点的值相等,那就Cnt++ 如果不相等那么Cnt重新置为1,表示当前结点t是一个新值 如果Cnt大于MaxCnt的话就把MaxCnt更新为Cnt 如果二者相等的话就把当前结点的值放入结果集中 1234567891011121314151617181920212223242526272829303132class Solution {public: int cnt=1; TreeNode* pre=nullptr; int MaxCnt=1; vector<int> res;...
移动IP与手机移动数据流量的概念、原理、区别与联系
移动IP与手机移动数据流量的概念、原理、区别与联系 一、概念与原理 移动IP 定义:移动IP是一种网络层协议,允许设备在不同网络(如Wi-Fi与蜂窝网络)间移动时保持固定IP地址,实现通信的无缝切换与连续性 核心原理: 代理机制:通过归属代理(Home Agent)和外地代理(Foreign Agent)实现数据转发。当设备移动到外部网络时,归属代理将数据通过隧道技术封装后转发至外地代理,再由外地代理解封装并传递给移动节点 转交地址(Care-of...
C++ 中 lower_bound 与 upper_bound 函数详解
C++ 中 lower_bound 与 upper_bound 函数详解一、核心定义与区别 lower_bound 作用:在有序序列中查找第一个不小于目标值的元素位置 返回值:若目标值存在,返回第一个匹配元素的迭代器;若不存在,返回首个大于目标值的元素的迭代器 示例:在序列{1,2,4,4,5} 中查找 4,返回第一个4 的位置(索引 2) 用lower_bound在{12,15,17,19,20,22,23,26,29,35,40,51},查找21时返回22的索引位置 upper_bound 作用:在有序序列中查找第一个大于目标值的元素位置 返回值:若目标值存在,返回最后一个匹配元素的下一个位置;若不存在,行为与lower_bound一致 示例:在相同序列{1,2,4,4,5}中查找4,返回第一个 5的位置(索引...