“21 天好习惯”第一期-11

目录

计算机组成原理:

数据库:

leetcode每日一题:

能力提升:


计算机组成原理:

第一章:

        计算机的分类: 模拟计算机数字计算机 .

                模拟计算机: 由模拟运算器件构成 , 处理在时间和数值上连续的模拟量.

                数字计算机: 由数字逻辑器件构成 , 处理离散的数字量.

                        专用计算机: 针对特定任务设计的计算机.

                        通用计算机: 适应性高 , 但是牺牲了效率 , 速度 和 经济性.

        按系统规模 和 计算能力划分: 

                巨型机 (超算)

                大型机 , 小型机 , 微型机 规模 和 计算能力依次递减.

        冯 诺依曼体系 (奠定了现代电子计算机的理论基础.

                1. 用二进制代码表示程序和数据.

                2. 采用存储程序的工作方式.

                3. 新型的现代计算机硬件组成: 存储器 , 运算器 , 控制器 , 输入设备 , 输出设备.

        计算机系统的组织:

                硬件: 是指构成计算机系统的 实体装置之类的有形设备 , 是组成计算机系统的物质基础.

                软件: 是指由硬件所表达的各种内在信息 , 包括 数据控制程序. 因为它们是无形的东西 , 所以称为软件 或 软设备.

        主要功能部件:

                1. CPU : (1) 运算器: 完成 算数 和 逻辑 运算 , 主要由 ALU 构成. (2) 控制器: 产生控制命令 , 控制全机操作.

                2.存储器 : 存储数据 和 数字化后的程序. ( 存储单元: 在存储器中保存一个n位二进制数的n个存储电路 , 组成一个存储单元. 地址: 存储器由许多存储单元组成 , 每个存储单元的编号 , 称为地址. 内存储器: 即 内存. 是一种用来存放直接为CPU提供服务的 程序 和 数据存储器.

                3输入/输出设备 : 执行输入/输出信息的转换.

                4.总线 : 能为多个部件分时共享的一组信息传送通入.

        计算机系统的性能指标:

                1.基本字长: 指一次数据操作的基本位数. ( 它会影响计算的精度 , 指令的功能.

                2.外频: 外部频率 或 基频 , 也叫系统时钟频率.

                3.常用的CPU性能指标: (1)CPU的主频 = 外频 x 倍频系数. (2)IPS: 每秒执行指令数. (3)CPI: 每个指令执行的周期值. (4)FLOPS: 每秒执行浮点运算的次数. (5)CPU的功耗: 动态功耗->P = C x U^2 x f ; 静态功耗->泄露.

                4.数据传输: 带管 = 位宽 x 工作频率 / 8 (B/S) (物理含义: 单位时间内数据的传输量.

                        步骤: a.计算平均CPI. b. 计算始终周期->指令数 x 平均CPI. c.计算次数->主频 / 时钟周期数. d.带宽 -> 次数 x 可并行输出的大小数据.

                5.存储器的容量: 

                        a.内存(主存)容量: 指可编码的存储单元个数 x 存储单元位宽.

                        b.外存(辅存)容量: 鬼知道.

数据库:

数据的定义:

        模式定义: 略.

        基本表的 定义 , 删除 , 修改.

                定义: create table <表名> (<col> <数据类型> [完整性约束])

eg: sno char(9) primary key -- 列级完整性约束条件

foreign key (外col) references 被参照表(col) 

        修改基本表:

alter table 表名
add --添加新列 , 新的列级完整性约束条件 和 新的表级完整性约束条件
drop column --删除表中的列 , 如果指定了 cascade 短语 , 则自动删除引用了该列的其他对象
alter column --修改原有的列定义 (包括列名 , 数据类型.

        删除基本表: drop table <表名> 

leetcode每日一题:

次元门

连续三天的简单题了.

        正常的思路 , 以及题目都是给你个头结点 , 让你删除某个符合条件的值.(一步步遍历寻找就行 .

        但是这道题反其道行之 , 他不给你头结点 , 而给你要删除的结点 , 然后要你删除. 开始就很迷惑 , 但是实际上思考一下就会明白这题 又是标准 "leetcode" 题 . 因为我们没有头结点 , 所以我们实际上是不可以删除当前结点 . 因为链表只能往后遍历 , 无法得到前一个结点的地址 . 那么我们只能删除这个结点的后面的一个结点

        那么我们是不是可以 把下一个结点的值给要删除的结点 , 然后删除下一个结点. 这是不是和要的结果一样.

        用leetcode上的评论就是: 如何让自己在世界上消失,但又不死? —— 将自己完全变成另一个人,再杀了那个人就行了。

class Solution {
public:
    void deleteNode(ListNode* node) {
        node -> val = node -> next -> val;
        node -> next = node -> next -> next;
    }
};

能力提升:

次元门

题意: 把每个 长度为 k 的区间 的最大值输出.

解题: 暴力谁不会啊! 可是数据很大 , 暴力一定会超时的.

        因为是要求得区间最大值 , 所以 标准线段树 是可以的 , 但是有没有更简单的方法呢 , 或者是更好理解的方法呢?

        通过以往做题的经验积累 , 不断求取最大值的方法还有 利用优先队列 .那么我们是不是可以用优先队列来解题呢? 可是我们不仅要对数字的大小排序 , 还需要按照数组顺序来删除优先队列里面的数字. 这可怎么办?

        表面上 , 我们无法通过优先队列来解题. 但是我们引入一种新的思想 : 在区间 [i , i + k] 中 , max值在第 ide 位 , 在我们不断 i ++ 的过程中 , 如果 max值不变 (设加了m次) , 那么max值 在 [i , i + k] 和 [i + m , i + k + m] 中是一样的 (即i 到 i + m 位 对实际结果不产生影响), 而当 ide 位被舍弃时 , i 到 ide 位都可以一次性舍去 , 优先队列又自动对后面的 [i + ide , i + ide + k] 位排序 ,寻找下一个 max 值. 如此反复就可以求到全部的结果 . (详细可对照代码理解. 

class Solution {
private:
    vector<int>re;
    priority_queue<pair<int , int>>p_que;
public:
    vector<int> maxSlidingWindow(vector<int>& nums, int k) {
        for(int i = 0;i < k;i ++) p_que.push({nums[i] , i});
        
        re.push_back(p_que.top().first);

        for(int i = k;i < nums.size();i ++){
            while(!p_que.empty() && p_que.top().second < i - k + 1) p_que.pop();

            p_que.push({nums[i] , i});

            re.push_back(p_que.top().first);
        }

        return re;
    }
};

初闻不知曲中意 再听已是曲中人.

Day Eleven -- 海棠花未眠.

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值