【考研计算机专业课】湖南大学 数据结构课件 实验六

【考研计算机专业课】湖南大学 数据结构课件 实验六
【考研计算机专业课】湖南大学 数据结构课件 实验六

计算机体系结构解

计算机体系结构解

————————————————————————————————作者:————————————————————————————————日期:

第一章计算机组成原理 本部分要求掌握计算机方面的基础知识,包括计算机的发展、计算的系统组成、基本组成和工作原理、计算机的数制数据表示以及运算校验、指令系统以及计算机系统的安全等基础性的知识。内容多而且复杂,尤其是有关计算机硬件方面的内容,很细而且灵活性不高,知识量相当大,掌握这部分一定要多下功夫,学会取舍、把握重点、抓住要害。 1.1 考试大纲及历年考题知识点 1.1.1 大纲要求 考试要求: 1 掌握数据表示、算术和逻辑运算; 2 掌握计算机体系结构以及各主要部件的性能和基本工作原理考试范围 1 计算机科学基础 1.1 数制及其转换二进制、十进制和十六进制等常用制数制及其相互转换 1.2 数据的表示 ?数的表示(原码、反码、补码、移码表示,整数和实数的机内表示,精度和溢出)?非数值表示(字符和汉字表示、声音表示、图像表示) ?校验方法和校验码(奇偶校验码、海明校验码、循环冗余校验码) 1.3 算术运算和逻辑运算 ?计算机中的二进制数运算方法 ?逻辑代数的基本运算和逻辑表达式的化简 2.计算机系统知识 2.1 计算机系统的组成、体系结构分类及特性 ?CPU 和存储器的组成、性能和基本工作原理 ?常用I/O 设备、通信设备的性能,以及基本工作原理 ?I/O 接口的功能、类型和特性 ?I/O 控制方式(中断系统、DMA、I/O 处理机方式) ?CISC/RISC,流水线操作,多处理机,并行处理 2.2 存储系统 ?主存-Cache 存储系统的工作原理 ?虚拟存储器基本工作原理,多级存储体系的性能价格 ?RAID 类型和特性 2.3 安全性、可靠性与系统性能评测基础知识 ?诊断与容错 ?系统可靠性分析评价 ?计算机系统性能评测方式 1.2 计算机科学基础 1.2.1 数制及其转换 1、R 进制转换成十进制的方法按权展开法:先写成多项式,然后计算十进制结果. 举例: (1101.01)2=1×2^3+1×2^2+0×2^1+1×2^0+ 0×2^-1+1×2^-2 =8+4+1+0.25=13.25 (237)8=2×8^2+3×8^1+7×8^0 =128+24+7=159 (10D)16=1×16^2+13×16^0=256+13=269

(完整word版)数据结构课后习题及答案

填空题(10 * 1 '= 10') 一、概念题 22当对一个线性表经常进行的是插入和删除操作时,采用链式存储结构为宜。 23当对一个线性表经常进行的是存取操作,而很少进行插入和删除操作时,最好采用顺序存储结构。 2.6. 带头结点的单链表L中只有一个元素结点的条件是L->Next->Next==Null。 36循环队列的引入,目的是为了克服假溢出。 4.2. 长度为0的字符串称为空串。 4.5. 组成串的数据元素只能是字符。 4.8. 设T和P是两个给定的串,在T中寻找等于P的子串的过程称为模式匹配,又称P为模式。 7.2. 为了实现图的广度优先搜索,除一个标志数组标志已访问的图的结点外,还需要队列存放被访问的结点实现遍历。 5.7. 广义表的深度是广义表中括号的重数 7.8. 有向图G可拓扑排序的判别条件是有无回路。 7.9. 若要求一个稠密图的最小生成树,最好用Prim算法求解。 8.8. 直接定址法法构造的哈希函数肯定不会发生冲突。 9.2. 排序算法所花费的时间,通常用在数据的比较和交换两大操作。 1.1. 通常从正确性、可读性、健壮性、时空效率等几个方面评价算法的(包括程序)的质量。 1.2. 对于给定的n元素,可以构造出的逻辑结构有集合关系、线性关系树形关系、图状关系四种。 1.3. 存储结构主要有顺序存储、链式存储、索引存储、散列存储四种。 1.4. 抽象数据类型的定义仅取决于它的一组逻辑特性,而与存储结构无关,即不论其内部结构如何变化,只要它的数学特性不 变,都不影响其外部使用。 1.5. 一个算法具有五大特性:有穷性、确定性、可行性,有零个或多个输入、有一个或多个输入。 2.8. 在双向链表结构中,若要求在p指针所指的结点之前插入指针为s所指的结点,则需执行下列语句: s_>prior= p_>prior; s->next= p; p_>prior- next= s; p_>prior= s;。 2.9. 在单链表中设置头结点的作用是不管单链表是否为空表,头结点的指针均不空,并使得对单链表的操作 (如插入和删除)在各种情况下统一。 3.1. 队列是限制在表的一端进行插入和在另一端进行删除的线性表,其运算遵循先进先出原则。 3.2 .栈是限定尽在表位进行插入或删除操作的线性表。 3.5. 在链式队列中,判定只有一个结点的条件是(Q->rear==Q->fro nt)&&(Q->rear!=NULL) 。 3.7. 已知链队列的头尾指针分别是f和r,则将x入队的操作序列是node *p=(node *)malloc(node); p->next=x;] p_>next=NULL; if(r) {r->next=p; r=p;} else {r=p; f=p;}。 3.8. 循环队列的满与空的条件是(rear+1)%MAXSIZE==fornt 和(fron t=-1 &&rear+ ^=MAXSIZE) 。 4.3. 串是一种特殊的线性表,其特殊性表现在数据元素都是由字符组成。 4.7. 字符串存储密度是串值所占存储位和实际分配位的比值,在字符串的链式存储结构中其结点大小是可变的。 5.3. 所谓稀疏矩阵指的是矩阵中非零元素远远小于元素总数,则称该矩阵为矩阵中非零元素远远小于元素总数,则称该矩阵为稀 疏矩阵。 5.4. —维数组的逻辑结构是线性结构,存储结构是顺序存储结构;对二维或多维数组,分别按行优先和列优先两种?不同的存储 方式。 7.4. 在有向图的邻接矩阵表示中,计算第i个顶点入度的方法是求邻接矩阵中第?i列非10元素的个数。 7.10. AOV网中,结点表示活动,边表示活动之间的优先关系,AOE网中,结点表示事件,边表示活动。 9.1. 按排序过程中依据不同原则对内部排序方法进行分类,主要有选择排序、交换排序、插入排序归并排序等4类。 9.3 .在堆排序、快速排序和归并排序中若只从排序结果的稳定性考虑,则应选择归并排序方法;若只从平均情况下 排序最快考虑,则应选择快速排序方法;若只从最坏情况下排序最快且要节省类存考虑,则应选择堆排序方法。 9.4. 直接插入排序用监视哨的作用是存当前要的插入记录,可又省去查找插入位置时对是否出界的判断。 9.6. 设表中元素的初始状态是按键值递增的,则直接插入排序最省时间,快速排序最费时间。 4.9. 下列程序判断字符串s是否对称,对称则返回1,否则返回0;如?(abba”返回1, ? (”abab”)返回0. Int f (char*s) { Int i=0,j=0;

数据结构试题及答案(免费)

一、单选题(每题 2 分,共20分) 1. 1.对一个算法的评价,不包括如下(B )方面的内容。 A.健壮性和可读性B.并行性C.正确性D.时空复杂度 2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结 点,则执行( )。 A. p->next=HL->next; HL->next=p; B. p->next=HL; HL=p; C. p->next=HL; p=HL; D. HL=p; p->next=HL; 3. 3.对线性表,在下列哪种情况下应当采用链表表示?( ) A.经常需要随机地存取元素 B.经常需要进行插入和删除操作 C.表中元素需要占据一片连续的存储空间 D.表中元素的个数不变 4. 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是 ( C ) A. 2 3 1 B. 3 2 1 C. 3 1 2 D. 1 2 3 5. 5.AOV网是一种()。 A.有向图B.无向图C.无向无环图D.有向无环图 6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度()。 A.低于链接法处理冲突 B. 高于链接法处理冲突 C.与链接法处理冲突相同D.高于二分查找 7.7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。 A.值B.函数C.指针D.引用 8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具 有相同的()。 A.行号B.列号C.元素值D.非零元素个数 9.9.快速排序在最坏情况下的时间复杂度为()。 A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2) 10.10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。 A. O(n) B. O(1) C. O(log2n) D. O(n2) 二、二、运算题(每题 6 分,共24分) 1. 1.数据结构是指数据及其相互之间的______________。当结点之间存在M 对N(M:N)的联系时,称这种结构为_____________________。 2. 2.队列的插入操作是在队列的___尾______进行,删除操作是在队列的 ____首______进行。 3. 3.当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则 表示栈满的条件是___top==0___(要超出才为满)_______________。 4. 4.对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度 为_________,在表尾插入元素的时间复杂度为____________。

湖南大学实验报告

HUNAN UNIVERSITY C++ 学生姓名李国龙 学生学号201408010211 专业班级计算机科学与技术 指导老师杨圣洪 2015年12月 30日

一、实验原理:运用MFC的知识编写一个系统,实现二进制文件的创建,读取,查询,插入,修改,删除,排序,索引,基于索引的查询等功能。 二、实验目标:掌握MFC的相关知识,学会利用MFC进行文件操作系统的编写。 三、实验设计: 1、建立框架 利用 MFC Exe 模板建立 MFC 的基础界面,其中第 3 步中不选“ActiveX 控件”,在第 5 步中选择“作为静态的DLL”,其他取默认值,等你熟练后,你再百度或搜狗找办法,定制所你的喜欢的模式。项目名称为 Lt13DTextFile。建立菜单:我的文件、我的编辑在“我的文件”下方建:建立文本文件 ID_MENUITEMFILENEW、读取文本文件ID_MENUITEMFILEREAD、查询单条记录ID_MENUITEMQUERYONE、查询多条记录 ID_MENUITEMQUERYM 在“ 我的编辑” 下方建:修改 ID_MENUITEMEDITMODI 、删除ID_MENUITEMEDITDEL 、插入 ID_MENUITEMEDITINSERT 、排序ID_MENUITEMEDITSORT1 、排序 2 ID_MENUITEMEDITSORT2 、索引ID_MENUITEMEDITINDEX、根据索引查询ID_MENUITEMEDITQUERYINDEX。 单击后显示一句话。先建立菜单系统,为每个菜单项的单击事件写

上 MessageBox(NULL,"函数名","测试 ",MB_OK),等将来建立相应对话框后,再进行修改。由于保存在 LT13DTextFileView.cpp 即 View 文件中,显示对话框的命令为:voidCLt13DTextFileView::OnMenuitemeditqueryindex() { MessageBox("根据索引文件快速查询","初始代码",MB_OK); } 2、建立数据结构类 StudScore 在当前项目中建立 StudScore.h,将 LT12B 中同名文件的内容复制过来。再新建 StudScore.cpp,当我将 LT12B::StudScore.cpp 代码贴到当前文件中,再编译时出现如下错误:studscore.cpp(248) : fatal error C1010: unexpected end of file while looking for precompiled header directive,百度一下在最前面加上“#include"stdafx.h"”,这是将普通的 DOSAPP 迁移到 MFC 时发生的现象,是正常的!因为不符合 MFC 的规范。 3、建立文件操作类 StudScoreAFile 在当前项目中建立 studScoreAFile.h,将 LT12B 中同名文件的内容复制过来。建立 studScoreAFile.cpp,复制 LT12B 中相关代码,可以要进行修改,加上 include"stdafx.h"后,编译竟然能能通过,不是说 MFC 与 DOSAPP 中 C++的文件读写操作不一样吧?不再是流媒体 ofstream 或 iftream,而是采用 CStdioFile 吗?先试试看。经实际测试,只需要将以上函数中 stringstream sdata 换成

计算机系统结构有详细答案

(仅供参考,不作为考试标准), 选择题分,每题分)2(30计算机系统结构设计者所关心的是________所看到的的计算机结构。 A)硬件设计人员B)逻辑设计人员 D)高级语言程序员C)机器语言或汇编语言程序员 。意________,应当注提系在计算机统设计时,为了高系统性能度的令执行速快A)加经常性使用指大的指令特B)要别精心设计少量功能强数的占减少在数量上很小比例的指令条C)要度D)要加快少量指令的速 。的问题统中因________而导致系主重叠寄存器技术要用于解决在RISC 流水线影A)JMP指令响保护令B)CALL指的现场问存储器不便来只C)有LOAD和STORE指令带的访度速器访问D)存储 ________ 效率高计为使流水算机运行要A)各过程段时间不同B)连续处理的任务类型应该不同 D)连续处理的任务数尽可能少C)连续处理的任务类型应该相同 栈型替是的________。换算法堆不属于B)近期最少A)近期最使用法久未用法 D)页面失效频率法出进C)先先法 象联组,相映的优点。是________象联全与相映相比B)块冲突概率低C)命中率高D)主存利用率小录A)目表高 是方好关相指除中叠次一重消令最的法________。B)设相关专用令指改准A)不修通路 令指条下析分后推C) 令指条下行执后推D) 流的用采,时关据数到,中作水操遇相________。有法办解决器译编化优A)用办的排新重令指过通,测检序法据数B)向定重技术 C)延迟转移技术 D)加快和提前形成条件码 经多级网络串联来实现全排列网络,只能用________。 A)多级立方体网络B)多级PM2I网络 D)上述多级混洗交换网络任何网络C) 序传送的________。是以虫蚀寻径流水方式在各寻径器是顺B)包A)消息C)片节D)字 ________ 处理机超标量作指条令部件个B) 只有一操期A)在一个时钟周内分时发射多多钟C)在一个时周期内同时发射条指令件有只一个取指部D)

数据结构课后习题及答案

填空题(10 * 1’ = 10’) 一、概念题 .当对一个线性表经常进行的是插入和删除操作时,采用链式存储结构为宜。 .当对一个线性表经常进行的是存取操作,而很少进行插入和删除操作时,最好采用顺序存储结构。 .带头结点的单链表L中只有一个元素结点的条件是L->Next->Next==Null。 .循环队列的引入,目的是为了克服假溢出。 .长度为0的字符串称为空串。 .组成串的数据元素只能是字符。 .设T和P是两个给定的串,在T中寻找等于P的子串的过程称为模式匹配,又称P为模式。 .为了实现图的广度优先搜索,除一个标志数组标志已访问的图的结点外,还需要队列存放被访问的结点实现遍历。 .广义表的深度是广义表中括号的重数 .有向图G可拓扑排序的判别条件是有无回路。 .若要求一个稠密图的最小生成树,最好用Prim算法求解。 . 直接定址法法构造的哈希函数肯定不会发生冲突。 .排序算法所花费的时间,通常用在数据的比较和交换两大操作。 .通常从正确性﹑可读性﹑健壮性﹑时空效率等几个方面评价算法的(包括程序)的质量。 .对于给定的n元素,可以构造出的逻辑结构有集合关系﹑线性关系树形关系﹑图状关系四种。 .存储结构主要有顺序存储﹑链式存储﹑索引存储﹑散列存储四种。 .抽象数据类型的定义仅取决于它的一组逻辑特性,而与存储结构无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部使用。 .一个算法具有五大特性:有穷性﹑确定性﹑可行性,有零个或多个输入﹑有一个或多个输入。 .在双向链表结构中,若要求在p指针所指的结点之前插入指针为s所指的结点,则需执行下列语句:s->prior= p->prior; s->next= p; p->prior- next= s; p->prior= s;。 .在单链表中设置头结点的作用是不管单链表是否为空表,头结点的指针均不空,并使得对单链表的操作(如插入和删除)在各种情况下统一。 .队列是限制在表的一端进行插入和在另一端进行删除的线性表,其运算遵循先进先出原则。 .栈是限定尽在表位进行插入或删除操作的线性表。 .在链式队列中,判定只有一个结点的条件是(Q->rear==Q->front)&&(Q->rear!=NULL)。 .已知链队列的头尾指针分别是f和r,则将x入队的操作序列是node *p=(node *)malloc(node); p->next=x; p->next=NULL; if(r) {r->next=p; r=p;} else {r=p; f=p;}。 .循环队列的满与空的条件是(rear+1)%MAXSIZE==fornt和(front=-1&&rear+1==MAXSIZE)。 .串是一种特殊的线性表,其特殊性表现在数据元素都是由字符组成。 .字符串存储密度是串值所占存储位和实际分配位的比值,在字符串的链式存储结构中其结点大小是可变的。 .所谓稀疏矩阵指的是矩阵中非零元素远远小于元素总数,则称该矩阵为矩阵中非零元素远远小于元素总数,则称该矩阵为稀疏矩阵。 .一维数组的逻辑结构是线性结构,存储结构是顺序存储结构;对二维或多维数组,分别按行优先和列优先两种不同的存储方式。 .在有向图的邻接矩阵表示中,计算第i个顶点入度的方法是求邻接矩阵中第i列非0元素的个数。 网中,结点表示活动,边表示活动之间的优先关系,AOE网中,结点表示事件,边表示活动。 .按排序过程中依据不同原则对内部排序方法进行分类,主要有选择排序﹑交换排序﹑插入排序归并排序等4类。 .在堆排序、快速排序和归并排序中若只从排序结果的稳定性考虑,则应选择归并排序方法;若只从平均情况下排序最快考虑,则应选择快速排序方法;若只从最坏情况下排序最快且要节省类存考虑,则应选择堆排序方法。 .直接插入排序用监视哨的作用是存当前要的插入记录,可又省去查找插入位置时对是否出界的判断。 .设表中元素的初始状态是按键值递增的,则直接插入排序最省时间,快速排序最费时间。 .下列程序判断字符串s是否对称,对称则返回1,否则返回0;如?(“abba”)返回1,?(”abab”)返回0. Int f (char*s) { Int i=0,j=0; 求串长*/

最新湖南大学数据结构第5次作业

1 1、画出对下列存储于数组中的值执行buildheap后得到的最大值堆: 2 10 5 12 3 2 1 8 7 9 4 3 4 先序遍历为12 10 4 1 2 9 5 8 3 7 5 中序遍历为1 4 2 10 5 9 12 3 8 7 6 7 2、假设某字母表各个字母的权如下: 8 Q Z F M T S O E 9 2 3 10 10 10 15 20 30 10 (a)按照这个字母表,一个包含n个字母的字符串采用Huffman编码在最差情 11 况下需要多少位?怎样的串会出现最差情况? 12 13 在最差的情况下需要5*n位,当所有的字母都是Q或者Z的时候。 (b)按照这个字母表,包含n个字母的字符串采用Huffman编码在最佳情况 14 15 下需要多少位?怎样的串会出现最佳情况? 16 在最佳的情况下需要2*n位,当所有的字母都是E或者O的时候。 17 (c)按照一个字母表,一个字母平均需要多少位? 18 (2*30 + 2*20 + 3*15 + 3*10 + 3*10 + 4*10 + 5*3+ 5*2)/100 =2.7 19 ∴ 2.7

20 3、编写一个算法来判断两棵树是否相同。尽可能提高算法效率,并分析算法21 的运行时间代价。 22 template 23 bool Compare(GTNode* tree1, GTNode* tree2) { 24 GTNode *num1, *num2; 25 if (((tree1 == NULL) && (tree2 != NULL)) || 26 ((tree2 == NULL) && (tree1 != NULL))) 27 return 0; 28 if ((t1 == NULL) && (t2 == NULL)) return 1; 29 if (tree1->val() != tree2->val()) return 0; Num1 = tree1->left_child(); 30 31 Num2 = tree2->left_child(); 32 while(!((num1 == NULL) && (num2 == NULL))) { if (!Compare(num1, num2)) return false; 33 34 if (num1 != NULL) num1 = num1->right_value(); 35 if (num2 != NULL) num2 = num2->right_value(); 36 }} 37 38 O(n)

计算机体系结构参考1

第一题选择题 1.SIMD是指(B) A、单指令流单数据流 B、单指令流多数据流 C、多指令流单数据流 D、多指令流多数据流 2.下列那种存储设备不需要编址?D A. 通用寄存器 B. 主存储器 C. 输入输出设备 D. 堆栈 3.按照计算机系统层次结构,算术运算、逻辑运算和移位等指令应属于(A)级机器语言。 A、传统机器语言机器 B、操作系统机器 C、汇编语言机器 D、高级语言机器 4.早期的计算机系统只有定点数据表示,因此硬件结构可以很简单。但是这样的系统有明显的缺点,下面哪一个不是它的缺点:B A.数据表示范围小 B.单个需要的计算时钟周期多 C.编程困难 D.存储单元的利用率很低 7.下面哪个页面替换算法实际上是不能够实现的?D A)随机页面替换算法 B)先进先出替换算法 C)最久没有使用算法 D)最优替换算法

9.指令优化编码方法,就编码的效率来讲,那种方法最好?C A. 固定长度编码 B. 扩展编码法 C. huffman编码法 D. 以上编码都不是 10.在早期冯·诺依曼计算机特征中,机器以(C)为中心。 A、存储器 B、输入输出设备 C、运算器 D、控制器 1.RISC 计算机的指令系统集类型是( C ) 。 A. 堆栈型 B. 累加器型 C. 寄存器—寄存器型 D. 寄存器- 存储器型 2、相联存储器的访问方式是( D )。 A.先进先出顺序访问 B.按地址访问 C.无地址访问 D.按内容访问 3、假设—条指令的执行过程可以分为“取指令”、“分析”和“执行”三段,每—段分别只有—个部件可供使用,并且执行时间分别为Δt、2Δt和3Δt,连续执行n条指令所需要花费的最短时间约为( C )。 (假设“取指令”、“分析”和“执行”可重叠,并假设n足够大) A.6 nΔt B.2 nΔt C.3 nΔt D.nΔt 6、下列计算机不属于RISC计算机的是(C )。 A.SUN:Ultra SPARC

最新湖南大学数据结构第5次作业

1、画出对下列存储于数组中的值执行buildheap后得到的最大值堆: 10 5 12 3 2 1 8 7 9 4 先序遍历为12 10 4 1 2 9 5 8 3 7 中序遍历为1 4 2 10 5 9 12 3 8 7 2、假设某字母表各个字母的权如下: Q Z F M T S O E 2 3 10 10 10 15 20 30 (a)按照这个字母表,一个包含n个字母的字符串采用Huffman编码在最差情况下需要多少位?怎样的串会出现最差情况? 在最差的情况下需要5*n位,当所有的字母都是Q或者Z的时候。 (b)按照这个字母表,包含n个字母的字符串采用Huffman编码在最佳情况下需要多少位?怎样的串会出现最佳情况? 在最佳的情况下需要2*n位,当所有的字母都是E或者O的时候。 (c)按照一个字母表,一个字母平均需要多少位? (2*30 + 2*20 + 3*15 + 3*10 + 3*10 + 4*10 + 5*3+ 5*2)/100 =2.7 ∴ 2.7 3、编写一个算法来判断两棵树是否相同。尽可能提高算法效率,并分析算法的运行时间代价。 template bool Compare(GTNode* tree1, GTNode* tree2) { GTNode *num1, *num2; if (((tree1 == NULL) && (tree2 != NULL)) || ((tree2 == NULL) && (tree1 != NULL))) return 0; if ((t1 == NULL) && (t2 == NULL)) return 1; if (tree1->val() != tree2->val()) return 0; Num1 = tree1->left_child();

完整版计算机体系结构课后习题原版答案_张晨曦著

第1章计算机系统结构的基本概念 (1) 第2章指令集结构的分类 (10) 第3章流水线技术 (15) 第4章指令级并行 (37) 第5章存储层次 (55) 第6章输入输出系统 (70) 第7章互连网络 (41) 第8章多处理机 (45) 第9章机群 (45) 第1章计算机系统结构的基本概念 1.1 解释下列术语 层次机构:按照计算机语言从低级到高级的次序,把计算机系统按功能划分成多级层次结构,每一层以一种不同的语言为特征。这些层次依次为:微程序机器级,传统机器语言机器级,汇编语言机器级,高级语言机器级,应用语言机器级等。 虚拟机:用软件实现的机器。 翻译:先用转换程序把高一级机器上的程序转换为低一级机器上等效的程序,然后再在这低一级机器上运行,实现程序的功能。

解释:对于高一级机器上的程序中的每一条语句或指令,都是转去执行低一级机器上的一段等效程序。执行完后,再去高一级机器取下一条语句或指令,再进行解释执行,如此反复,直到解释执行完整个程序。 计算机系统结构:传统机器程序员所看到的计算机属性,即概念性结构与功能特性。 在计算机技术中,把这种本来存在的事物或属性,但从某种角度看又好像不存在的概念称为透明性。 计算机组成:计算机系统结构的逻辑实现,包含物理机器级中的数据流和控制流的组成以及逻辑设计等。 计算机实现:计算机组成的物理实现,包括处理机、主存等部件的物理结构,器件的集成度和速度,模块、插件、底板的划分与连接,信号传输,电源、冷却及整机装配技术等。 系统加速比:对系统中某部分进行改进时,改进后系统性能提高的倍数。 Amdahl定律:当对一个系统中的某个部件进行改进后,所能获得的整个系统性能的提高,受限于该部件的执行时间占总执行时间的百分比。 程序的局部性原理:程序执行时所访问的存储器地址不是随机分布的,而是相对地簇聚。包括时间局部性和空间局部性。

数据结构(C++版)课后作业1-6章带答案

数据结构(C++版)课后作业 1-6章带答案 标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

第1 章绪论 课后习题讲解 1. 填空 (1) 从逻辑关系上讲,数据结构主要分为()、()、()和()。 (2) 数据的存储结构主要有()和()两种基本方法,不论哪种存储结构,都要存储两方面的内容:()和()。 (3)算法在发生非法操作时可以作出处理的特性称为()。 2. 选择题 ⑴顺序存储结构中数据元素之间的逻辑关系是由()表示的,链接存储结构中的数据元素之间的逻辑关系是由()表示的。 A 线性结构 B 非线性结构C 存储位置 D 指针 ⑵假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。则表示该遗产继承关系的最合适的数据结构应该是()。 A 树 B 图 C 线性表 D 集合 3. 判断题 (1) 每种数据结构都具备三个基本操作:插入、删除和查找。 第2 章线性表 课后习题讲解 1. 填空 ⑵顺序表中第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的存储地址是()。第5个元素的存储地址=第1个元素的存储地址+(5-1)×2=108 ⑶设单链表中指针p 指向结点A,若要删除A的后继结点(假设A存在后继结点),则需修改指针的操作为()。【解答】p->next=(p->next)->next ⑸非空的单循环链表由头指针head指示,则其尾结点(由指针p所指)满足()。p->next=head ⑹在由尾指针rear指示的单循环链表中,在表尾插入一个结点s的操作序列是();删除开始结点的操作序列为()。。【解答】s->next =rear->next; rear->next =s; rear =s; q=rear->next->next; rear->next->next=q->next; delete q; 2. 选择题 ⑴线性表的顺序存储结构是一种()的存储结构,线性表的链接存储结构是一种()的存储结构。 A 随机存取 B 顺序存取 C 索引存取 D 散列存取【解答】A,B 【分析】参见2.2.1。 ⑵线性表采用链接存储时,其地址()。 A 必须是连续的 B 部分地址必须是连续的 C 一定是不连续的 D 连续与否均可以【解答】D 【分析】线性表的链接存储是用一组任意的存储单元存储线性表的数据元素,这组存储单元可以连续,也可以不连续,甚至可以零散分布在内存中任意位置。

计算机体系结构试题汇总

计算机系统结构 姓名:学号: 一、简答题(每小题10分,共20分) 1.简述使用物理地址进行DMA存在的问题,及其解决办法。 2.从目的、技术途径、组成、分工方式、工作方式等5个方面对同构型多处理机和异构型多处理机做一比较(列表)。 二、(60分)现有如下表达式: Y=a ×X 其中:X和Y是两个有64个元素的32位的整数的向量,a为32位的整数。假设在存储器中,X和Y的起始地址分别为1000和5000,a的起始地址为6000。 1.请写出实现该表达式的MIPS代码。 2.假设指令的平均执行时钟周期数为5,计算机的主频为500 MHz,请计算上述MIPS 代码(非流水化实现)的执行时间。 3.将上述MIPS代码在MIPS流水线上(有正常的定向路径、分支指令在译码段被解析出来)执行,请以最快执行方式调度该MIPS指令序列。注意:可以改变操作数,但不能改变操作码和指令条数。画出调度前和调度后的MIPS代码序列执行的流水线时空图,计算调度前和调度后的MIPS代码序列执行所需的时钟周期数,以及调度前后的MIPS流水线执行的加速比。 4.根据3的结果说明流水线相关对CPU性能的影响。 三、(20分)请分析I/O对于性能的影响有多大?假设: 1.I/O操作按照页面方式进行,每页大小为16 KB,Cache块大小为64 B;且对应新页的地址不在Cache中;而CPU不访问新调入页面中的任何数据。 2.Cache中95%被替换的块将再次被读取,并引起一次失效;Cache使用写回方法,平均50%的块被修改过;I/O系统缓冲能够存储一个完整的Cache块。 3.访问或失效在所有Cache块中均匀分布;在CPU和I/O之间,没有其他访问Cache 的干扰;无I/O时,每1百万个时钟周期中,有15,000次失效;失效开销是30个时钟周期。如果替换块被修改过,则再加上30个周期用于写回主存。计算机平均每1百万个周期处理一页。

《数据结构》课后参考答案

单元练习1 一.判断题(下列各题,正确的请在前面的括号内打√;错误的打╳) (√)(1)数据的逻辑结构与数据元素本身的内容和形式无关。 (√)(2)一个数据结构是由一个逻辑结构和这个逻辑结构上的一个基本运算集构成的整体。(ㄨ)(3)数据元素是数据的最小单位。 (ㄨ)(4)数据的逻辑结构和数据的存储结构是相同的。 (ㄨ)(5)程序和算法原则上没有区别,所以在讨论数据结构时可以通用。 (√)(6)从逻辑关系上讲,数据结构主要分为线性结构和非线性结构两类。 (√)(7)数据的存储结构是数据的逻辑结构的存储映像。 (√)(8)数据的物理结构是指数据在计算机内实际的存储形式。 (ㄨ)(9)数据的逻辑结构是依赖于计算机的。 (√)(10)算法是对解题方法和步骤的描述。 二.填空题 (1)数据有逻辑结构和存储结构两种结构。 (2)数据逻辑结构除了集合以外,还包括:线性结构、树形结构和图形结构。(3)数据结构按逻辑结构可分为两大类,它们是线性结构和非线性结构。 (4)树形结构和图形结构合称为非线性结构。 (5)在树形结构中,除了树根结点以外,其余每个结点只有 1 个前趋结点。 (6)在图形结构中,每个结点的前趋结点数和后续结点数可以任意多个。 (7)数据的存储结构又叫物理结构。 (8)数据的存储结构形式包括:顺序存储、链式存储、索引存储和散列存储。(9)线性结构中的元素之间存在一对一的关系。 (10)树形结构结构中的元素之间存在一对多的关系, (11)图形结构的元素之间存在多对多的关系。 (12)数据结构主要研究数据的逻辑结构、存储结构和算法(或运算)三个方面的内容。 (13)数据结构被定义为(D,R),其中D是数据的有限集合,R是D上的关系的有限集合。 (14)算法是一个有穷指令的集合。 (15)算法效率的度量可以分为事先估算法和事后统计法。 (16)一个算法的时间复杂性是算法输入规模的函数。 (17)算法的空间复杂度是指该算法所耗费的存储空间,它是该算法求解问题规模n 的函数。 (18)若一个算法中的语句频度之和为T(n)=6n+3nlog2n,则算法的时间复杂度为 O (nlog2n)。 (19)若一个算法中的语句频度之和为T(n)=3n+nlog2n+n2,则算法的时间复杂度为 O

-计算机系统结构(有详细答案)

(仅供参考,不作为考试标准), 选择题(30分,每题2分) 计算机系统结构设计者所关心的是________所看到的的计算机结构。 A)硬件设计人员B)逻辑设计人员 C)机器语言或汇编语言程序员D)高级语言程序员 在计算机系统设计时,为了提高系统性能,应当注意________。 A)加快经常性使用指令的执行速度 B)要特别精心设计少量功能强大的指令 C)要减少在数量上占很小比例的指令的条数 D)要加快少量指令的速度 重叠寄存器技术主要用于解决在RISC系统中因________而导致的问题。 A)JMP指令影响流水线 B)CALL指令的现场保护 C)只有LOAD和STORE指令带来的访问存储器不便 D)存储器访问速度 为使流水计算机运行效率高________ A)各过程段时间要不同B)连续处理的任务类型应该不同 C)连续处理的任务类型应该相同D)连续处理的任务数尽可能少不属于堆栈型替换算法的是________。 A)近期最少使用法B)近期最久未用法 C)先进先出法D)页面失效频率法 与全相联映象相比,组相联映象的优点是________。 A)目录表小B)块冲突概率低C)命中率高D)主存利用率高"一次重叠"中消除"指令相关"最好的方法是________。 A)不准修改指令B)设相关专用通路 C)推后分析下条指令D)推后执行下条指令 流水操作中,遇到数据相关时,采用的解决办法有________。 A)用优化编译器检测,通过指令重新排序的办法 B)数据重定向技术 C)延迟转移技术 D)加快和提前形成条件码 经多级网络串联来实现全排列网络,只能用________。 A)多级立方体网络B)多级PM2I网络 C)多级混洗交换网络D)上述任何网络 虫蚀寻径以流水方式在各寻径器是顺序传送的是________。 授课:XXX

计算机体系结构名词解释总汇

集中式共享存储器结构(centralized shared memory architecture):这类多处理机在目前至多有几十个处理器,可通过大容量的cache和总线互连使各处理器共享一个单独的集中式存储器。 物理上分离的多个存储器可作为一个逻辑上共享的存储空间进行编址,每个处理器可以访问任何一个其他的局部存储器。这类机器的结构被称为分布式共享存储器(DSM,distributed shared memory)或可缩放共享存储器(SSM,scalable shared memory)体系结构。 整个地址空间由多个独立的地址空间构成,它们在逻辑上也是独立的,远程的处理器不能对其直接寻址。在这种机器的不同处理器中,相同的物理地址指向不同存储器的不同单元,每一个处理器、存储器模块实际上是一个单独的计算机,因而这种机器也称为多计算机(multicomputers)。 通讯延迟:发送开销+跨越时间+传输延迟+接收开销。 迁移是把远程的共享数据项的拷贝放在一个本处理器局部的cache中使用,从而可降低对远程共享数据的访问延迟。 复制是把多个处理器需要同时读取的共享数据项的拷贝放在各自局部cache中使用,复制不仅降低了访存的延迟,也减少了访问共享数据时的产生的冲突。 目录(directory):物理存储器中用来保存共享数据块的状态及相关信息的数据结构。 监听(snooping):每个cache除了包含物理存储器中块的数据拷贝外,也保存着各个块的共享状态信息。Cache通常连在共享存储器的总线上,各个cache控制器通过监听总线来判断它们是否有总线请求的数据块。 在一个处理器写某个数据项之前保证它对此数据项有唯一的访问权,对应这种方法的协议称为写作废(write invalidate)协议。cache块拥有唯一的拷贝的处理器通常称为这个cache 块的拥有者(ower)。处理器的写操作使其成为对应cache块的拥有者。 原子性(atomic),即操作运行过程中不能被打断,例如将写失效的检测、申请总线连接、接收响应作为一个单独的原子操作。基于目录的相关性协议称为全映射(full map)。 原子交换(atomic change):将一个存储单元的值和一个寄存器的值进行交换。建立一个锁,锁值为0表示开锁,为1表示上锁。 旋转锁是指处理器环绕一个锁不停地旋转而试图获得该锁。 栅栏(barrier)同步:是一个同步操作,它强制所有到达该栅栏的进程进行等待,直到全部的进程到达栅栏,然后释放全部的进程,从而形成同步。 组合树是多个请求在局部结合起来形成树的一种分级结构,它降低冲突的原因是将大冲突化解成为并行的多个小冲突。排队记录等待的进程,当锁释放时送出一个已确定的等待进程,这种机制称为排队锁(queuing lock)。一个处理器对变量的写和另一个处理器对该变量的访问(读或写)由一对同步操作分开,其中一个在写操作后执行,另一个在别的处理机访问之前执行,则称数据访问有序。 无同步操作排序变量可能提前被刷新,这种情况称为数据竞争(data race),从而对于同步的程序可称之为无数据竞争(data-race-free)。 称与解锁相对应的同步操作为释放(release)与加锁相对应的则称为获取(acquire)。防护(fence)是计算过程中的固定点,用来保证无读或写穿过防护点。预取能返回最新数据值,并且保证对数据实际的存储器访问返回的是最新的数据项,则被称为非绑定的(nonbinding)。 互连网络是将集中式系统或分布式系统中的结点连接起来所构成的网络,这些结点可能是处理器、存储模块或其它设备,它们通过互连网络进行信息交换。静态网络由点和点直接相连而成,这种连接方式在程序执行过程中不会改变。 动态网络是用开关通道实现的,它可动态地改变结构,使其与用户程序中通信要求匹配。

严蔚敏版数据结构课后习题答案-完整版

第1章绪论 1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。 解:数据是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 数据对象是性质相同的数据元素的集合,是数据的一个子集。 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 存储结构是数据结构在计算机中的表示。 数据类型是一个值的集合和定义在这个值集上的一组操作的总称。 抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。是对一般数据类型的扩展。 1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。 解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。一般数据类型由具体语言系统内部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。抽象数据

类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象层次更高,更能为其他用户提供良好的使用接口。 1.3 设有数据结构(D,R),其中 {}4,3,2,1d d d d D =,{}r R =,()()(){}4,3,3,2,2,1d d d d d d r = 试按图论中图的画法惯例画出其逻辑结构图。 解: 1.4 试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。 解: ADT Complex{ 数据对象:D={r,i|r,i 为实数} 数据关系:R={} 基本操作: InitComplex(&C,re,im) 操作结果:构造一个复数C ,其实部和虚部分别为re 和im DestroyCmoplex(&C)

湖南大学数据结构试验图遍历问题

HUNAN UNIVERSITY 课程实习报告 题目:图的遍历问题 学生姓名刘乐 学生学号20080820208 专业班级通信工程2班 指导老师朱宁波 完成日期2010年5月17日 一、问题描述: 从图中某个顶点出发访问图中所有顶点,且使得每一顶点仅被访问一次,这个过程称为图的遍历。图的遍历是从图中某个顶点出发,沿着某条搜索路径对图中其余每个顶点进行访问, 并且使图中的每个顶点仅被访问一次的过程。 二、基本要求: 1、实现无向图的深度优先遍历和广度优先遍历。 2、分别输出每种遍历下的结点访问序列.从图中某个顶点出发,沿着某条搜索路径对图中每个顶点各做一次且仅做一次访问。它

是许多图的算法的基础。 三、实验主要模块构造思想: 深度优先搜索的过程 a 基本思想: 首先访问图中某一个指定的出发点Vi; 然后任选一个与顶点Vi相邻的未被访问过的顶点Vj; 以Vj为新的出发点继续进行深度优先搜索,直至图中所有顶点均被访问过。 b具体过程: 设x是当前被访问顶点,在对x做过访问标记后,选择一条从x出发的未检测过的边(x,y)。若发现顶点y已访问过,则重新选择另一条从x出发的未检测过的边,否则沿边(x,y)到达未曾访问过的y,对y访问并将其标记为已访问过;然后从y开始搜索,直到搜索完从y出发的所有路径,即访问完所有从y 出发可达的顶点之后,才回溯到顶点x,并且再选择一条从x出发的未检测过的边。上述过程直至从x出发的所有边都已检测过为止。此时,若x不是源点,则回溯到在x之前被访问过的顶点;否则图中所有和源点有路径相通的顶点(即从源点可达的所有顶点)都已被访问过,若图G是连通图,则遍历过程结束,否则继续选择一个尚未被访问的顶点作为新源点,进行新的搜索过程。 广度优先遍历(Breadth-First Traverse): 特点:尽可能先从指定的出发点,横向地访问图中各个顶点。 1.广度优先遍历的定义 在访问了起始点之后,首先依次访问起始点的各个邻接点,然后依次访问这些顶点中未被访问过的邻接点.依此类推,直到所有被访问到的顶点的邻接点都被访问过为止. 2. 广度优先搜索的过程 a算法基本思想: 首先访问图中某一指定的出发点Vi; 然后依次访问Vi的所有接点Vi1,Vi2…Vit; 再次访问Vi1,Vi2…,Vit的邻接点中未经访问过的顶点,依此类推,直到图中所有顶点均被访问为止。 b具体过程: 从广度优先搜索遍历方法可知,先被访问的顶点的邻接点也被访问,即假设顶点V在W之前被访问,那么顶点V的所有未经访问的邻接点也在顶点W的所有未经访问的邻接点之前被访问。这样可以在广度优先遍历的算法中设置一个队列结构,用以保存已访问过的顶点的序号,访问该顶点的所有未经访问的顶点。 广度优先搜索是一种分层的搜索过程,每向前走一步可能访问一批顶点,不像深度优先搜索那样会出现回退的现象。因此它不是个递归的过程。为了实现逐层访问,算法中使用了一个队列以记忆正在访问的这一层和上一层的顶点,以便于向下一层访问。为了避免重复访问,需要一个辅助函数visitvex[]给被

相关文档
最新文档