精华内容
下载资源
问答
  • 树的应用 等价类问题 哈夫曼树和哈夫曼编码 图 图的概念 图的存储及基本操作 邻接矩阵法 邻接表法 图的遍历 深度优先搜索 广度优先搜索 图的基本应用及其复杂度分析 最小(代价)生成树 最短路径 拓扑排序 关键路径 ...

    4b2fc93ad70177800013791e0d96fa8e.png

    a73978730e7a7ebcb2a8b625cde2dbb4.png

    3f2d020b14f732eea8fae6012a70704f.png

    计算机学院共招收316名研究生,其中推免104人,共招收统招生212人。其中专硕招收193人,考英二数二!

    801考试大纲如下:

    题号:801

    《计算机专业基础》

    考试大纲

    注:以下五部分内容只选择两部分进行答题

    (一)、计算机组成原理(75分)

    一、考查目标

    1. 深入理解单处理器计算机系统的组织结构、工作原理、互连结构,具有完整的计算机系统整机的概念;

    2. 掌握各部件的组成结构、工作原理、软硬件设计的舍取、以及硬件实现;

    3. 综合运用计算机组成的基本原理和基本方法,对有关计算机硬件系统中的理论和实际问题进行计算、分析,并能对一些基本部件进行逻辑设计。

    二、考试内容

    1. 总线:总线的组成、分类、特性和性能指标,总线的层次结构,总线定时、传送、仲裁。

    2. 内存储器:存储器的基本概念、分类、层次结构,半导体主存储器,高速缓冲存储器(Cache),差错检测。

    3. 输入/输出:I/O编制的方法,编程I/O、程序中断、DMA的原理及控制机制。

    4. 运算方法与运算器:计算机中的数制系统,数的表示方法,定点数四则运算方法,浮点数四则运算方法,定点加减法器设计。

    5. 指令系统:指令格式、数据类型、寻址方式、指令类型、指令系统设计与优化。

    6. 处理器技术:CPU的结构、CPU中的寄存器组织、控制器的结构和工作原理、微程序设计技术。

    三、参考书目

    1. 唐朔飞编著.计算机组成原理(第二版).高等教育出版社,2008

    2. 白中英主编.计算机组成原理(第四版).科学出版社,2009

    3. 蒋本珊编著.计算机组成原理(第二版).清华大学出版社,2008

    (二)、数据结构(75分)

    考查目标

    1.理解数据结构的基本概念;掌握数据的逻辑结构、存储结构及其差异,以及各种基本操作的实现。

    2.掌握基本的数据处理原理和方法,在此基础上能够对算法进行设计与分析。

    3.能够选择合适的数据结构和方法进行问题求解。

    考查内容

    线性表

    线性表的定义和基本操作

    线性表的实现

    顺序存储结构

    链式存储结构

    线性表的应用

    栈、队列和数组

    栈和队列的基本概念

    栈和队列的顺序存储结构

    栈和队列的链式存储结构

    栈和队列的应用

    特殊矩阵的压缩存储

    树与二叉树

    树的概念

    二叉树

    二叉树的定义及其主要特征

    二叉树的顺序存储结构和链式存储结构

    二叉树的遍历

    线索二叉树的基本概念和构造

    二叉排序树

    平衡二叉树

    树、森林

    树的存储结构

    森林与二叉树的转换

    树和森林的遍历

    树的应用

    等价类问题

    哈夫曼树和哈夫曼编码

    图的概念

    图的存储及基本操作

    邻接矩阵法

    邻接表法

    图的遍历

    深度优先搜索

    广度优先搜索

    图的基本应用及其复杂度分析

    最小(代价)生成树

    最短路径

    拓扑排序

    关键路径

    查找

    查找的基本概念

    顺序查找法

    折半查找法

    B-树

    散列(Hash)表及其查找

    查找算法的分析及应用

    内部排序

    排序的基本概念

    插入排序

    直接插入排序

    折半插入排序

    希尔(shell)排序

    交换排序

    冒泡排序

    快速排序

    选择排序

    简单选择排序

    堆排序

    归并排序

    二路归并排序

    基数排序

    各种内部排序算法的比较

    内部排序算法的应用

    参考书

    从考试大纲看,所要求的知识在一般的大学数据结构教材中都已经包含,所以,选择哪本书并不是重要的事情。我们推荐清华大学出版社的《数据结构(第二版)》(严蔚敏主编)。这本书有多种语言的版本,建议选择C语言的版本,在复习的过程中,还可以配以相应的习题集。

    (三)、计算机操作系统考试内容:(75分)

    【考查目标】

    1.   掌握操作系统的基本概念、基本原理和基本功能,理解操作系统的整体运行过程。

    2. 掌握操作系统进程、内存、文件和I/O管理的策略、算法、机制以及相互关系。

    3.   能够运用所学的操作系统原理、方法与技术分析问题和解决问题,并能利用C语言或其他高级语言描述相关算法。 

    【考查内容

    一、  操作系统概述

    (一)   操作系统的概念、特征、功能和提供的服务

    (二)   操作系统的发展与分类

    (三)   操作系统的运行环境 (内核态与用户态、中断、异常、系统调用)

    (四)操作系统体系结构

    二、   进程管理

    (一)进程与线程

     进程概念、进程的状态与转换、进程控制、进程组织

     进程通信(共享存储、消息传递、、信箱通信、管道通信)

     线程概念与多线程模型

    (二)处理机调度

     调度的基本概念,调度的基本准则,调度时机、切换与过程、调度方式

     典型调度算法:先来先服务、短作业(短进程、短线程)优先、时间片轮转、优先级、最高响应比优先、多级反馈队列调度算法

    (三)进程同步与互斥

     进程同步的基本概念

     实现临界区互斥的基本方法:软件实现方法、硬件实现方法

     信号量、管程

     经典同步问题:生产者-消费者问题、读者-写者问题、哲学家进餐问题等

    (四)死锁

     死锁的概念、死锁处理策略

     死锁预防

     死锁避免:系统安全状态、银行家算法

     死锁检测和解除

    三、 内存管理

    (一)内存管理基础

     内存管理概念

     程序装入与链接、逻辑地址与物理地址空间、内存保护

     交换与覆盖

     连续分配管理方式

     非连续分配管理方式:分页管理方式、分段管理方式、段页式管理方式

    (二)   虚拟内存管理

     虚拟内存基本概念

     请求分页管理方式

     页面置换算法:最佳置换算法(OPT)、先进先出置换算法(FIFO)、最近最少使用置换算法(LRU)、时钟置换算法<CLOCK>等

     页面分配策略

     工作集、抖动

    四、 文件管理

    (一)   文件系统基础

     文件概念、文件的逻辑结构

     文件的结构:顺序文件、索引文件、索引顺序文件

     目录结构:文件控制块和索引节点,单级、两级和树形目录结构,图形目录结构

     文件共享

     文件保护:访问类型、访问控制

    (二)   文件系统实现

     文件系统层次结构

     目录实现

     文件实现

    (三)   磁盘组织与管理

     磁盘的结构

     磁盘调度算法:先来先服务(FCFS)、最短寻道时间优先(SSTF)、电梯算法(SCAN)

     磁盘的管理 

    五、 输入输出(I/O)管理 

    (一)   I/O管理概述

     I/O控制方式

     I/O软件层次结构

    (二)   I/O核心子系统

     I/O调度概念

     出错处理

     高速缓存与缓冲区

     假脱机技术(SPOOLing)

     设备分配与回收

    参考书目

    《计算机操作系统》汤子瀛等主编 西安电子科技大学出版社;

    《操作系统教程》徐甲同、陆丽娜等编 西安电子科技大学出版社。

    (四)、计算机网络考试内容(75分)

    考查目标:

    1. 掌握计算机网络的基本概念、基本原理和基本方法。  

    2. 掌握计算机网络的体系结构和典型网络协议,了解典型网络设备的组成和特点,理解典型网络设备的工作原理。

    3. 能够运用计算机网络基本概念、基本原理和基本方法进行网络系统分析、设计和应用。

    一、计算机网络体系结构

     (一) 计算机网络概述

    1. 计算机网络的概念、组成与功能;2. 计算机网络的分类;3. 计算机网络与互联网的发展历史;4. 计算机网络的标准化工作及相关组织。

     (二) 计算机网络体系结构与参考模型 

          1. 计算机网络分层结构;2. 计算机网络协议、接口、服务等概念;3. ISO/OSI参考模型和TCP/IP模型。

    二、物理层

    (一) 通信基础  

    1. 信道、信号、宽带、码元、波特、速率、信源与信宿等基本概念;2. 奈奎斯特定理与香农定理;3. 编码与调制;4. 电路交换、报文交换与分组交换;5. 数据报与虚电路。

    (二) 传输介质  

    1. 双绞线、同轴电缆、光纤与无线传输介质;2. 物理层接口的特性。

    (三) 物理层设备  1. 中继器;2. 集线器。

    三、数据链路层

    (一) 数据链路层的功能

    (二) 组帧  

    (三) 差错控制:1. 检错编码;2. 纠错编码。

    (四) 流量控制与可靠传输机制  

    1. 流量控制、可靠传输与滑动窗口机制;2. 停止-等待协议;3. 后退N帧协议(GBN);4. 选择重传协议(SR)。

    (五) 介质访问控制  

    1. 信道划分介质访问控制:频分多路复用、时分多路复用、波分多路复用、码分多路复用的概念和基本原理;2. 随即访问介质访问控制:ALOHA协议,CSMA协议,CSMA/CD协议,CSMA/CA协议;3. 轮询访问介质访问控制:令牌传递协议。

    (六) 局域网  

    1. 局域网的基本概念与体系结构;2. 以太网与IEEE 802.3;3. IEEE 802.11;4. 令牌环网的基本原理。

    (七) 广域网:1. 广域网的基本概念;2. PPP协议;3. HDLC协议。

    (八) 数据链路层设备:1. 网桥的概念及其基本原理;2. 局域网交换机及其工作原理。

    四、网络层

    (一) 网络层的功能:1. 异构网络互联;2. 路由与转发;3. 拥塞控制。

    (二) 路由算法

    1. 静态路由与动态路由;2. 距离-向量路由算法;3. 链路状态路由算法;4. 层次路由。

    (三) IPv4

    1. IPv4分组;2. IPv4地址与NAT;3. 子网划分与子网掩码、CIDR;4. ARP协议、DHCP协议与ICMP协议;

    (四) IPv6: 1. IPv6的主要特点;2. IPv6地址  

    (五) 路由协议

    1. 自治系统;2. 域内路由与域间路由;3. RIP路由协议;4. OSPF路由协议;5. BGP路由协议。

     (六) IP组播: 1. 组播的概念; 2. IP组播地址。

    (七) 移动IP:1. 移动IP的概念; 2. 移动IP的通信过程。

    (八) 网络层设备: 1. 路由器的组成和功能; 2. 路由表与路由转发。

    五、传输层

    (一) 传输层提供的服务

    1. 传输层的功能;2. 传输层寻址与端口;3. 无连接服务与面向连接服务。

    (二) UDP协议:1. UDP数据报;2. UDP校验。

     (三) TCP协议

      1. TCP段;2. TCP连接管理;3. TCP可靠传输;4. TCP流量控制与拥塞控制。

    六、应用层

    (一) 网络应用模型:1. 客户/服务器模型;2. P2P模型、。

    (二) DNS系统:1. 层次域名空间; 2. 域名服务器;3. 域名解析过程。

    (三) FTP:1. FTP协议的工作原理;2. 控制连接与数据连接。

    (四) 电子邮件

    1. 电子邮件系统的组成结构;2. 电子邮件格式与MIME;3. SMTP协议与POP3协议。

    (五) WWW: 1. WWW的概念与组成结构;2. HTTP协议。

    七、参考书目

               (一)《计算机网络》(第三版),蔡皖东,西安电子科技大学出版社;         (二)《计算机网络》(第五版),谢希仁,电子工业出版社。

    (五)数字电技术基础  (75分)

        Ⅰ、考查目标

          1、掌握逻辑代数的基础知识、基本概念及运算规律;

      2、掌握半导体器件、门电路、组合逻辑、时序逻辑等电路基础知识、基本概念及工作原理;

      3、掌握数字系统设计基本方法、逻辑函数优化实现及逻辑电路测试方法;

        Ⅱ、考试内容

    1、逻辑代数

       (1)掌握逻辑代数的基本运算、基本定理、基本法则

       (2)利用逻辑代数和卡诺图对逻辑函数进行转换与化简

       (3)掌握各种形式的逻辑函数的相互转换方法

       (4)掌握卡诺图化简方法

       (5)掌握不完全确定的逻辑函数的化简方法

       (6)掌握多输出逻辑函数的化简方法

    2、门电路

       (1)了解PN结的结构与原理,掌握PN结的伏安特性

       (2)掌握双极型晶体管和场效应晶体管的结构及工作原理

    (3)掌握CMOS门电路结构和工作原理;

    (4)掌握TTL门电路结构和工作原理

    3、组合逻辑电路

       (1)掌握组合逻辑电路的分析方法

       (2)熟悉常用组合逻辑电路模块的结构和逻辑功能

       (3)掌握组合逻辑电路的设计过程

           (4)基于门电路的设计

           (5)基于常用组合逻辑电路模块的组合逻辑电路设计

       (6)了解组合逻辑电路中的冒险现象及其消除方法

    4、触发器及时序逻辑电路

         (1)掌握常用触发器的结构和工作原理;

    (2)掌握触发器的逻辑功能及描述方法;

    (3)熟悉触发器及其简单应用电路;

         (4)掌握同步时序逻辑电路的分析和设计方法;

    (5)掌握异步时序电路的分析和设计方法;

    (6)掌握时序逻辑电路中的竞争-冒险现象和消除方法;

    5、半导体存储器

    (1)掌握只读存储器结构和工作原理;

    (2)掌握随机存储器结构和工作原理;

    (3)掌握存储器容量扩展方法;

    (4)熟悉用存储器实现组合逻辑函数的方法;

    6、可编程逻辑器件

      (1)掌握复杂的可编程逻辑器件的结构和工作原理;

      (2)掌握现场可编程逻辑阵列的基本结构、工作原理;

    (3)熟悉可编程逻辑器件的编程和数据下载方法;

    7、Verilog硬件描述语言

    (1)掌握Verilog基本程序结构;

    (2)掌握Verilog词法构成;

    (3)熟悉模块的描述方式;

    (4)掌握采用Verilog描述简单的组合逻辑电路和时序逻辑电路;

    8、脉冲波形的产生和整形

      (1)掌握施密特触发器的结构和工作原理;

    (2)掌握单稳态触发器类型、结构和工作原理;

    (3)掌握多谐振荡器类型、结构和工作原理;

    (4)熟悉555定时器及其应用;

    9、逻辑电路测试

    (1)掌握容错模型

    (2)掌握树形结构电路;

    (3)掌握随机测试方法;

    (4)掌握时序电路测试方法;

    (5)掌握内建自测试方法;

      Ⅲ、参考书目

       1、 《数字电子技术基础》(第5版),阎石,高等教育出版社,2011年。

       4、 《数字逻辑与Verilog设计》(第3版),(美)布朗(Stephen Brown),(美)弗兰民斯克(Zvonko Vran),罗荣选译,清华大学出版社,2014年。   

    展开全文
  • 四轮:1 ‘ljffajklf’有什么方法这样的字符串加密(我就想起了凯撒)2有什么方法可以避免数据传输出错的时候发生的错误(我说的奇偶校验,汉明码)3说说哈夫曼编码是怎么来的,或者说出一种你熟悉的编码方式。...

    2019.3.13

    考研就此告一段落,在这里写下我自己的总结。

    本人报考的哈尔滨工业大学深圳,专业是计算机科学与技术。

    先说初试,初试我考的是数学一(129),英语一(69),政治(75)和计算机基础854(125)。

    数学我用的是李永乐的复习全书,没用过张宇的资料,所以在此不评价张宇的资料。感觉李永乐的复习全书还是特别好的,尤其是线代的部分,复习全书的题目类型都是比较全的了,概率论我学的那会基础就不好,有些地方不太明白,建议结合教材,不懂的地方去教材看看推倒过程,尤其是数理统计的部分,比较有用。高数觉得李永乐的也可以的。个人感觉这一本书结合后期真题就够了。

    数学的复习时间的话大概是三四月份就可以开始了,第一遍注重基础,好好回忆一下知识点,书中的题目不懂得好好看看。第二遍五六月就必须得自己动手做题了,把所有的题目都自己做出答案为止,过程比较痛苦,但是提高还是很明显的,把自己不太会的题目做出标记,把自己不太懂的章节都标记好。每一轮的时间尽量短一点,比较容易忘记。之后就可以看第三轮了,第三轮做自己标注的不太会的题目,时间要用的少一点,大概九月末就结束了这些。然后可以开始真题了,我做真题都是每天上午一次卡时间做完的,做完了给自己打个分,做几套看看自己的哪些章节忘记的比较严重,然后就留点时间再去做一下复习全书上对应的那一章。这个过程要多总结,可以慢一点,但是要保持好做题的心态。这一过程下去大概就12月了,很多押题卷出现,我都没有买过,个人建议可以复习全书再来一遍,或者是不太稳的章节再来一遍,尽量稳下心来好好做题。

    英语的话三月份开始,非常建议全程都用英文的词典去查单词,这个感觉特别有用,英文意思不懂了再看看中文的意思,我觉得后期我这样弄得提高很明显。词汇三月份开始,我用的朱伟的《恋恋有词》,结合上他的视频,一天或者两天一个单元,长难句我没看视频,都是《恋恋有词》上的句子好好搞懂我觉得没问题,需要的话可以找一下网上老师的长难句视频,据说是不错的。阅读在这个阶段可以少一点,外文刊物的话就是看不看都行。两遍恋恋有词下来也差不多得六月左右了,我觉得开始开始注重阅读了,拿10年的阅读真题好哈做做,重点在阅读部分,做一套就好好看好每一个单词,看懂每个句子,以及答案的选择原因。一定认真看考研的真题,至关重要。结合上单词,多过几遍。九月份逐渐开始继续剩下的真题,可以剩下最近两三年考前练练也是可以的。方法和之前一样,记住卡着时间做。对于完型的话,15年后的完型简单了,可以做到错的很少,前面的那些年的话错一半也是很经常的。作文的话我是在十月中开始的,找网上老师的视频看,然后写写再自己总结个自己的模板,我用的是刘晓燕老师的视频,好好看作文,很重要,熟悉了写的快一点,今年英语选择部分丢了8分,全坑了写作上面了。

    政治不用太早,相信肖秀荣,大题好好背背肖四,感觉完全就够了,有的甚至都是原题打中,所以一定相信肖四。选择题要好好花点时间,大概九月中十月份可以开始看政治,只看选择题。1000题基本不会打中原题的,所以做做就好了,用快速的多过几遍的方法,加强知识点的记忆,一直到肖八出来,尽力把选择题得分达到35以上。我觉得多来几遍,过的快一点比较好一点。时政的话好好看看肖秀荣的那本书,书中的知识点会命中选择题的。

    哈工大的专业课考的是854,数据结构+计算机组成原理,群里有人说今年的计组可能会换成别的科目,但是还没用官方消息。专业课可以晚一点复习,9月份开始也不晚,数据结构一定好好看王道的题,编程题一定要会,哈工大的编程题基本再王道上都能找到很相似或者是一样的题目,不要忽略了王道上面每个单元后面的拓展的那个题,说不定就是原题了。编程的题多自己写写,多来几遍,肯定没问题。哈工的论述题的出法看完一遍后看看往年的真题了解一下,看看是哪里的知识点,好好掌握一下。计组的话就不要用王道了,用哈工大的唐的组成原理和习题,以及mooc上哈工的视频,和王道差别不小,所以直接用书好点。好好做习题上面的题目和例题,填空选择大题论述题很多都是上面的,感觉哈工的专业课比较简单一点,所以要去考的高一点,注意论述题。

    至于专业课的真题,注重看看考的题型,资料很多答案都不对,所以不要特别较真。考的题型一定得有个概念,考的重点后期也要有个概念。

    复试,千万好好复习,千万好好复习,千万好好复习,我就是基本前几天复习的,基本裸考,所以复试崩了,机试200分得了64,也就是初试考的高一点所以才不至于没学上,再加上深圳学硕今年扩招10个,最终倒数第二进了深圳学硕。但是选择导师的时候还是影响不小,复试特别重要,也足够逆袭,哪怕初试不好也不要慌,事实证明完全可以逆袭的(同学初试最后一名进去,复试成功逆袭),我这种初试成绩可以的都毁了复试不复习上了,还遇到个同学初试370多复试考的不好最后错失哈工,所以复试大家要早点复习。

    我复试基本裸考了,离散全选b,其他很多的题目也都选了b,活该我复试崩了。复试的选择题,计网王道,慕课上哈工的视频也可以看;数据库慕课上的哈工的课后习题,离散我也不知道,逻辑我觉得不复习没事(个人感觉),c语言哈工苏小红的书,好好编程,这也是个拉分的科目,今年分高,c语言改成了一道编程(20分)加三到改错(每道20分),编程比较简单,应该是书上的题,哪怕编不出来也会给过程分。改错比较坑,全部改对才得分,据说哪怕不会改自己现场编一个程序实现也行,不知道行不行。

    哦对了,今年加了10分的专业英语,就是给你一篇英语论文,然后纸上几个问题,20分钟后交。就是考略读的找关键信息的,不用担心。

    面试的时候我以为我凉了,所以没有什么压力也,我是3号线,一轮(操作系统与机器学习)的问题是:1操作系统实现什么功能。2设计一种页面调度算法,可以预测未来调入的页面。3还有操作系统的什么功能可以用机器学习来做。二轮:问各种奖项,证书,ccf等。然后说说大学的科研经历,老师比较好,我没用什么经历,老师直接说你说说你的课设什么的也可以。三轮:选择用中文还是英文(我用了中文),自我介绍一下,然后有个图让你看看说说感觉(两个倒过来的图片,正过来是个年轻姑娘的笑脸,倒过去是个老太太的生气脸),然后老师随便问,我自我介绍说自己做过图片识别,老师就问我这两张图片在识别的时候会有什么问题。四轮:1 ‘ljffajklf’有什么方法这样的字符串加密(我就想起了凯撒)2有什么方法可以避免数据传输出错的时候发生的错误(我说的奇偶校验,汉明码)3说说哈夫曼编码是怎么来的,或者说出一种你熟悉的编码方式。(我说了哈夫曼树这些,老师问我怎么评估好坏)老师特别好,一直引导我回答,后来就给我讲了起来,说用方差来评估不同的哈夫曼编码的好坏,还有特别小概率编码特别长可以把几个合起来处理大概这样。

    复试的时间的话哈工大基本是最早的,三月9号左右就开始复试了。复习的话建议初试过后一两周就可以开始了。复试今年是7号去资格审查,去了也没事,8号今年是来了个心理测试,什么用都没有应该,这个没什么事情(90个问题,记得有个是问你有没有自杀倾向)。9号上午八点半到50是英语笔试,给篇论文略读,上文说过了。之后就开始机试,机试比较时间紧的还是。下午一点开始面试,在教室等着,然后去面试,面试完事去另外教室等着,教室会放电影,我面试完看到放的是《疯狂的外星人》和《绿皮书》,直到全部同学面试结束后回教室取了东西就撤退了。晚上深圳的会来宣讲,然后深圳那边实验室会再面试,时间很赶,今年智能中心直接晚上九点多宣讲完在包了哈工的一个咖啡厅,面试到晚上很晚了应该。

    有什么问题再补充,要了解的可以加我询问。方法很多,这是我的方法,不喜勿喷。希望有个好成绩。

    展开全文
  • 用面向对象的程序设计思想自己动手写压缩软件,采用了优先队列这一很好的数据结构实现的贪心算法构造Huffman树,能打印Huffman树,显示编码表,压缩文件和解压缩文件,采用UTF-8字符集,支持中文文件
  • 1、哈夫曼树 给定N个权值作为N个叶子...2、哈夫曼编码 3、压缩比 案例分析: 已知某文档包含5个字符。每个字符出现的频率如下表所示。采用霍夫曼编码对该文档压缩存储,则单词“cade”的编码为( (1) ),文档的

    1、哈夫曼树

    • 给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度达到最小,称这样的二叉树为最优二叉树,也称为哈夫曼树(Huffman Tree)。哈夫曼树是带权路径长度最短的树,权值较大的结点离根较近。

    • 带权路径长度,就是树中所有的 叶结点的权值 乘上其到根结点的路径长度(叶到根 边的数量 )
      在这里插入图片描述

    • 构造哈夫曼树

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    2、哈夫曼编码

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    3、压缩比

    案例分析:

    已知某文档包含5个字符。每个字符出现的频率如下表所示。采用霍夫曼编码对该文档压缩存储,则单词“cade”的编码为( (1) ),文档的压缩比为( (2))

    在这里插入图片描述

    (1):【A】1110110101 【B】1100111101 【C】1110110100 【D】1100111100

    (2):【A】20%【B】25%【C】27%【D】30%

    1)构造哈夫曼树

    以频率作为权重,依次取最小的两个值

    在这里插入图片描述

    2)标注编码

    按照左分支为0、右分支为1原则标注

    在这里插入图片描述

    由此可知:cade的编码为: 111 0 110 101 选答案A

    3)计算压缩比

    1. 5个字符最少需要3位二位进数表示,即每个字符用三位表示

    2. 通过哈夫曼树优化后,a用0表示,只有1位

    3. 按照出现频率计算加权平均长度:字符位数 * 出现频率

      a的位数 * 40% + b的位数 * 10% + c的位数 * 20% + d的位数 * 16% + e的位数 * 14%

      = 1 * 40% + 3 * 10% + 3 * 20% + 3 * 16% + 3 * 14%

      = 2.2位

    4. 计算压缩比

      未压缩长度为 3 ,压缩后平均长度为 2.2

      (3 - 2.2)/3 = 27%

      选答案C

    展开全文
  • 利用优先级队列+DFS优化的哈夫曼编码译码器,可进行中文压缩,最高压缩率可达到1:3
  • 数组部分就是特殊矩阵的压缩,此处不建议硬背公式,和数学一样,你最好知道他是怎么推导的,这个重要性远高于记住公式本身。 3 树 树是北理非常爱以代码填空方式考察的东西,此外在简答题,填空题,选择题方面都能...

    北理工计科学硕上岸经验分享(2020年)

    北京理工大学计算机科学与技术学术型硕士的专业课编号是813,由数据结构(120分)和计算机组成原理(30分)两部分组成,接下来会对这两部分列出一些我自己的经验。

    1. 数据结构ààààà推荐书目:《数据结构》(严蔚敏)

    对于数据结构的复习,总的来讲是推荐以严版教材为主,因为这本书写的极为细致,甚至是无微不至,对考点实现了全覆盖(对专硕和学硕都是如此),书上对应算法讲解清晰,例子生动形象,非常便由理解。其次就是王道和天勤,这两个系列的书各有各的缺点和优点,但总体来讲还是值得推荐(毕竟被誉为考验圣经),但是真题还是要系统做一遍的,我用的是考研小分队BIT北理这个公众号的资料,真题是比较全的,接下来将按照2020考纲的顺序来说一下我对于这些东西备考时的粗浅认识。

    1. 1   线性表

    首先该部分不会单独设计代码题来考核,例如让你用代码写一个链表结点插入,该部分会融合在树等地方以代码填空的方式进行代码考核。对于操作的考核,则会以填空题和选择题的形式考察。

    1. 2   栈,队列和数组

    此处也不会专门设立代码题进行代码考察,也会以代码填空的方式进行考察,主要是对栈和队列的应用有一个清楚的认识,其中栈的应用是2020的一道十分题。栈主要考察和栈顶指针相关的操作和应用,队列部分主要是循环队列的计算问题。数组部分就是特殊矩阵的压缩,此处不建议硬背公式,和数学一样,你最好知道他是怎么推导的,这个重要性远高于记住公式本身。

    1. 3   树

    树是北理非常爱以代码填空方式考察的东西,此外在简答题,填空题,选择题方面都能看到树的身影,非常常见,建议认真掌握树的遍历算法及其应用,平衡二叉树的插入(今年刚考LL旋转的代码填空,LL旋转是严版教材上唯一有的代码实现),BST,哈夫曼树等等,对于树的计算问题也要非常认真,建议多做题,王道上的多做几遍即可。

    1. 4   图

    就近些年看,图不会单独设立代码考察,该部分的题目主要以填空题和选择题的形式出现,对于最小生成树,拓扑排序有一定的侧重,关键路径可能是近两年考察的盲点。

    1. 5   查找

    此处也不会单独设立代码来考察,查找主要是B树的插入和删除部分(今年刚考简答题),散列(Hash)表的应用(一些计算问题,例如冲突次数或者填写Hash表)。王道的B树部分写的不是很清楚,建议看看严版教材,会为你打开新世界的大门。

    1. 6   内部排序

    此处主要是会考察排序的手撕算法,而不是设立单独代码设计题进行考察,快排是重中之重,快速排序对于很多算法题都有很好的启发,例如荷兰旗问题等。此外,堆排,二路归并和插入排序也经常出现。算法之间的对比,经过某种排序计算的结果也是选择题的常客。该部分是数据结构复习中第二重要的部分。

    1. 计算机组成原理ààààà推荐书目:《计算机组成原理》(蒋本珊)

    相对于数据结构这种感觉一脉相承的系统科目,计算机组成原理是一门零碎且枯燥的科目。王道和天勤的参考书为唐朔飞的教材,与蒋本珊的在一些地方是有一定出入的(例如芯片的引线的数量,建议此处以蒋版教材为主)。王道和天勤还是值得推荐,本人更侧重天勤的计组,有些地方对王道进行了适当的补充。

    1. 1   概述

    这个地方都是考一些边边角角没什么用的东西,主要记住的就是CPI和MIPS的计算,还有一些对于时钟和频率等的定义。换句话说,重点在于几个性能指标的计算上,可以记一下冯诺依曼计算机的概念。

    1. 2   数据的机器层次表示

    此处是每年的必考部分,以填空题和选择题的形式出现。主要是浮点数的表示问题,因此浮点数是这部分的重点,因为对浮点数的考核实质上是对原、补、移码的一次全面考核。非数值数据的表示和十进制数的编码不是重点,数据校验码会考一些简单的知识。

    1. 3   指令系统

    此处每年必考,以选择填空的形式出现,主要掌握扩展指令码的分配(实质上就是操作码去占用地址码实现扩展的过程),寻址方式主要是间接寻址、变址寻址和相对寻址的计算问题,尤其是相对寻址在执行跳转语句时是包含了对PC的修改。CISC与RISC的区别记住王道表格里的内容即可,没什么别的部分。

    1. 4   数值的机器运算

    此处也是每年必考,对于加法器部分考核极少,主要是定点数和浮点数的运算部分,主要是涉及运算结果的表示问题和溢出的判别方法。对于定点数的乘除问题相对弱化。

    1. 5   存储系统与结构

    此处是本门科目的重中之重,也是两年来最后一道的出处,19是画芯片,20是cache的计算,虽然cache今年大题考过,但仍可作为选择题或填空题出现,因此此处的重要性不必多说。此处DRAM和SRAM 的对比在王道上就能看到,记住即可,ROM和RAM他们的芯片连线以蒋老师教材为主。cache和虚拟存储是此处的计算重点,要认真掌握调度算法和地址计算。至于存储方式,两种存储方式都要记住其特点,尤其是低位存储的计算问题。

    1. 6   中央处理器

    首先此处不会涉及汇编代码的编写,最多只会涉及数据流在每个模块之间的传递问题,所以看到王道上有很多汇编指令时不用专门去记。CISC和RISC的对比在这个地方仍能用到,只是对其进行了相应的扩展,记住即可。微程序部分近两年考察相对较少,可以相应弱化,但一定不要不看。指令流水线是此处重要的部分,如果今年放弃在1.5出大题,那么流水线的时空图和相关计算等将变得十分关键。

    1. 7   输入输出系统

    没有王道上那些乱七八糟的东西,该章重点就是中断和DMA,中断一般以选择填空的形式出现,考察一些类似于中断时的操作顺序等的简单问题。DMA除了概念之外还可能涉及计算等问题,需要认真掌握。

           总的来讲,813并不难,两个小时就能写完,但是要保证写的都对却不是一件容易的事情,因此,请各位考生写完好好检查。

    欢迎联系考研小分队BIT北理,提供优质资料、QQ群答疑和上岸学长学姐一对一专业咨询。欢迎以以下联系方式联系我们,QQ群1101315711 2021年北理工计算机考研。

    ad5b69416074a15b80b6132212fcca45.png


    北理工计算机师兄关于813计算机基础的嘱咐(2019年)

    考研小分队BIT北理为大家邀请今年上岸的师兄给大家说说怎么准备813计算机基础。本人考的是813(学硕),专业课其实不太难,就是知识点太多了,尤其是计算机组成,分值只有30分,而且还有那么多知识点,所以复习的时候要把握重点,多看看历年的真题,看看出题的方向,有什么样的题目经常考,什么样的题目不容易考,或者不会考(比如cache,存储器可以认为必考吧,而比较偏的,定点乘除法的列式计算,比较难的,很难记住流程,这样的题目就应该不会出),这个是重点,一句话要有方向的复习。同时我也整理了计算机组成和数据结构的复习内容和常考知识点,希望对大家有所帮助。同时也建议大家看一下天勤和王道。这个是计算机考研的必备选择。我的复习计划:7-8月份,暑假把天勤数据结构,王道计算机组成看完,后面的题目也尽量的做完,课本的话可以先不看,等到做真题的时候再来看课本,参考资料看完以后,就开始做真题了,真题大概做了1个月吧(9月份),这个时候也要把课本大概翻一遍,记住数据结构(严蔚敏)这个是重点,北理工大部分是按照这个课本出题的,而计算机组成我觉得不看课本就行,一本王道就ok了 以为分值小,题型固定。(10月份)再把王道天勤看一遍,题目做一遍,反正我是容易忘,多看就行了,记一下笔记,总结一下,然后再看真题,就这样往复复习就行了,注意一下常考题目,常考题目必须弄懂,而且要着重复习最近5年的真题,而以前的年份比较早的题目,就参考一下就行了,最近5年的题目才是出题的趋势,反正我是感觉813 的题量变多了,稍微难了一点,比前几年,本人2019年考了129,不算很高。我也整理了答案供大家参考。总结一下:数据结构课本是重点,出题方向要把握好,多研究真题就会发现常考题型,把时间放在常考题型上,计算机组成的话,不要花大量时间去看一些特别偏的东西,看常考的就行了,偏的是不会考的。我在考研小分队BIT北理,希望大家关注我们的公众号。大家加油!!!
    展开全文
  • 哈夫曼树和哈夫曼编码(选+应):不仅会画图还要会用文字来叙述 2.5 图 图的概念(选) 1. 图的度与树的度的区分 2. 有向图与无向图的区分(连通性,强连通性) 3. 简单路径与简单回路 4. 距离:最短路径 图的存储方式...
  • 根绝哈夫曼编码写的数据压缩解压软件
  • 前面讲了如何如何生成哈夫曼树,如何用哈夫曼树进行编码,进而得到哈夫曼哈希表,本节主要讲实例,如何对字符串进行压缩展示。 思路: 1、将字符串用生成哈夫曼树,生成哈夫曼哈希表 2、将原byte[]通过哈夫曼哈希表...
  • 基于哈夫曼编码压缩算法的Python实现

    千次阅读 多人点赞 2018-11-18 01:11:59
    离散数学老师布置了一份大作业,作业题目就是用自己喜欢的编程语言来实现课上所学的哈夫曼编码算法(Huffman Coding)。哈夫曼编码是一种采用变长编码表来表示数据的编码方式。其详细介绍详见下方引自维基百科的引文...
  • 我们已知:1 typetypetype=8 bitbitbit,计算机的内存存储器的数据信号有D0−D7D0-D7D0−D7 8个数据信号,每个数据信号都会...哈夫曼编码 执行过程: 先统计每个字符的出现频率,然后按照出现频率从小到大排序,然后将频
  • 哈夫曼树中压缩率到底是什么意思

    千次阅读 2020-12-12 23:09:35
    哈夫曼树中压缩率到底是什么意思 编码的含义 编码就是将一系列个体赋予一个能唯一标识的信息标志,这个标志可以简单的是一个编号,或者更复杂的约定好的其他数据结构。目的就是将电脑不能用0、1表示的物体(声音、...
  • 应该搞清三个概念:哈夫曼树,哈夫曼编码和哈夫曼压缩 具体请看下图 a)哈夫曼树 b)哈夫曼树的构造过程和哈夫曼编码 c)哈夫曼压缩 解释:哈夫曼编码是怎么达到压缩的? 如上图所示,把结点权值看作结点出现的次数...
  • AAAAABCD THE_CAT_IN_THE_HAT END 输出样例: 64 13 4.9 144 51 2.8 解题思路: 原题目贼长,不看也罢,单看输入描述和输出描述以及样例,再结合题目中的一点数字描述就知道是一串字符串的哈夫曼编码压缩比。...
  • 什么是哈夫曼树? 哈夫曼树(Huffman Tree):给定N个权值作为N个叶子结点,构造一棵二叉树,若该树的带权路径长度(WPL)达到最小,这样的二叉树也称为最优二叉树 一棵带权二叉树: 这里有几个概念: 路径:从一个...
  • 利用哈夫曼编码压缩文本

    千次阅读 多人点赞 2020-04-12 16:27:21
    文章目录使用哈夫曼编码进行压缩文本文本内容读取文件内容至内存中遍历文本内容,获取每个字符对应出现概率值建立哈夫曼树获取哈夫曼编码将转换后的编码写入新文件检测压缩率利用编码文件进行还原文本完整code ...
  • 哈夫曼编码C++实现

    2018-03-25 21:23:39
    哈夫曼编码是广泛用于数据文件压缩的十分有效的编码方式,其压缩率通常在20%—90%之间。哈夫曼编码算法是通过使用字符在文件中出现的频率表来构造最优前缀码的贪心算法。所谓前缀码,即是任一字符的编码都不是其他...
  • 利用哈夫曼编码进行通信可以大大提高信道利用,缩短信息传输时间,降低传输成本。但是,这要求在发送端通过一个编码系统对待传数据预先编码,在接收端将传来的数据进行译码
  • 哈夫曼编码文件压缩解压 没整懂 这份代码竟然只能压缩文本文件,内容不能包含中文,不能解压大于 8 k 的 public static void main(String[] args) { // 只能压缩txt,压缩的文件不能有中文 String srcFile =...
  • 哈夫曼编码压缩效率分析

    千次阅读 2017-07-09 17:51:10
    1、本实验中Huffman编码算法  (1)将文件以ASCII字符流的形式读入,统计每个符号的发生频率;  (2)将所有文件中出现过的字符按照频率从小到大的顺序排列;  (3)每一次选出最小的两个值,作为二叉树的两个叶子节点...
  • 0001 l:001 空格:01 所以整个字符串的编码就是:1010100110111101111010011011110111101001101111011110100001100001110011001101000011001111000100100100110111101111011100100001100001110 长度:133,压缩率...
  • 实验报告 实验课名称数据结构实验 实验名称文件压缩问题 班级20132012 学号 姓名 时间2015-6-9 一问题描述 哈夫曼编码是一种常用的数据压缩技术对数据文件进行哈夫曼编码可 大大缩短文件的传输长度提高信道利用及...
  • 霍夫曼编码计算图片压缩率

    千次阅读 2020-07-08 21:01:49
    给定一个包含0,1,2,3像素值的灰度图像,其像素值的比例分别为70%,15%,12%,3%,对其进行霍夫曼编码后相对于原始8bit存储的压缩率是多少? 记符号为 0, 1, 2, 3 频率为 0.75,0.15,0.12,0.03 按照下列步骤构造...
  • 哈夫曼编码实现文件压缩和结压缩的C语言,程序,江湖救急 读一原来文本文件 能压缩生成一压缩文件 能计算出压缩率 删除原文本文件后,能用压缩文件还原出文本文件</p>
  • 哈夫曼编码学习笔记。
  • 哈夫曼编码--压缩与解压

    千次阅读 多人点赞 2016-12-20 01:27:43
    使用哈夫曼编码的方法对文件进行压缩和解压缩。该编码方式根据不同字符出现的概率来进行构建最佳二叉树,所有的字符都位于叶子节点,规定从根节点开始,往左走为0,往右走为1,通过这种方式,可以对所有的字符进行...
  • 哈夫曼编码是广泛地用于数据文件压缩的十分有效的编码方法。其压缩率通常在20%~90%之间。哈夫曼编码算法用字符在文件中出现的频率表来建立一个用0,1串表示各字符的最优表示方式。资源为哈夫曼编码可执行文件
  • //将字节数组,和哈夫曼编码以对象的形式输出去 oos.writeObject(huffmanCodeArr); oos.writeObject(huffmanCode); //将字节数组最后一位要补0的个数传过去 oos.writeObject(zeloCount); } catch (Exception e) { e....
  • 0023 算法笔记贪心算法哈夫曼编码问题 1 问题描述 哈夫曼编码是广泛地用于数据文件压缩的十分有效的编码方法 其 压缩率通常在 20% 90% 之间哈夫曼编码 算法 用字符在文件中出现的 频率表来建立一个用 0 1 串表示各...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,666
精华内容 1,066
关键字:

哈夫曼编码求压缩率