Cristor计算机系统的笔记
《计算机系统基础知识》 の笔记计算机的基本硬件系统组成
运算器 控制器 存储器 输入设备 输出设备 等其中运算器+控制器 = CPU这些两个部件被集成在一起称为中央处理单元
CPU:运算器+控制器 = CPU
运算器:主要做运算:所有的 与或非(逻辑) 加减乘除 附加(算数)….. 以及加工数据运算器包括的部件有:
算术逻辑单元(ALU): 是运算器的重要组成部件,负责处理数据(算数运算,逻辑运算)
累加寄存器(AC):是一个通用寄存器(暂时存数据用的),它为ALU服务,当AUL执行算数或者逻辑运算时,他提供一个工作区。(比如ALU需要做一个减法 从内存中读取被减数到AC,然后再取减数到AC,然后结果也存AC里面,也就是说 一个ALU必须要有1个或者1个以上AC。)
数据缓冲寄存器(DR):作为CPU和内存、外部设备之间的数据传送的中转站;因为CPU和内存处理数据的速度不一致,所以需要DR来进行缓冲。个人理解为缓存。
状态条件寄存器(PSW):执行完算数指令之后,建立一个条件码的内容,比如1-1=0;它就会给一个运算结果为0的标志…(不太了解)
...
Huffman树的编码与译码
哈夫曼编码译码先看题目:首先这是一道PTA的题目,作为博主数据结构与算法这门课程的假期实践作业。
编写一个哈夫曼编码译码程序:
按词频从小到大的顺序给出各个字符(不超过30个)的词频,根据词频构造哈夫曼树,给出每个字符的哈夫曼编码,并对给出的语句进行译码。
为确保构建的哈夫曼树唯一,本题做如下限定:
(1)选择根结点权值最小的两棵二叉树时,选取权值较小者作为左子树。
(2)若多棵二叉树根结点权值相等,按先后次序分左右,先出现的作为左子树,后出现的作为右子树。
生成哈夫曼编码时,哈夫曼树左分支标记为0,右分支标记为1。
输入格式: 第一行输入字符个数n;
第二行到第n行输入相应的字符及其词频(可以是整数,与可以是小数);
最后一行输入需进行译码的串。
输出格式: 首先按树的先序顺序输出所有字符的编码,每个编码占一行;
最后一行输出需译码的原文,加上original:字样。
输出中均无空格
输入样例:
3m1n1c210110
输出样例:
c:0m:10n:11original:mnc
题目分析:
题目给出了n个字符以及他们的频率, ...
Hello World
Hello World你好,世界1你好呀,很高兴见认识你,欢迎来到Cristor的主页,这是我的第一个文章喔!