自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 资源 (42)
  • 收藏
  • 关注

原创 vue封装个日历,样式参考vant

vue封装个日历,样式参考vant。

2023-10-30 17:19:36 242

原创 vue使用smooth-signature实现移动端电子签字,包括横竖屏

【代码】vue使用smooth-signature实现移动端电子签字,包括横竖屏。

2023-10-26 17:09:13 1692

原创 vue使用pdf-dist实现pdf预览以及水印

【代码】vue使用pdf-dist实现pdf预览以及水印。

2023-10-18 17:10:18 1535

原创 leetcode尊享面试 100 题 - 1427. 字符串的左右移

尊享面试100题

2023-04-20 21:33:30 426 1

原创 leetcode尊享面试 100 题 - 1056. 易混淆数

尊享面试100题

2023-04-20 21:32:08 110

原创 leetcode尊享面试 100 题 - 624. 数组列表中的最大距离

尊享面试100题

2023-04-20 21:29:32 162

原创 leetcode尊享面试 100 题 - 280. 摆动排序

尊享面试100题

2023-04-20 21:27:54 115

原创 leetcode尊享面试 100 题 - 反转字符串中的单词 II

给你一个字符数组 s ,反转其中 单词 的顺序。单词 的定义为:单词是一个由非空格字符组成的序列。s 中的单词将会由单个空格分隔。必须设计并实现 原地 解法来解决此问题,即不分配额外的空间。

2023-04-20 16:55:43 492

原创 1043. 分隔数组以得到最大和 每日一题 leetcode 2023-04-19

给你一个整数数组 arr,请你将该数组分隔为长度 最多 为 k 的一些(连续)子数组。分隔完成后,每个子数组的中的所有值都会变为该子数组中的最大值。返回将数组分隔变换后能够得到的元素最大和。本题所用到的测试用例会确保答案是一个 32 位整数。

2023-04-19 17:55:39 42

原创 每日一题 leetcode1026 2023-4-18

leetcode每日一题20230418

2023-04-18 21:59:13 247

原创 数值分析第五次作业

一、(15分)用幂法求下列矩阵的主特征值及对应的特征向量:答案链接https://download.csdn.net/download/weixin_41360517/12396560当特征值有3位小数稳定时迭代终止。要求:写出计算公式,将计算过程数据填入表中。 k (规范化向量)(保留四位小数) 0 (1,1,1) 1...

2021-04-12 17:10:21 654

原创 数值分析第四次作业

一、(40分)已知线性方程组如下答案链接https://download.csdn.net/download/weixin_41360517/12396557用列主元高斯消元法进行第一次消元时,所使用的主元是__________________;(5分)用列主元高斯消元法解此线性方程组;(20分)并求出系数矩阵A的行列式(即detA)值;(5分)在将系数矩阵化为上三角矩阵的过程中,共使用了_________次乘除法; (5分)(不考虑常数项部分的运算量,将乘法和除法看成相同的运算).

2021-04-12 17:09:09 496

原创 数值分析第三次作业

一、判断题(每题2分,共12分)答案链接https://download.csdn.net/download/weixin_41360517/123965541. Jacobi迭代法、Seidel迭代法、Sor迭代法分别是求解线性方程组的三种迭代方法。( )2. Jacobi迭代法、Seidel迭代法收敛的充分必要条件是它们的迭代格式中,迭代矩阵B的谱半径。( )3. 设矩阵A是严格对角占优矩阵,则线性方程组的Jacobi迭代和Seidel迭代对任意初始向量都收敛。( )4. 设A是对称正定

2021-04-12 17:08:01 758

原创 数值分析作业二

一 (20分)用二分法求方程在区间[1.0, 1.5]内的一个实根,且要求有3位有效数字。试完成:(1) 估计需要二分的次数;(8分)(2) 将计算过程中数据填入表1.(中间过程填写到小数点后面3位)(12分,每个得2分,其它空不计分)表1 题1计算过程二. (10分) 为了计算方程的根,某同学将改写为,并建立迭代公式。请问此迭代公式在R上是否全局收敛的吗?说明理由。...

2020-05-07 12:39:12 1499 3

原创 数值分析作业一

第1章 习题1.(每空2分,共6分)已知的三个近似值分别是。这些近似值分别有 _位、 _位、_位有效数字。2.(每问3分,共9分)已知2.153是2.1542的近似数,问该近似数有几位有效数字?它的绝对误差和相对误差分别是多少?可在此插入解题过程的图片,后面的解答题均可插入解题过程图片。3.(每小题8分,共24分)假设是由四舍五入得到的近似数,求下列各近似数...

2020-05-07 12:15:21 1485 2

原创 关于sockaddr_in 、WSAData 、sockaddr等未定义的问题

在使用windows socket编程中总是遇到一系列的未定义的问题,我自己也曾遇到这些问题,于是给出解决办法:typedef struct sockaddr_in sockaddr_in;typedef struct WSAData WSAData;typedef struct sockaddr sockaddr;在文件中像这样重新再定义一次类型,基本问题都可以解决,什么没定义就重定义...

2020-01-06 16:23:41 4701 2

原创 windows socket编程:select 例子

//socket服务端#include <stdio.h>#include <string.h>#include <WINSOCK2.H>#include <stdbool.h>#pragma comment(lib,"ws2_32.lib")#define INT_SERVER_PORT 6002#define STR_SERVE...

2020-01-06 16:05:24 559

原创 计算机操作系统作业总汇(第一章到第八章)汤小丹 第四版

第一章 操作系统引论(50分)答案链接:一、 填空题(共32分,每空2分)1. 设计现代OS的主要目标是:( )、( )、( )、( )。2. OS具有( )、( )、( )和( )四个基本特征,最基本的特征是( )。3. 若干个事件在同...

2019-12-24 17:37:35 6979 2

原创 计算机组成原理第六次作业答案

答案:答案链接1.运算器采用单组内总线、分立寄存器结构和单组内总线、集成寄存器结构时,其输入端设置的部件名称是什么?2.简述同步控制方式和异步控制方式的定义、特点、优缺点和应用场合,并说明两者最核心的区别是什么?3.什么是主设备,什么是从设备?4.什么是总线周期?5.控制器的分类6.主机和外设的连接方式7.直接程序传送方式中,可以对外设的状态进行了抽象,请简述三个状态及...

2019-11-26 14:31:34 2604

原创 计算机组成原理第五次作业答案

答案:答案链接试从速度、容量、价格三个角度比较cache、主存、硬盘。 说明cache、主存、辅存三者的作用(即其中存放什么信息)。 简述随机存取的两点含义。 简述存取时间和存取周期的定义。 磁带、主存、硬盘、光盘四种存储器分属于随机存取存储器、顺序存取存储器、直接存取存储器中的哪一类? 引入cache的目的是什么?引入虚拟存储器的目的是什么?7.已知CPU地址总线A15~A0(低...

2019-11-26 14:30:33 2374

原创 计算机组成原理第四次作业答案

答案:答案链接1.拟定下面指令的执行流程。注:指令格式为目的地址字段在前,源地址字段在后。其中第2小题需要拟定指令流程和操作时间表,其它只需要拟定指令流程。(1)MOV (R0),(SP)+(2)MOV (R1)+,X(R0)(3)MOV R2,(PC)+(4)MOV –(SP),(R3)(5)ADD R1,X(R0)(6)INC X(PC)(7)JMP R0(...

2019-11-26 14:29:27 1230

原创 计算机组成原理第三次作业答案

答案:答案链接画出模型机的数据通路结构,并指明各部件的中文名称及其作用。 结合模型机的数据通路结构,说明各类信息的传送路径。

2019-11-26 14:28:10 356

原创 计算机组成原理第二次作业答案

答案:答案链接1.指令中为什么使用隐地址方式。2.简述堆栈操作的规则,并举例说明。3. 指令字长16位,可含有3、2、1或0个地址,每个地址占4位。请给出一个操作码扩展方案。4.RISC和CISC的中文名称是什么。5.简述80%和20%规律。6.简化地址结构的基本方法是什么?7.如何用通用I/O指令实现对各种具体设备的控制?8.什么是I/O端口?9.对I/O设备...

2019-11-26 14:26:52 1148

原创 计算机组成原理第一次作业答案

答案:答案链接1.给出总线的定义。2.硬件和软件在 是等效的。3.某总线数据通路宽度为64位,总线时钟频率为133MHz,则该总线的数据传输率为多少?4.假设某计算机的字长为16位,分别写出定点小数和定点整数采用原码、补码表示时的典型值。5.请给出溢出的三种判别逻辑,并指明各符号的含义。6.用变形补码(双符号)计算X补+Y补=?,并指明是否溢出。(1)...

2019-11-26 14:25:28 1166

原创 将ubuntu18.04.3安装在移动硬盘,实现在所有电脑上都可以直接插入使用

之前买了个硬盘,一直想试着将Ubuntu系统安装在硬盘里,一来不想装虚拟机,感觉太耗资源了,二来不想装双系统,个人感觉我的分区还是很合理的,实在不想为了装Ubuntu重新分区了,于是就开始了Ubuntu装在移动硬盘的探索之路。1、使用UltraISO制作系统的镜像关于UltraISO的下载地址:地址题外话:我看到很多博主使用的其他的软件制作镜像,其实区别不大,但是我当时使用usb -inst...

2019-10-20 16:04:51 6427 8

转载 记录一次在Ubuntu18.04下的VSCode C/C++编译环境配置过程

Linux版VScode中,cpptools的BUG已经修复,将externalConsole设置为True后,可以正常使用系统终端来调试程序了。前置工作(非必须)在ubuntu中安装gcc和g++编译器sudo apt install gccsudo apt install g++一、插件安装在VScode的扩展商店里搜索C/C++,找到作者是Microsoft的插件并安装。二...

2019-10-20 10:15:05 1061

原创 ubuntu18.04.3安装VS code

通过官方PPA安装Ubuntu makesudo add-apt-repository ppa:ubuntu-desktop/ubuntu-makesudo apt-get updatesudo apt-get install ubuntu-make使用命令安装visual studio codeumake ide visual-studio-code 中间会确认安装visua...

2019-10-18 21:37:38 318

原创 ubuntu安装和使用Chrome(谷歌)浏览器

Google Chrome 浏览器可谓是浏览器中的黑马,凭借浏览速度和优秀的用户体验高速发展,后来者居上。根据之前的统计数据,Chrome浏览器市场份额已经达到43.92%,是IE浏览器的两倍。而自己在Windows中也是使用的Chrome浏览器,在安装ubuntu后,实在用不惯火狐浏览器,于是还是安装了Chrome浏览器,以下便是安装的教程:sudo wget http://www.linux...

2019-10-18 20:42:15 5077

原创 在Ubuntu18.04.3系统中安装谷歌拼音输入法(Google Pinyin)

一、安装前的准备在Ubuntu18.04下,谷歌拼音输入法是基于Fcitx输入法的。因此,我们需要首先安装Fcitx。一般来说,Ubuntu最新版中都默认安装了Fcitx,但是为了确保一下,我们可以在系统终端中运行如下命令:sudo apt install fcitx二、配置Fcitx系统终端中输入命令:im-config...

2019-10-18 20:24:59 14361 1

原创 Ubuntu18.04 笔记本合上盖子时不进入休眠

在默认情况下,笔记本合上屏幕后,ubuntu系统会休眠,但是通过更改配置可以使笔记本合上盖子不进去休眠,方法如下:修改 Login Manager的配置文件。打开终端:sudo vim /etc/systemd/logind.conf然后将其中的:#HandleLidSwitch=suspend改成:HandleLidSwitch=ignore如图:然后重启服务:sud...

2019-10-17 20:51:36 2606

原创 Ubuntu安装vim

1.linux 默认自带 vi, 一般使用升级版 vim2.第一次使用需要安装vim sudo apt install vim3.测试vim 123.txt出现vim界面则成功

2019-10-17 20:40:51 1893

原创 ubuntu安装后鼠标闪烁和卡顿问题

ubuntu安装完后,刚进去可能会发现鼠标一直闪烁,还有卡顿。在网上搜索和试验后,一般是下面的原因。一、打开系统设置——显示,会发现有两个显示器, 把不是当前的显示器关掉,就可以解决鼠标闪烁的问题了。二、卡顿问题一般是驱动没有安装好,进去系统设置——更新——附加驱动, 把找到的显卡专用驱动装上,重启,就会发现卡顿问题也消失了。...

2019-10-17 20:11:32 3928

原创 Linux下部署Express

1.安装基础软件安装Nginx首先先安装Nginxyum install epel-release -yyum install nginx -y安装完成后,配置nginx启动和开机自启动systemctl enable nginx.service systemctl start nginx.service安装Nodejs环境接下来,配置Node运行环境...

2019-10-07 06:26:58 1213

原创 搭建Nginx静态网页

1.搭建Http静态服务器环境搭建静态网站,首先需要部署环境。下面的步骤是关于在服务器上通过Nginx部署HTTP静态服务。安装Nginx在CentOS上,可直接使用yum来安装yum install nginx -y安装完成后,使用nginx命令启动 Nginx:nginx此时访问云主机地址就可以看到Nginx的测试页面配置静态服务器访问路径外网用...

2019-10-07 06:09:46 703

原创 数据库 实验九 数据库备份和恢复

数据库备份和恢复 答案链接链接 2 通过本实验的学生,使学生了解SQL Server的数据库备份方法,具备将SQL Server的数据库进行备份和对数据库备份进行数据恢复的能力。二、实验内容创建永久性备份设备:backup1,backup2,两个备份设备均存放在默认路径下。 按顺序完成下列备份操作:将LoanDB数据库完全备份到backup1上; 对LoanDB...

2019-09-21 15:57:52 3324 2

原创 数据库 实验八 数据库角色和权限

数据库角色和权限 答案链接链接 2 通过本实验的学习,使学生能够掌握建立SQL Server数据库用户的方法,理解SQL Server的数据库角色病能够进行角色的定义,理解SQL Server的数据库权限,能够分配权限二、实验内容1、理解数据库角色和权限在SQL Server Management Studio中创建三个登录帐户:log1、log2、log...

2019-09-21 15:56:47 2509

原创 数据库 实验七 游标

游标 答案链接链接 2 通过本实验的学习,使学生掌握游标编程的方法。二、实验内容(1)对银行贷款数据库,用游标实现按如下报表形式显示结果的T-SQL语句。该报表统计每家银行的贷款情况,只考虑有贷款记录的银行,每家银行的贷款记录需要按先按法人名称的升序排列,再按贷款日期的升序排列。报表形式大致如图 7–1所示:图 7–1 报表形式(2)用游标实...

2019-09-21 15:55:48 2206 1

原创 数据库 实验六 存储过程

存储过程 答案链接链接 2 通过本实验的学习,使学生掌握掌握存储过程的定义和使用方法。二、实验内容(1) 删除指定法人在指定日期前的贷款记录。要求法人名称和日期为输入参数。(2) 查询在指定银行贷款、且贷款金额高于此银行的平均贷款金额的法人名称、贷款日期和贷款金额。要求银行名称为输入参数,如果指定的银行不存在,则显示“指定的银行不存在”。...

2019-09-21 15:53:53 3814

原创 数据库 实验四 触发器程序设计

触发器程序设计 答案连接链接 2 通过本实验的学习,使学生掌握握触发器程序的设计和使用。二、实验内容说明:使用银行贷款数据库。1、新建一个贷款记录统计表LoanNum,存放每一个法人单位的贷款次数。为LoanT表创建一个INSERT语句级触发器,当有新的贷款记录插入时,需要及时更新LoanNum表中该法人的贷款次数。2、创建一个AFTER行...

2019-09-21 15:52:30 2418

原创 数据库 实验三 SQL查询二

SQL查询二 答案连接链接 2 通过本实验使学生掌握多表查询、子查询以及基本数据操作二、实验内容使用实验一建立的银行贷款数据库和表,完成以下查询。1-4是多表查询和子查询,5-11是数据操作查询经济性质为“国营”的法人在上海的银行贷款的信息,列出法人代码、银行代码和贷款日期,分别用多表连接和子查询两种方式实现。 查询在“建设银行上海分行”贷过款的法人...

2019-09-21 15:51:45 7293 1

数值分析第1次作业参考答案

数值分析第1次作业参考答案

2023-03-20

数值分析第5次作业参考答案

数值分析第5次作业参考答案

2023-03-20

数值分析第4次作业参考答案

数值分析第4次作业参考答案

2023-03-20

数值分析第三次作业参考答案

数值分析第三次作业参考答案

2023-03-20

数值分析第二次作业-参考答案.docx

数值分析第二次作业-参考答案.docx

2023-03-20

2017级数值分析第四次次作业.docx

一、(40分)已知线性方程组如下 用列主元高斯消元法进行第一次消元时,所使用的主元是__________________;(5分) 用列主元高斯消元法解此线性方程组;(20分) 并求出系数矩阵A的行列式(即detA)值;(5分) 在将系数矩阵化为上三角矩阵的过程中,共使用了_________次乘除法; (5分) (不考虑常数项部分的运算量,将乘法和除法看成相同的运算) 回代求解的过程中,共使用了 次乘除法. (5分) 二、(30分)设有线性方程组 能否对系数矩阵 进行直接LU分解(10分); 用LU分解法解题中的线性方程组。(20分) 三、(10分) 已知有形如的m个线性方程组。在求解这m个线性方程组的过程中,可以采用下面两种方法之一: (1) 对每个线性方程组使用高斯消元法求解; (2) 先将矩阵A进行LU分解,再将求解. 请问:上面哪种解法更好?说明理由.(只考虑乘除法的运算次数,且乘除法看作相同的运算) 四、(20分) 已知线性方程组,其中 的精确解为. 在用计算机求解上述线性方程组时,假设系数矩阵A和常数项b在计算机中分别被近似为 和。 求方程组的近似解,并计算.(最终结果保留3位有效数字)

2020-05-07

2017级数值分析第一次作业.doc

第1章 习题 1. (每空2分,共6分)已知的三个近似值分别是 。这些近似值分别有 位、 位、 位有效数字。 2. (每问3分,共9分)已知2.153是2.1542的近似数,问该近似数有几位有效数字?它的绝对误差和相对误差分别是多少? 可在此插入解题过程的图片,后面的解答题均可插入解题过程图片。 3. (每小题8分,共24分)假设是由四舍五入得到的近似数,求下列各近似数的误差限:(通常求绝对误差限,也可同时求出相对误差限) 4. (16分) 已测的某场地长度l的值为,宽度d的值为,已知。试求面积的绝对误差限和相对误差限。 . 5. (15分) 计算球体体积时,要使相对误差限为1%,问半径R允许的相对误差限是多少? 6. (15分) 设序列满足递推关系,若(三位有效数字),计算到时的绝对误差限是多少?这个计算过程稳定吗? 7. (10分) 选用更好的方法计算 8. (5分) 求方程的最小正根,使它至少具有4位有效数字(取)

2020-05-07

计算机组成原理第六次作业答案.doc

1.运算器采用单组内总线、分立寄存器结构和单组内总线、集成寄存器结构时,其输入端设置的部件名称是什么? 2.简述同步控制方式和异步控制方式的定义、特点、优缺点和应用场合,并说明两者最核心的区别是什么? 3.什么是主设备,什么是从设备? 4.什么是总线周期? 5.控制器的分类 6.主机和外设的连接方式 7.直接程序传送方式中,可以对外设的状态进行了抽象,请简述三个状态及其转换;并指明在何种状态下CPU方能与外设交换数据。 8.简述中断的定义。 9.CPU在何时响应中断请求?何时响应DMA请求? 10.中断的实质是什么? 11.简述中断与DMA的相同点和区别。 12.CPU如何实现对中断的屏蔽和中断的允许。 13.DMA的中文名称和定义。 14.进行数据传输前,CPU发送的DMA初始化信息有哪些? 15. 实际计算机的时序控制方式往往以同步方式为基础,然后进行一些变化,请举出三个同步方式变化的例子 16.中断的主要特点是什么? 17.简述中断的分类。 18.什么是中断向量?中断向量表?向量地址?向量中断? 19.简述中断响应过程。 20.简述中断处理过程。 21.某主机连接两个输入设备,两

2019-11-26

计算机组成原理第五次作业答案.doc

1. 试从速度、容量、价格三个角度比较cache、主存、硬盘。 2. 说明cache、主存、辅存三者的作用(即其中存放什么信息)。 3. 简述随机存取的两点含义。 4. 简述存取时间和存取周期的定义。 5. 磁带、主存、硬盘、光盘四种存储器分属于随机存取存储器、顺序存取存储器、直接存取存储器中的哪一类? 6. 引入cache的目的是什么?引入虚拟存储器的目的是什么? 7.已知CPU地址总线A15~A0(低)。用ROM芯片(4K×4位/片)和RAM芯片(2K×8位/片)组成一个半导体存储器,按字节编址。其中ROM区地址从3000H~3FFFH,RAM区地址从6000H~73FFH。请回答下列问题: (1)组成该存储器需用多少块ROM芯片和多少块RAM芯片? (2)各芯片需连入哪几根地址线? (3)分别写出各片选信号的逻辑式。 8. 设计一半导体存储器,其中ROM区4KB,选用ROM芯片(4K×4位/片);RAM区3KB,选用RAM芯片(2KB/片和1K×4位/片)。地址总线A15~A0(低),双向数据总线D7~D0(低),读/写线R/W (1) 组成该存储器需用多少块ROM芯片和多少块

2019-11-26

计算机组成原理第四次作业答案.doc

1.拟定下面指令的执行流程。注:指令格式为目的地址字段在前,源地址字段在后。其中第2小题需要拟定指令流程和操作时间表,其它只需要拟定指令流程。 (1)MOV (R0),(SP)+ (2)MOV (R1)+,X(R0) (3)MOV R2,(PC)+ (4)MOV –(SP),(R3) (5)ADD R1,X(R0) (6)INC X(PC) (7)JMP R0 (8)JMP X(PC) (9)RST (SP)+ (10)JSR (R1) 2.什么是指令周期。 3.按照由大到小的顺序给出组合逻辑控制器的三级时序。 4.组合逻辑控制器有哪些缺点,微程序控制器如何针对这些缺点对其进行了改进? 5.微程序控制的基本思想是什么? 6.简述控制存储器存储的内容,以及与主存的区别。 7.微指令可分为哪两部分?各自作用是什么? 8.采用分段直接编译法时,微命令分组的原则是什么? 9.什么是功能转移? 10.后续微地址的形成方式有哪些? 11. 设计将指令的执行划分为三个阶段,取指令时间t取=4T,分析阶段:t译码=5T,执行阶段:t执=6T,某程序包含300条指令,计算以下: (1)顺序执行方式的时

2019-11-26

计算机组成原理第三次作业答案.doc

1. 画出模型机的数据通路结构,并指明各部件的中文名称及其作用。 2. 结合模型机的数据通路结构,说明各类信息的传送路径。

2019-11-26

计算机组成原理第二次作业答案.doc

1.指令中为什么使用隐地址方式。 2.简述堆栈操作的规则,并举例说明。 3. 指令字长16位,可含有3、2、1或0个地址,每个地址占4位。请给出一个操作码扩展方案。 4.RISC和CISC的中文名称是什么。 5.简述80%和20%规律。 6.简化地址结构的基本方法是什么? 7.如何用通用I/O指令实现对各种具体设备的控制? 8.什么是I/O端口? 9.对I/O设备的编址方法有哪几种?请简要解释。 10.用堆栈存放返回地址,则转子指令和返回指令都要使用的寄存器是什么? 11.给出先变址后间址、先间址后变址和相对寻址三种寻址方式对有效地址的计算方法。 12.各种寻址方式的操作数放于何处,如何形成操作数的有效地址(建议思考结合百度)。 13. 14.I/O指令的设置方法有哪几种?请简要解释。 15.转子与中断最大的区别在什么地方? 16.子程序中最后一条指令是什么指令? 17. 用堆栈存放返回地址,则转子指令和返回指令都要使用的寄存器是什么? 18.CPU内部的IR、PSW、PC、MAR、MBR的中文名称是什么?里面存放的是什么内容? 19.PSW与控制/状态字寄存器的区别是什么? 2

2019-11-26

计算机组成原理第一次作业答案.doc

1.给出总线的定义。 2.硬件和软件在 是等效的。 3.某总线数据通路宽度为64位,总线时钟频率为133MHz,则该总线的数据传输率为多少? 4.假设某计算机的字长为16位,分别写出定点小数和定点整数采用原码、补码表示时的典型值。 5.请给出溢出的三种判别逻辑,并指明各符号的含义。 6.用变形补码(双符号)计算X补+Y补=?,并指明是否溢出。 (1)X补=00.110011,Y补=00.101101 (2)X补=11.001101,Y补=11.010011 7.用变形补码(双符号)计算X补-Y补=?,并指明是否溢出。 (1)X补=00.110110,Y补=11.010011 (2)X补=11.100011,Y补=00.110100 8.浮点数加减运算中,什么是对阶?为什么要对阶?如何实现? 9. 若采用教材45页图2-5所求的IEEE754短浮点数格式,请将十进制数37.25写成浮点数,并写出其二进制代码序列,再转换成十六进制。 10. 若采用教材42页图2-4的浮点数格式,字长16位,含1位阶符,补码表示,以2为底;尾数10位,含1位数符,补码表示,规格化;某浮点数

2019-11-26

计算机组成原理第一次作业.doc

1.给出总线的定义。 2.硬件和软件在 是等效的。 3.某总线数据通路宽度为64位,总线时钟频率为133MHz,则该总线的数据传输率为多少? 4.假设某计算机的字长为16位,分别写出定点小数和定点整数采用原码、补码表示时的典型值。 5.请给出溢出的三种判别逻辑,并指明各符号的含义。 6.用变形补码(双符号)计算X补+Y补=?,并指明是否溢出。 (1)X补=00.110011,Y补=00.101101 (2)X补=11.001101,Y补=11.010011 7.用变形补码(双符号)计算X补-Y补=?,并指明是否溢出。 (1)X补=00.110110,Y补=11.010011 (2)X补=11.100011,Y补=00.110100 8.浮点数加减运算中,什么是对阶?为什么要对阶?如何实现? 9. 若采用教材45页图2-5所求的IEEE754短浮点数格式,请将十进制数37.25写成浮点数,并写出其二进制代码序列,再转换成十六进制。 10. 若采用教材42页图2-4的浮点数格式,字长16位,含1位阶符,补码表示,以2为底;尾数10位,含1位数符,补码表示,规格化;某浮点数

2019-11-25

实验89答案.doc

数据库角色和权限 2 通过本实验的学习,使学生能够掌握建立SQL Server数据库用户的方法,理解SQL Server的数据库角色病能够进行角色的定义,理解SQL Server的数据库权限,能够分配权限 二、实验内容 1、理解数据库角色和权限 在SQL Server Management Studio中创建三个登录帐户:log1、log2、log3。 利用第3章建立的LoanDB数据库,用log1登录,能否操作LoanDB数据库?为什么? 将log1、log2、log3映射为LoanDB数据库中的用户。 用log1登录,能否操作LoanDB数据库?为什么? 授予log1、log2、log3具有对BankT、LegalEntityT、LoanT三张表的查询权。 分别用log1、log2、log3登录,对上述三张表执行查询。 授予log1具有对BankT表的插入、删除权限。 用log2登录,对BankT表插入一行记录,会出现什么情况? 用log1登录,对BankT表插入一行记录,会出现什么情况? (10)在LoanDB数据库中建立用户角色:role1,并将log1、log2添加到此角色中。 (11)让log2具有LoanDB数据库中的全部数据的查询权,比较好的实现方法是什么? (12)如果拒绝role1查询BankT表,则log1、log2、log3是否有权查询BankT表?为什么? 2、请完成下题 新建一个数据库TGDB,然后在SQL Server中创建“SQL Server身份验证”模式的登录帐号:TG_User,其中账户密码为空,默认数据库为Master。并完成如下操作: 让TG_User成为TGDB数据库的合法用户。 在TGDB数据库中建用户自定义角色:MyRole,让TG_User成为MyRole角色中的成员。 用较好的方法授予MyRole在TGDB数据库中具有所有用户表的查询权。 三、实验报告 将实验结果反映在实验报告中,并对实验中遇到的问题及解决方案、进行整理、分析总结,提出实验结论或自己的看法。 数据库备份和恢复 2 通过本实验的学生,使学生了解SQL Server的数据库备份方法,具备将SQL Server的数据库进行备份和对数据库备份进行数据恢复的能力。 二、实验内容 创建永久性备份设备:backup1,backup2,两个备份设备均存放在默认路径下。 按顺序完成下列备份操作: 将LoanDB数据库完全备份到backup1上; 对LoanDB数据库中的贷款表中的数据进行一些修改,然后将LoanDB数据库差异备份到backup2上; 在贷款表中插入一行新记录,然后将LoanDB数据库差异备份到backup2上; 在贷款表中插入一行新的记录,然后将LoanDB数据库日志备份到backup2上; 在贷款表中删除一行记录,然后对LoanDB数据库日志备份到文件上(d:\file1.bak); 在贷款表中删除一行记录。 对LoanDB数据库进行恢复。恢复顺序是什么样的?如果在恢复之前对数据库进行日志备份,则恢复完成后,第2题第(6)步删除的记录在数据库中存在不?如果在恢复之前不再对数据库进行日志备份,则恢复完成后,第2题第(6)步删除的记录在数据库中存在不? 实验报告 将实验结果反映在实验报告中,并对实验中遇到的问题及解决方案、进行整理、分析总结,提出实验结论或自己的看法。

2019-09-21

实验7答案-游标 .sql

游标 2 通过本实验的学习,使学生掌握游标编程的方法。 二、实验内容 (1)对银行贷款数据库,用游标实现按如下报表形式显示结果的T-SQL语句。该报表统计每家银行的贷款情况,只考虑有贷款记录的银行,每家银行的贷款记录需要按先按法人名称的升序排列,再按贷款日期的升序排列。报表形式大致如图 7–1所示: 图 7–1 报表形式 (2)用游标实现按如下报表形式显示结果的T-SQL语句。该报表统计每个法人的贷款情况,只考虑有贷款记录的法人,每个法人的贷款记录需要按先按银行名称的升序排列,再按贷款日期的升序排列。报表形式大致如图 7–2所示: 图 7–2报表形式 三、实验报告 将实验结果反映在实验报告中,并对实验中遇到的问题及解决方案、进行整理、分析总结,提出实验结论或自己的看法。

2019-09-21

实验6答案-存储过程.sql

存储过程数据库 2 通过本实验的学习,使学生掌握掌握存储过程的定义和使用方法。 二、实验内容 (1)    删除指定法人在指定日期前的贷款记录。要求法人名称和日期为输入参数。 (2)    查询在指定银行贷款、且贷款金额高于此银行的平均贷款金额的法人名称、贷款日期和贷款金额。要求银行名称为输入参数,如果指定的银行不存在,则显示“指定的银行不存在”。 (3)    查询指定法人的总贷款金额。要求法人名称为输入参数,总贷款金额为输出参数,法人名称的默认值为“赛纳网络有限公司”。 三、实验报告 将实验结果反映在实验报告中,并对实验中遇到的问题及解决方案、进行整理、分析总结,提出实验结论或自己的看法。

2019-09-21

实验4答案-触发器.sql

触发器程序设计 2 通过本实验的学习,使学生掌握握触发器程序的设计和使用。 二、实验内容 说明:使用银行贷款数据库。 1、新建一个贷款记录统计表LoanNum,存放每一个法人单位的贷款次数。为LoanT表创建一个INSERT语句级触发器,当有新的贷款记录插入时,需要及时更新LoanNum表中该法人的贷款次数。 2、创建一个AFTER行级触发器,当对LoanT表的贷款金额(Lamount)进行修改时,若金额减少了10%,则将此次操作记录到另外一张表L_U(Eno,Bno,Oldamount,Newamount),其中Oldamount是修改前的金额,Newamount是修改后的金额。 3、创建一个instead of行级触发器,为贷款表(LoanT)定义完整性规则“贷款日期(Ldata)不能早于当前日期,如果早于,自动改为当前日期”。 4、创建一个DELETE触发器,当贷款表(LoanT)中的记录被删除时,将删除的贷款记录和删除日期插入到另外一张表L_D(Eno, Bno, Ldata, Lamount, Lterm, Deldata) 三、实验报告 将实验结果反映在实验报告中,并对实验中遇到的问题及解决方案、进行整理、分析总结,提出实验结论或自己的看法。

2019-09-21

实验3答案-sql2.sql

SQL查询二 2 通过本实验使学生掌握多表查询、子查询以及基本数据操作 二、实验内容 使用实验一建立的银行贷款数据库和表,完成以下查询。 1-4是多表查询和子查询,5-11是数据操作 查询经济性质为“国营”的法人在上海的银行贷款的信息,列出法人代码、银行代码和贷款日期,分别用多表连接和子查询两种方式实现。 查询在“建设银行上海分行”贷过款的法人名称,分别用多表连接和子查询两种方式实现。 查询在“工商银行北京A支行”贷款金额前三名(包括并列的情况)的法人的法人代码、法人名称和经济性质,分别用多表连接和子查询两种方式实现。 查询在“工商银行北京B支行”贷款、且贷款金额高于此银行的平均贷款金额的法人代码、贷款日期和贷款金额。 在银行表中插入如下数据:银行代码号为:B321B,银行名称为:建设银行上海B分行,电话为空值。 在法人表中插入如下数据:法人代码号为:E11,法人名称为:新法人,注册资金为:2350万元,经济性质使用默认值。 删除银行编号为“B321B”的银行信息。 删除2000年之前一次贷款金额最小的贷款记录。 删除从贷款日期到当前日期天数超过10年的贷款记录。 删除法人名称为“爱贝乐玩具有限公司”且贷款金额小于10万元的贷款记录,分别用子查询和多表连接两种方式实现。 将经济性质为“私营”的法人在“工商银行上海支行”贷款的所有贷款金额加5万元,分别用子查询和多表连接两种方式实现。 使用实验一建立的学生数据库和表,完成以下查询 12-15是多表查询和子查询,16-20是数据操作 查询计算机系年龄大于总平均年龄的学生的姓名和年龄。 查询计算机系年龄大于计算机系平均年龄的学生的姓名和年龄。 查询计算机系考试成绩小于总平均分的学生的学号、姓名。 将考试成绩最低的并且不及格学生的最低修课成绩改为60。 将数据库基础考试成绩最低的且成绩为不及格学生的数据库考试成绩改为60。 删除计算机系“计算机网络”课程的全部选课记录。 删除vb考试成绩最低的两个学生的vb考试记录。 对数据库考试成绩进行如下修改:如果成绩低于60分,则提高10%;如果成绩在60到80之间,则增加6%;如果成绩在80到95之间则提高4%,其他情况不提高。 对学分进行如下修改:如果是第1到第3学期开始的课程,则学分增加1分;如果是第4到第6学期开设的课程,学分增加2分,其他学期开始的课程学分增加3分。 以下查询必须用子查询完成: 查询男生年龄最大的学生的姓名和所在系。 查询选修了‘数据库基础’的学生的姓名、所在系。s 选修了第6学期开始的课程的学生的学号、姓名和所在系。 查询男生所修的课程的课程名。 查询年龄最小的学生所选的课程名。 三、实验报告 将实验结果反映在实验报告中,并对实验中遇到的问题及解决方案、进行整理、分析总结,提出实验结论或自己的看法。

2019-09-21

实验2答案-sql1.sql

SQL查询一 实验学时:2   实验类型:验证 实验要求:必修 一、实验目的 通过本实验使学生掌握单表查询并初步掌握多表查询的技能。 二、实验内容 使用实验一建立的银行贷款数据库和表,完成以下查询。 1-10题为单表查询,11-25为多表查询。 查询所有法人的法人代码、法人名称、经济性质和注册资金。 查询“B1100”银行的的银行名称和电话。 查询贷款金额在2000至4000万元之间的法人代码、银行代码、贷款日期和贷款金额。 查询2009年1月1日以后贷款且贷款期限是10年的法人代码。 查询贷款期限为5年、10年或15年的贷款信息。 查询经济性质为“私营“的所有法人的最高注册资金、最低注册资金和平均注册资金。 查询每种经济性质的法人的经济性质、最高注册资金、最低注册资金和平均注册资金。 统计每个法人的法人代码和贷款总次数,要求查询结果按贷款总次数的升序排列。 查询贷款次数超过3次的法人的平均贷款金额和贷款次数。  统计每种经济性质贷款的法人的总数和其平均贷款金额,列出平均贷款金额前三名的经济性质、法人总数和平均贷款金额。  查询贷款期限为5年、10年或15年的法人名称、银行名称、贷款日期、贷款金额和贷款期限。  查询经济性质为“国营”的法人在“上海”的银行贷款的信息,列出法人名称、银行名称和贷款日期。  查询与“B1100”银行在同一城市(假设银行名称的第5和第6个字符为城市名称)的其他的银行的名称。  查询哪些银行没有贷过款,列出银行号和银行名称。分别用多表连接和子查询两种方式实现。  查询贷过款的所有法人的名称,贷款银行名称,贷款日期,贷款金额,要求将查询结果放在一张新的永久表New_LoanT中,新表中的列名分别为:法人名称、银行名称、贷款日期和贷款金额。  分别查询经济性质“国营”和“私营”的法人名称,贷款银行名称,贷款日期,贷款金额,要求将这两个查询结果合并成一个结果集,并以法人名称、银行名称、贷款日期和贷款金额作为显示列名,结果按贷款日期的升序和贷款金额的降序显示。 使用实验一建立的学生数据库和表,完成以下查询 查询计算机系没有选课的学生的姓名和年龄。 统计‘VB’课程的考试最高分、最低分和平均分。 统计‘数据库’课程的选课人数。 统计计算机系学生’vb’课程考试的最高分、最低分、平均分。  统计每个系学生’vb’课程考试的最高分、最低分、平均分,列出系名和三个分数。 查询每个学生的修课总学分,并进行如下处理:如果总学分高于10分,则显示‘好学生’;如果总学分在6到10分间,则显示‘一般学生’;如果总学分低于6分,则显示‘不好学生’。 统计每个系每个学生的修课门数和平均成绩,如果修课门数大于3并且平均成绩高于90的显示‘优秀’;如果修课门数大于3并且平均成绩在80~90,则显示‘较好’;对于修课门数小于等于3的并且平均成绩高于90的显示‘较好’;如果修课门数小于等于3并且平均成绩在80~90,则显示‘一般’;其他情况显示为‘应努力’。列出系名、学号、原修课门数和平均成绩以及处理后的显示结果。 查询计算机系学生考试成绩最低的两个成绩所对应的学生的姓名、课程名和成绩。 列出没有选课的学生的学号、姓名和所在系。 三、思考题 1、创建表: 教师表(   tid 普通编码定长字符型,长度为10,主关键字   tname 普通编码定长字符型,长度为10,非空 zc 普通编码定长字符型,长度为6) 设此表数据如下: tid Tname zc T1 A 教授 T2 B 副教授 T3 C 教授 编写SQL语句,使查询的结果显示为如下形式: 教师号 教师名 教授 副教授 T1 A 教授 T2 B 副教授 T3 C 教授 2、创建表: 教师表(   tid 普通编码定长字符型,长度为10,主码   tname 普通编码定长字符型,长度为10,非空 zc 普通编码定长字符型,长度为6 Salary 工作,整型) 设此表数据如下: tid Tname zc Salary T1 A 教授 5000 T2 B 副教授 4000 T3 C 教授 5000 编写SQL语句,使查询的结果显示为如下形式: 教师号 教师名 教授工资 副教授工资 T1 A 5000 Null T2 B Null 4000 T3 C 5000 Null 四、实验报告 将实验结果反映在实验报告中,并对实验中遇到的问题及解决方案进行整理、分析总结,提出实验结论或自己的看法。

2019-09-21

实验1答案 - 建立学生数据库.sql

建立环境实验和数据库/表 实验学时:2学时 实验类型:验证 实验要求:必修 一、实验目的 通过本实验的学习,使学生熟悉SQL Server 2014的集成环境,帮助学生掌握数据库、表的建立方法以及SQL Server的数据导入方法 二、实验内容    (一)、SQL Server 2014的安装 SQL Server2014的安装过程与 SQL Server 2008、SQL Server2012的安装过程类似,都提供了一个功能树以用来安装所有 SQL Server 组件,包括计划、安装、维护、工具、资源、高级、选项等功能。下面是各功能选项中所包含的内容,如图3-1所示。 图3-1 安装计划中的内容 (1)选择“安装”功能,因为要创建SQL Server 2014的全新安装,单击“全新SQL Server 2014独立安装或向现有安装添加功能”选项,如图3-2所示。 图3-2 “安装”功能中的内容 (2)在“产品密匙”页上,选择相应的单选按钮,这些按钮指示是安装免费版本的SQL Server还是具有产品密匙的产品版本,如果使指免费的评估版,只有180天的试用期限,如图3-3所示。 图3-3 “产品密钥”界面 (3)在“许可条款”页上阅读许可协议,然后选中相应的复选框以接受许可条款和条件。如图3-4所示。 图3-4 “许可条款”界面 (4)系统进行安装程序支持规则检查,以确定安装SQL Server安装程序支持文件时可能发生的问题。必须更正所有的失败,安装程序才能继续。如图3-5所示。 图3-5 “安装规则”界面 (5)在“设置角色”页上选择SQL Server功能安装,如图3-6所示。 图3-6 “设置”角色界面 (6)在“功能选择”页上选择要安装的组件。选择功能名称后,右侧窗体中会显示每个组件的说明。可以根据实际需要,选中一些功能,如图3-7所示。一般应用可选择“数据库引擎服务”、“客户端工具连接”、“SQL客户端连接”和“管理工具”等选项。 图3-7“功能选择”界面 (7)在“实例配置”页上制定是安装默认实例还是命名实例,对于默认实例,实例的名称和ID都是MSSQLSERVER,也可以自己“命名实例”安装实例,如图3-8所示。SQL Server支持多个实例,即支持在同一台计算机上同时运行多个SQL Server数据库引擎实例,每个SQL Server数据库引擎实例各有一套不为其它实例共享的系统及用户数据库。应用程序连接同一台计算机上的SQL Server数据库引擎实例的方式与连接其它计算机上运行的SQL Server数据库引擎的方式基本相同。 图3-8 “实例配置”界面 (8)在“服务器配置”页上指定SQL Server服务的登录帐户。SQL Server提供了多种服务,可以为所有SQL Server服务分配相同的登录账户,也可以分别配置每个服务账户。还可以指定服务是自动启动、手动启动还是禁用。Microsoft建议对各服务账户进行单独配置,以便为每项服务提供最低特权,即向SQL Server服务授予它们完成各自任务所需的最低权限,如图3-9所示。SQL Server中的每个服务代表一个进程或一组进程,每个进程需要有访问SQL Server相关文件和系统注册表的权限,为了能让SQL Server服务在操作系统中正常的启动和运行,就需要指定SQL Server的服务帐户,所以服务帐户指的是Windows操作系统中的帐户。 图3-9 “服务器配置”界面 (9)在“数据库引擎配置”的“服务器配置”页上指定身份验证模式、用户名、密码,如图3-10所示。这里的用户身份验证指的是登录到服务器使用的身份验证模式及用户名和密码。身份验证模式分为“Windows身份验证模式”和“混合模式(SQL Server身份验证和Windows身份验证)”。如果选择“Windows身份验证模式”表示则只能使用Windows的帐号登录,即使用当前登录到操作系统的帐号进行登录,通过这种方式用户登录到SQL Server中时不再需要输入帐号和密码。如选择“混合模式(SQL Server身份验证和Windows身份验证)”表示除了可以用使用登录到Windows的帐号作为登录的依据外,还可以使用SQL Server系统的帐号登录,这里必须为内置SQL Server系统管理员账户(SA)提供一个强密码。必须至少为SQL Server实例指定一个系统管理员。若要添加用以运行SQL Server安装程序账户,则要单击“添加当前用户”按钮。若要向系统管理员列表中添加账户或从中删除账户,则单击“添加…”或“删除…”按钮,然后编辑将拥有SQL Server实例的管理员特权的用户、组或计算机列表。 图3-10 设置身份验证模式和管理员 (10)在“准备安装”页显示安装过程中的安装选项的树视图,如图3-11所示。若要继续,单击“安装”按钮。在安装过程中,“安装进度”页会提供相应的状态,因此可以在安装过程中监视安装进度。 图3-121“准备安装”界面 (11)安装完成后,“完成”页提供指向安装日志文件摘要以及其他重要说明的链接。如图3-12所示。 图3-12 “安装完成”界面 (二)、建库建表练习      1、利用语句建库和建表: 创建学生数据库StuDB,文件名和位置自定,在此数据库中创建如下三张表: 学生表(student) (   学号(sno) 普通编码定长字符类型,长度9,主码,   姓名(sname) 普通编码定长字符类型,长度10,非空,   性别(ssex) 统一编码定长字符类型,长度2,   年龄(sage) 微整型,   所在系(sdept) 统一编码可变长字符类型,长度20 ) 课程表(course) (   课程号(cno) ,通编码定长字符类型,长度4,主码,   课程名(cname) 统一编码定长字符类型,长度,40,非空,   开课学期(Semester) 短整数, 学分(credit) 短整数 ) 修课表(sc)(   学号(sno) 普通编码定长字符类型,长度7,主码,外码   课程号(cno) 普通编码定长字符类型,长度6,主码,外码   成绩(grade) 小整型,   修课类别(ctype)普通编码定长字符类型,长度4 ) 2、建立“汽车”数据库,文件名和位置自定,在此数据库中创建如下三张表: 汽车表(CarT),结构如下:   汽车序号(CId) 整型 主关键字,   汽车名称(CName) 普通编码定长字符类型 长度为10  非空,   型号(CType)普通编码变长字符类型 长度为60  非空,   价格(CPrice) 整型,   车身眼色(Ccolor)普通编码变长字符类型 长度为20。 部门表(DepartT),结构如下:   部门序号(DId)整型 主关键字,   部门名(DName)普通编码定长字符类型 长度为20   非空,   负责人名(DLead)普通编码定长字符类型 长度为10  非空,   人数(DAmount) 整型。 汽车出厂表(FacT),结构如下:   汽车序号(CID) 整型 非空,   部门序号(DId) 整型 非空,   出厂日期(FDate)小日期时间型 非空,   出厂数量(FAmount) 整型,   出厂价格(FPrice) 整型。   其中:主关键字为(汽车序号,部门序号,出厂日期)   “汽车序号”为引用汽车表的“汽车序号”的外部关键字; “部门序号”为引用部门表的“部门序号”的外部关键字。 3、使用数据库的可视化工具建库建表 建立银行贷款表,具体要求同课堂教学的建库建表一致。 银行表(BankT)( 银行代码(Bno) 主键 银行名称(Bname) 非空 电话(Tel) ) 法人表(LET)( 法人代码(Eno)主键 法人名称(Ename)取值唯一 经济性质(Enature) 注册资金(Ecapital) 法定代表人(Erep) ) 贷款表(LoanT)( 法人代码(Eno) 银行代码(Bno) 贷款日期(Ldata) 贷款金额(Lamount) 贷款期限(Lterm) )        (三)、数据导入练习 将“学生数据库数据.xls”中的数据导入到学生数据库的三张表中。 将“银行贷款数据.xls”中的数据导入到银行贷款数据库的三张表中。 三、实验报告 将实验结果反映在实验报告中,并对实验中遇到的问题及解决方案、进行整理、分析总结,提出实验结论或自己的看法。

2019-09-21

数据结构第九章 查找作业及答案(100分).docx

1.对于二叉排序树,下面的说法( )是正确的。 A.二叉排序树是动态树表,查找不成功时插入新结点时,会引起树的重新分裂和组合 B.对二叉排序树进行层序遍历可得到有序序列 C.用逐点插入法构造二叉排序树时,若先后插入的关键字有序,二叉排序树的深度最大 D.在二叉排序树中进行查找,关键字的比较次数不超过结点数的1/2 2.在有n个结点且为完全二叉树的二叉排序树中查找一个键值,其平均比较次数的数量级为( )。 A.O(n) B.O(log2n) C.O(n*log2n) D.O(n2) 3.静态查找与动态查找的根本区别在于( )。 A. 它们的逻辑结构不一样 B. 施加在其上的操作不同 C. 所包含的数据元素类型不一样 D. 存储实现不一样 4.已知一个有序表为{12,18,24,35,47,50,62,83,90,115,134},当折半查找值为90的元素时,经过( )次比较后查找成功。 A.2 B.3 C.4 D.5 5.已知数据序列为(34,76,45,18,26,54,92,65),按照依次插入结点的方法生成一棵二叉排序树,则该树的深度为( )。 A. 4 B. 5 C. 6 D. 7 6.设散列表表长m=14,散列函数H(k)=k mod 11 。表中已有15,38,61,84四个元素,如果用线性探测法处理冲突,则元素49的存储地址是( )。 A. 8 B. 3 C. 5 D. 9 7. 平衡二叉树的查找效率呈( )数量级。 A. 常数阶 B. 线性阶 C. 对数阶 D. 平方阶 8. 设输入序列为{20,11,12,…},构造一棵平衡二叉树,当插入值为12的结点时发生了不平衡,则应该进行的平衡旋转是( )。 A. LL B. LR C. RL D. RR 二、填空题(每空3分,共24分)。 1.在有序表A[1..18]中,采用二分查找算法查找元素值等于A[7]的元素,所比较过的元素的下标依次为 。 2.利用逐点插入法建立序列(61,75,44,99,77,30,36,45)对应的二叉排序树以后,查找元素36要进行 次元素间的比较,查找序列为 。 3. 用顺序查找法在长度为n的线性表中进行查找,在等概率情况下,查找成功的平均比较次数是 。 4. 二分查找算法描述如下: intSearch_Bin(SST ST, KT key) { low=1 ; high=ST. length; while(low<=high) { mid=(low+high)/2; if(key==ST.elem[mid].key) return mid; else if(key<ST.elem[mid].key) ; else ; } return 0; } 5.链式二叉树的定义如下: typedef struct Btn{ TElemType data; ; }BTN ,*BT; 6.在有n个叶子结点的哈夫曼树中,总结点数是 。 三、综合题(共52分)。 1. (共12分)假定关键字输入序列为19,21,47,32,8,23,41,45,40,画出建立二叉平衡树的过程。 2. (共15分)有关键字{13,28,31,15,49,36,22,50,35,18,48,20},Hash 函数为H=key mod 13,冲突解决策略为链地址法,请构造Hash表(12分),并计算平均查找长度(3分)。 ASL= 3. (共10分)设关键字码序列{20,35,40,15,30,25},给出平衡二叉树的构造过程。 4. (共15分)设哈希表长为m=13,散列函数为H(k)=k mod 11,关键字序列为5,7,16,12,11,21,31,51,17,81;试求:散列后的表中关键字分布(假定解决冲突的方法为线性探测再散列法);求平均查找长度ASL;计算该表的装填因子。 (1)按要求求哈希表(10分): 0 1 2 3 4 5 6 7 8 9 10 11 12 (2)计算ASL(3分): ASL= (3)计算装填因子(2分):装填因子=

2019-09-21

第七章 图作业及答案(50分).docx

1.下列哪一种图的邻接矩阵是对称矩阵?( ) A.有向图 B.无向图 C.AOV网 D.AOE网 2.在边表示活动的AOE网中,关键活动的最迟开始时间( ) 最早开始时间。 A.> B.= D.= 3.带权有向图G用邻接矩阵A存储,则顶点i的入度等于A中( ) 。 A.第i行非∞的元素之和 B.第i列非∞的元素之和 C.第i行非∞且非0的元素个数 D.第i列非∞且非0的元素个数 4.在一个无向图中,所有顶点的度数之和等于所有边数的( ) 倍。 A.1/2 B. 1 C. 2 D. 4 5.对于一个具有n个顶点的无向图,若采用邻接矩阵存储,则该矩阵的大小是(D) A.n B.(n-1)2 C.n-1 D.n2 6. 如下有关拓扑序列的叙述,( ) 不对。 A. 拓扑序列包含了有向图的全部顶点 B. 有向有环图一定没有拓扑序列 C. 有向无环图不一定有拓扑序列 D. 拓扑序列不一定唯一 7. 对于描述工程的AOE网,( ) 说法正确。 A. 网中唯一的出度为零的顶点,称为源点 B. 网中唯一的入度为零的顶点,称为汇点 C. 关键路径是源点到汇点的最短路径 D. 关键路径可能有多条 8. 最小生成树指的是( ) 。 A. 由连通网所得到的边数最少的生成树 B. 由连通网所得到的顶点数相对较少的生成树 C. 连通网中所有生成树中权值之和为最小的成生树 D. 连通网的极小连通子图 9.一个有向图,共有n条弧,则所有顶点的度的总和为( ) 。 A.2n B.n C.n-1 D.n/2 二、填空题(每空3分,共9分)。 1.有n个顶点的连通图至少有___条边。有n个顶点的无向图至多有 条边。 2. 图的广度优先遍历算法中用到辅助队列,每个顶点最多进队 次。 3.在一个具有n个顶点的有向完全图中包含有 条边。 三、综合题(共23分)(答案可以在纸上笔画然后拍照贴图到文档的方式)。 1. (共7分)无向网如下: (1) 给出如图所示网的邻接矩阵表示(3分): (2) 画出最小生成树(4分): 2 .(共8分)已知一个连通图如图所示,试给出图的邻接矩阵和邻接链表存储示意图。 (1) 邻接矩阵存储示意图为(4分): (2) 邻接链表存储示意图为(4分): 3. (共8分)如图所示的带权无向图,请用克鲁斯卡尔算法给出最小生成树的求解过程。 用克鲁斯卡尔算法求最小生成树的过程为:

2019-09-21

第六章 树和二叉树作业及答案(100分).docx

1. 一棵二叉树的顺序存储情况如下: 树中,度为2的结点数为( )。 A.1 B.2 C.3 D.4 2. 一棵“完全二叉树”结点数为25,高度为( )。 A.4 B.5 C.6 D.不确定 3.下列说法中,( )是正确的。 A. 二叉树就是度为2的树 B. 二叉树中不存在度大于2的结点 C. 二叉树是有序树 D. 二叉树中每个结点的度均为2 4.一棵二叉树的前序遍历序列为ABCDEFG,它的中序遍历序列可能是( )。 A. CABDEFG B. BCDAEFG C. DACEFBG D. ADBCFEG 5.线索二叉树中的线索指的是( )。 A.左孩子 B.遍历 C.指针 D.标志 6. 建立线索二叉树的目的是( )。 A. 方便查找某结点的前驱或后继 B. 方便二叉树的插入与删除 C. 方便查找某结点的双亲 D. 使二叉树的遍历结果唯一 7. 有abc三个结点的右单枝二叉树的顺序存储结构应该用( )示意。 A. a b c B. a b ^ c C. a b ^ ^ c D. a ^ b ^ ^ ^ c 8. 一颗有2046个结点的完全二叉树的第10层上共有( )个结点。 A. 511 B. 512 C. 1023 D. 1024 9. 一棵完全二叉树一定是一棵( )。 A. 平衡二叉树 B. 二叉排序树 C. 堆 D. 哈夫曼树 10.某二叉树的中序遍历序列和后序遍历序列正好相反,则该二叉树一定是( )的二叉树。 A.空或只有一个结点 B.高度等于其结点数 C.任一结点无左孩子 D.任一结点无右孩子 11.一棵二叉树的顺序存储情况如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 A B C D E 0 F 0 0 G H 0 0 0 X 结点D的左孩子结点为( )。 A.E B.C C.F D.没有 12.一棵“完全二叉树”结点数为25,高度为( )。 A.4 B.5 C.6 D.不确定 二、填空题(每空3分,共18分)。 1. 树的路径长度:是从树根到每个结点的路径长度之和。对结点数相同的树来说,路径长度最短的是 完全 二叉树。 2. 在有n个叶子结点的哈夫曼树中,总结点数是 2n-1 。 3. 在有n个结点的二叉链表中,值为非空的链域的个数为 n-1 。 4. 某二叉树的中序遍历序列和后序遍历序列正好相反,则该二叉树一定是 任一结点无左孩子 的二叉树。 5. 深度为 k 的二叉树最多有 个结点,最少有 k 个结点。 三、综合题(共58分)。 1. 假定字符集{a,b,c,d,e,f }中的字符在电码中出现的次数如下: 字符 a b c d e f 频度 9 12 20 23 15 5 构造一棵哈夫曼树(6分),给出每个字符的哈夫曼编码(4分),并计算哈夫曼树的加权路径长度WPL(2分)。 (符合WPL最小的均为哈夫曼树,答案不唯一) 哈夫曼编码: 2. 假设用于通信的电文由字符集{a,b,c,d,e,f,g}中的字符构成,它们在电文中出现的频率分别为{0.31,0.16,0.10,0.08,0.11,0.20,0.04}。要求: (1)为这7个字符设计哈夫曼树(6分)。 (2)据此哈夫曼树设计哈夫曼编码(4分)。 (3)假设电文的长度为100字符,使用哈夫曼编码比使用3位二进制数等长编码使电文总长压缩多少?(4分) (1) 为这7个字符设计哈夫曼树为(符合WPL最小的均为哈夫曼树,答案不唯一): (2) 哈夫曼编码为: a:01;b:001;c:100;d:0001;e:101;f:11;g:0000 (3) 假设电文的长度为100字符,使用哈夫曼编码比使用3位二进制数等长编码使电文总长压缩多少? 采用等长码,100个字符需要300位二进制数,采用哈夫曼编码发送这100个字符需要261二进制位,压缩了300-261=39个字符。压缩比为39/300=13%。 3. 二叉数T的(双亲到孩子的)边集为: { <A,B>, <A,C>, <D,A>, <D,E>, <E,F>, <F,G> } 请回答下列问题: (1)T的根结点(2分): (2)T的叶结点(2分): (3)T的深度(2分): (4)如果上述列出边集中,某个结点只有一个孩子时,均为其左孩子;某个结点有两个孩子时,则先列出了连接左孩子的边后列出了连接右孩子的边。画出该二叉树其及前序线索(6分)。 (1)T的根结点 (2)T的叶结点 : (3)T的深度 : (4)该二叉树其及前序线索为: 4.现有以下按前序和中序遍历二叉树的结果: 前序:ABCEDFGHI 中序:CEBGFHDAI 画出该二叉树的逻辑结构图(5分),并在图中加入中序线索(5分)。 5.有电文:ABCDBCDCBDDBACBCCFCDBBBEBB。 用Huffman树构造电文中每一字符的最优通讯编码。画出构造的哈夫曼树,并给出每个字符的哈夫曼编码方案。(符合WPL最小的均为哈夫曼树,答案不唯一) (1)构造哈夫曼树(6分): (2)哈夫曼编码方案(4分):

2019-09-21

第十章 排序作业及答案数据结构

排序作业 选择题(每题2分,共22分)。 1.若表R在排序前已按键值递增顺序排列,则(   )算法的比较次数最少。 A.直接插入排序            B.快速排序     C.归并排序                D.选择排序 2.对各种内部排序方法来说,(   )。 A.快速排序时间性能最佳                             B.归并排序是稳定的排序方法 C.快速排序是一种选择排序                          D.堆排序所用的辅助空间比较大 3.  排序算法的稳定性是指(   )。 A.经过排序之后,能使值相同的数据保持原顺序中的相对位置不变。 B.经过排序之后,能使值相同的数据保持原顺序中的绝对位置不变。 C.排序算法的性能与被排序元素的数量关系不大 D.排序算法的性能与被排序元素的数量关系密切 4. 如下序列中,(   )序列是大顶堆。 A.  {4,5,3,2,1}               B.  {5,3,4,1,2}        C.  {1,2,3,4,5}               D.  {1,2,3,5,4} 5. 若将{3,2,5,4,1}排为升序,则实施快速排序一趟后的结果是(   )(其中,枢轴记录取首记录)。 A.  {1,2,3,4,5}                  B.  {1,2,4,5,3}        C.  {1,3,5,4,2}                  D.  {2,5,4,1,3} . 若将{1,2,3,4,5,6,7,9,8}排为升序,则(   )排序方法的“比较记录”次数最少。 A.  快速排序                   B.  简单选择排序     C.  直接插入排序               D.  冒泡排序 7. 若将{5,4,3,2,1}排为升序,则(   )排序方法的“移动记录”次数最多。 A.  快速排序                                B.  冒泡排序 C.  直接插入排序                       D.  简单选择排序 8. 用简单选择排序将顺序表{2,3,1 ,3′,2′}排为升序,实施排序1趟后结果是{1 ,3,2 ,3′,2′},则排序3趟后的结果是(   )。 A.  {1 ,2,3 ,3′,2′}                       B.  {1 ,2 ,2′,3 ,3′} C.  {1 ,2′,2 ,3 ,3′}                      D.  {1 ,2 ,2′,3′,3 } 9.下列排序算法中,(    )排序在某趟结束后不一定选出一个元素放到其最终的位置上。 A.选择             B.冒泡           C.归并           D.堆 10.下列排序算法中,稳定的排序算法是(  )。 A.堆排序                B.直接插入排序   C.快速排序              D.希尔排序 11.堆排序的时间复杂度是(    )。 A.O(n*n)                 B.O(n*log n)       C.O(n)                   D.O(log n) 填空题(每空4分,共4分)。 对n个元素进行归并排序,空间复杂度为         。 综合题(共24分)。 1. (共12分)有一组待排序的关键字如下: (54,38,96,23,15,72,60,45,83) 分别写出希尔排序(d=5)、快速排序、堆排序、归并排序第一趟升序排序后的结果(其中堆排序的第一趟指序列完成初始建堆、将堆顶元素置为最末位置后其余元素调整为堆的结果)(每个3分)。 希尔排序:   快速排序: 堆排序: 归并排序:  2. (共12分)已知数据序列为(12,5,9,20,6,31,24),对该项数据序列进行排序,分别写出直接插入排序、简单选择排序、快速排序、堆排序、二路归并排序及基数排序第一趟升序排序结果(其中堆排序的第一趟指序列完成初始建堆、将堆顶元素置为最末位置后其余元素调整为堆的结果)(每个2分)。 直接插入排序: 简单选择排序: 快速排序: 堆排序: 二路归并排序: 基数排序:    

2019-08-23

romantic_page-master程序员表白

程序员不一样的用网页表白 程序员不一样的用网页表白 程序员不一样的用网页表白

2019-07-17

Score_Management-master学生成绩管理系统

说明: 注册密码:2014052421 程序包含中文和特殊字符,在Window下需ASCII编码,不能UTF-8编码。 程序对三个文件要求是文本文件,且studata.txt中包含中文字符,在window下也需要ASCII编码 studata.txt:学生数据文件,保存学生姓名学号成绩等信息 admintea.txt:教师登录文件,保存教师账号和密码 adminstu.txt:学生登录文件,保存学生账号和密码 功能展示与介绍 概述: 综合运用C语言基础知识,利用预处理、数据类型、自定义函数、结构体、链表、文件操作、WindowsAPI等,初步实现了教师与学生两种操作模式下成绩的录入、修改、删除、查询、排序、保存,以及切换登陆模式、退出等功能,并且在修改、删除、查询、排序功能中可按照多种方式操作。如可根据姓名或名字对成绩进行修改、删除,查询可分为个人成绩查询,分数段查询与不及格成绩查询,排序功能实现按照学号、姓名、五门成绩、总分、绩点,可由大到小或由小到大进行排序。同时,本学生成绩管理系统使用WindowAAPI实现鼠标操作,告别繁琐笨重的键盘,以整齐的区域化布局提供用户友好的操作界面,既解决了由于键盘输入不合法造成的错误,又符合用户的使用习惯。

2019-07-17

Student-Information-Manage-System-master学生管理系统

系统功能描述 该系统管理学生的课程信息。系统提供账户的管理和学生信息的管理功能。 系统提供的功能主要有学生信息的查询,修改,增加,删除,账户信息的查询,修改,增加,删除。 -------------------------------------------------- -------------------------------------- 登陆运行提示: -------------------------------------------------- -------------------------------------- 欢迎来到SIMS | 请选择您的帐户级别:| | [0]你是老师| [1]你是学生| [2]退出| | 选择一个数字:| -------------------------------------------------- -------------------------------------- 登录管理系统的账户分为管理员账户和普通账户: *普通用户只具有查询学生信息的功能: -------------------------------------------------- -------------------------------------- [1]搜索学生信息 [2]退出 选择一个数字: -------------------------------------------------- -------------------------------------- *管理员用户具有系统提供的所有功能: -------------------------------------------------- -------------------------------------- [1]搜索学生信息| [2]添加学生信息| [3]更新学生信息| [4]删除学生信息| [5]搜索用户帐号| [6]添加用户帐号| [7]更新用户帐号| [8]删除用户帐号| [9]退出| | 选择一个数字:| -------------------------------------------------- -------------------------------------- 系统数据主要存储在三个文件:configure.txt usr_account.txt student.txt。 usr_account.txt主要用于存放用户账户信息,0表示管理员账户,1表示普通用户 student.txt主要用于存放学生信息 configure.txt主要用于存放配置信息:usr_account.txt student.txt文件的存储位置路径信息,根据这个路径信息去读这两个文件 -------------------------------------------------- -------------------------------------- 系统在启动时会根据配置文件里的内容找到相应文件并读取出数据来加载账户信息和学生信息 SIMS用到的结构体: typedef struct user { char user_name [USER_NAME_LEN + 1]; char user_password [USER_PASSWORD_LEN + 1]; int users_limit; struct user * next; } USER_ACCOUNT,* pUSER_ACCOUNT; //注册账户信息 typedef struct course { int course_id; double course_score; }当然,* pCOURSE; //多个课程,课程结构体 typedef struct student { int stu_id; char stu_name [USER_NAME_LEN + 1]; 课程[COURSE_NUM]; 结构学生*下一个; } STUDENT,* pSTUDENT; //学生信息结构体 -------------------------------------------------- -------------------------------------- Windows下的是在Windows 10系统下的Visual Studio 2012开发的 Linux下的是在Linux ubuntu 4.10.0-42-generic#46~16.04.1-Ubuntu SMP Mon Dec 4 15:57:59 UTC 2017 x86_64 x86_64 x86_64 GNU / Linux下开发的 ****注**** windows版本随意使用; windows版本下的configure.txt和usr_account.txt student.txt在同一目录下, 要注意configure.txt内容要相应更改成这两个文件的绝对路径。 Linux的版本输入信息错误不能退格删除,只能重启;发送SIGINT信号结束进程 的Linux版本提示输入信息(任意字符)继续的时候不要输入回车,其他都行;

2019-07-17

C--masterc语言学生管理系统 C语言学生管理系统

#c语言学生管理系统 C语言学生管理系统 开发环境 VS2012 (vs2012 dev测试 vc++6.0都可以运行) 1.使用链表移动来完成, 2.数据可以进行存盘保存到本地, 3.从本地文件里读出学生的成绩 4.该程序完成增删改查,并且对系统有过优化,代码易于阅读,结构完善。 5.需要在本地创建一个stu.txt文件保存或者读入数据 6.该程序密码校验功能 初始账号密码为root 123456

2019-07-16

ChatterBot-master聊天机器人

ChatterBot是一个基于机器学习的会话对话引擎,用Python构建,可以根据已知对话的集合生成响应。ChatterBot的语言独立设计允许它被训练成说任何语言。一个未经训练的ChatterBot实例开始时不知道如何通信。每次用户输入语句时,库都会保存他们输入的文本以及语句响应的文本。当ChatterBot收到更多输入时,它可以回复的响应数量以及与输入语句相关的每个响应的准确性都会增加。程序通过搜索与输入匹配的最接近的匹配已知语句来选择最接近的匹配响应,然后基于机器人与之通信的人发出每个响应的频率,返回对该语句的最可能响应。可以通过运行以下命令从PyPi安装此软件包: pip install chatterbot

2019-07-16

web-master-note.zip私人笔记应用程序

Standard Notes是一个简单的私人笔记应用程序,可在大多数平台上使用,包括Web,Mac,Windows,Linux,iOS和Android。它专注于简单性,并在接触云之前在本地加密数据。这意味着没有人可以阅读你的笔记,但你(甚至不是我们)。为何选择标准笔记 简单易用 快速和加密的跨平台同步 无限制设备上的免费同步 使用编辑器(例如Markdown和Code),主题和组件(如文件夹和自动完成标签)可扩展。 开源和自托管笔记本服务器的选项。您只需几个简单的步骤即可托管自己的标准服务器。 重点关注长寿和可持续发展。 创建您的私人笔记帐户 在app.standardnotes.org上启动Web应用程序。 单击注册以创建您的私人备注帐户。 在所有设备上下载标准备注。 苹果电脑 视窗 Linux的 iOS版 Android的 你们都准备开始享受新的,更自由的笔记生活。标准便笺是开箱即用的,在您的所有设备上都有端到端加密同步。

2019-07-16

Web-master.zip(使用文本都可以查看,包含前端一系列所需的一切)

00-前端工具 01-html 02-CSS 03-JavaScript基础 04-JavaScript进阶 05-前端基本功:CSS和DOM练习 05-前端基本功:JavaScript特效 06-jQuery 07-HTML5和CSS3 08-移动web开发09-Ajax 10-Node.js和模块化 11-ES6 12-Vue基础 13-React基础 14-前端面试 15-面试题积累 16-前端进阶 17-前端综合 18-推荐链接

2019-07-16

Linux C编程一站式学习 宋劲杉 清晰扫描版.rar

本书有两条线索,一条线索是以linux平台为载体全面深入地介绍c语言的语法和程序的工作原理,另一条线索是介绍程序设计的基本思想和开发调试方法。本书分为两部分:第一部分讲解编程语言和程序设计的基本思想方法,让读者从概念上认识c语言;第二部分结合操作系统和体系结构的知识讲解程序的工作原理,让读者从本质上认识c语言。. 本书适合做零基础的初学者学习c语言的第一本教材,帮助读者打下牢固的基础。有一定的编程经验但知识体系不够完整的读者也可以对照本书查缺补漏,从而更深入地理解程序的工作原理。本书最初是为北京亚嵌教育研究中心的嵌入式linux系统工程师就业班课程量身定做的教材之一,也适合作为高等院校程序设计基础课程的教材。本书对于c语言的语法介绍得非常全面,对c99标准做了很多解读,因此也可以作为一本精简的c语言语法参考书。...

2019-05-24

《项目驱动:单片机应用设计基础(第二版)周立功 北京航天空航天大学出版社》源码

《项目驱动:单片机应用设计基础(第二版)》源码,提供给大家书上所有的源代码,作为学习的参考。

2019-03-17

数据结构第五章作业答案参考(C语言)

1.两个串相等的充要条件是( )。A.串长度相等B.串长度任意 C.串中各位置字符任意 D.串中各位置字符均对应相等 2.对称矩阵的压缩存储:以行序为主序存储下三角中的元素,包括对角线上的元素。二维下标为( i, j ),存储空间的一维下标为k,给出k与 i, j (i<j)的关系k=( ) (1<= i, j <= n , 0<= k < n*(n+1)/2)。 A.i*(i-1)/2+j-1 B.i*(i+1)/2+j C.j*(j-1)/2+i-1 D.j*(j+1)/2+i 3.二维数组A[7][8]以列序为主序的存储,计算数组元素A[5][3] 的一维存储空间下标 k=( )。 A.38 B.43 C.26 D.29 4.已知一维数组A采用顺序存储结构,每个元素占用4个存储单元,第9个元素的地址为144,则第一个元素的地址是( )。A.108 B.180 C.176 D.112 5. 下面( )不属于特殊矩阵。 A.对角矩阵 B. 三角矩阵C. 稀疏矩阵 D. 对称矩阵 6. 假设二维数组M[1..3, 1..3]无论采用行优先还是列优先存储,其基地址相同,那么在两种存储方式下有相同地址的元素有( )个。 A. 3 B. 2 C. 1 D. 0 7. 若Tail(L)非空,Tail(Tail(L))为空,则非空广义表L的长度是( )。(其中Tail表示取非空广义表的表尾) A. 3 B. 2 C. 1 D. 0 8.串的长度是( )。 A.串中不同字母的个数 B.串中不同字符的个数C.串中所含字符的个数,且大于0 D.串中所含字符的个数 9.已知广义表(( ),(a), (b, c, (d), ((d, f)))),则以下说法正确的是( )。A.表长为3,表头为空表,表尾为((a), (b, c, (d), ((d, f))))B.表长为3,表头为空表,表尾为(b, c, (d), ((d, f)))C.表长为4,表头为空表,表尾为((d, f)) D.表长为3,表头为(()),表尾为((a), (b, c, (d), ((d, f))))10.广义表A=(a,b,c,(d,(e,f))),则Head(Tail(Tail(Tail(A))))的值为( )。(Head与Tail分别是取表头和表尾的函数) A.(d,(e,f)) B.d C.f D.(e,f)二、填空题(每空 2 分,共 8 分)。 1.一个广义表为 F = (a, (a, b), d, e, (i, j), k),则该广义表的长度为________________。GetHead(GetTail(F))= _______________。 2.一个n*n的对称矩阵,如果以行或列为主序压缩存放入内存,则需要 个存储单元。 3.有稀疏矩阵如下: 0 0 5 7 0 0 -3 0 0 0 4 0 0 2 0 它的三元组存储形式为: 。 三、综合题(共 22 分)。 1.(共8分)稀疏矩阵如下图所示,描述其三元组的存储表示,以及转置后的三元组表示。 0 -3 0 0 0 4 0 6 0 0 0 0 0 0 7 0 15 0 8 0 转置前(4分): 转置后(4分): 2. (共14分)稀疏矩阵M的三元组表如下,请填写M的转置矩阵T的三元组表,并按要求完成算法。 (1)写出M矩阵转置后的三元组存储(6分): M的三元组表: T的三元组表: i j e 2 1 3 3 2 4 4 2 5 4 3 5 5 1 6 5 3 6 i j e (2)如下提供了矩阵采用三元组存储时查找指定行号(m)和列号(n)元素值的算法框架,将代码补充完整(每空2分,共8分)。 typedefstruct{ inti,j; ElemType e; }Triple; typedefstruct{ Triple data[MAXSIZE+1]; //data[0]未用 intmu,nu,tu; //矩阵的行数,列数和非零元的个数 }TSMatrix; voidFind_TSMatrix(TSMatrix M, int m, int n, ElemType&e) //M为要查找的稀疏矩阵三元组存储,m为要查找的元素的行号,n为列号,e为查找后得到的值。 { for ( i=1 ; i<=M.tu ;i++) if( && ) { e=M.data[i].e; ; } if( ) e=0; }

2019-03-17

数据结构第三章作业答案参考(C语言)

1. 经过以下栈运算后,x的值是( )。 InitStack(s); Push(s,'a'); Push(s,'b'); Pop(s,x); Gettop(s,x); A. a B. b C. 1 D. 0 2.循环队列存储在数组A[0..m]中,则入队时的操作为( )。 A.rear=rear+1 B. rear=(rear+1) mod(m-1) C. rear=(rear+1)mod m D. rear=(rear+1) mod(m+1) 3. 栈和队列的共同点是( )。 A.都是先进先出 B.都是先进后出 C.只允许在端点处插入和删除元素 D.没有共同点 4. 若用一个大小为6的数组来实现循环队列,且当 rear 和 front 的值分别为 0 和 3。当从队列中删除一个元素,再插入两个元素后,rear 和 front 的值分别为:( )。 A.1 和 5 B.2 和 4 C.4 和 2 D.5 和 1 5. 程序填顺序循环队列的类型定义如下: typedef int ET; typedef struct{ ET *base; int Front; int Rear; int Size; }Queue; Queue Q; 队列 Q 是否“满”的条件判断为( C )。 A.(Q.Front+1)=Q.Rear B.Q.Front=(Q.Rear+1) C.Q.Front=(Q.Rear+1)% Q.size D.(Q.Front+1) % Q.Size=(Q.Rear+1)% Q.size 6. 若进栈序列为1,2,3,4,进栈过程中可以出栈,则( )不可能是一个出栈序列。 A.3,4,2,1 B.2,4,3,1 C.1,4,2,3 D.3,2,1,4 7. 向顺序存储的循环队列 Q 中插入新元素的过程分为三步: ( )。 A.进行队列是否空的判断,存入新元素,移动队尾指针 B.进行队列是否满的判断,移动队尾指针,存入新元素 C.进行队列是否空的判断,移动队尾指针,存入新元素 D.进行队列是否满的判断,存入新元素,移动队尾指针 8. 关于栈和队列,( )说法不妥。 A. 栈是后进先出表 B. 队列是先进先出表 C. 递归函数在执行时用到栈 D. 队列非常适用于表达式求值的算符优先法 9. 若用数组S[0..m]作为两个栈S1和S2的共同存储结构,对任何一个栈,只有当S全满时才不能作入栈操作。为这两个栈分配空间的最佳方案是( )。 A.S1的栈底位置为0,S2的栈底位置为m B.S1的栈底位置为0,S2的栈底位置为m/2 C.S1的栈底位置为1,S2的栈底位置为m D.S1的栈底位置为1,S2的栈底位置为m/2 二、程序填空题(没特别标注分数的空的为3分,共 23 分)。 1.下面的算法是将一个整数e压入堆栈S,请在空格处填上适当的语句实现该操作。 typedef struct{ int *base; int *top; int stacksize; }SqStack; int Push(SqStack S,int e) { if ( S.top- S.base>= S.stacksize ) { S.base=(int *) realloc(S.base,(S.stacksize+1)*sizeof(int)); if( !S.base ) { printf(“Not Enough Memory!\n”); return(0); } S.top= S.base+ S.stacksize ; S.stacksize= S.stacksize+1 ; } * S.top++=e ; return 1; } 2. 在表达式:6+5+3*7/(4+9/3-2)求值过程中,处理到2时刻,运算符栈的状态为: + / ( - (4分),操作数栈的内容为11,21,7,2(4分)。 3. 递调用时,处理参数及返回地址,要用一种称为 栈 的数据结构。 4. 设循环队列中数组的下标范围是1-n,其头尾指针分别为f和r,则其元素个数为_(r-f+n) mod n。

2019-02-06

数据结构第二章作业答案参考(C语言)

1. 顺序存储结构中数据中数据元素之间逻辑关系是由( )表示的,链接存储结构中的数据元素之间的逻辑关系是由( )表示的。 A.线性结构 B.非线性结构 C.存储位置 D.指针 2. 线性表是( )。 A.一个有限序列,可以为空 B. 一个有限序列,不能为空 C. 一个无限序列,可以为空 D. 一个无限序列,不能为空 3. 已知一维数组A采用顺序存储结构,每个元素占用4个存储单元,第9个元素的地址为144,则第一个元素的地址是( )。 A. 108 B. 180 C. 176 D. 112 4. 在单链表中删除指针p所指结点的后继结点,则执行( )。 A. p->next= p->next->next B. p->next= p->next C. p= p->next->next D. p= p->next; p->next= p->next->next 5. 若某链表最常用的操作是在最后一个结点之后插入一个结点删除最后一个结点,则采用( )存储方式最节省时间。 A. 单链表 B. 双链表 C. 带头结点的双循环链表 D. 单循环链表 6.二维数组A[7][8]以列序为主序的存储, 计算数组元素A[5][3] 的一维存储空间下标 k=( )。 A. 38 B. 43 C. 26 D. 29 二、完成下列填空题(每空3分,共9分)。 1.在顺序表L中第i个位置上插入一个新的元素e: Status ListInsert_Sq(SqList &L , int i , ET e){ if ( iL.length+1) return ERROR; if(L.length >= L.listsize){ p=(ET*)realloc(L.elem,(L.listsize+10)*sizeof(ET)); if (p==NULL) exit(OVERFLOW); L.elem=p; } for( j=L.length ; j>=i ; --j ) L.elem[j]=L.elem[j-1] ; L.elem[j]=e ; ++L.length ; return OK; } 2. 删除双向链表中p所指向的节点算法: status delete(DuLinkList L, DuLinkList p) { if (p= =L) return ERROR; else { p->prior->next=p->next; p->next->prior=p->prior ; } free(p); return OK; } 三、编程题(共27分)。 1. (共12分)用顺序表表示集合,设计算法实现集合的求差集运算,要求不另外开辟空间。 顺序表的存储结构定义如下: #define Maxsize 100 typedef struct { ElemType data[MaxSize]; // ElemType表示不确定的数据类型 int length; // length表示线性表的长度 }SqList; 将如下函数,伪码补充完整(8分),代码前先用文字描述自己的算法思想(4分)。 文字描述算法:略(4分) void Difference(SqList A, SqList B) {//参考代码如下如下(8分) for (i=0;i<A.length;i++) for(j=0;j<B.length;j++) if(A.data[i]==B.data[j]) { A.data[i]=’#’; break; } for (k=0,i=0;inext == L) return; p = L; while (p->next != L)   { if (p->next->data != e) P = p->next; else { q = p->next;p->next = q->next; free(q);} } } 时间复杂度分析:(2分) 时间复杂度为O(n)。

2019-02-05

数据结构第一章作业答案参考(C语言)

第一章 绪论作业答案(共50分) 一、分析如下程序中 (1)~ (10)各语句的频度。(每个1分,共10分) Ex( ) { int i , j , t ; (1) for( i=1 ; i<10 ; i++) //n = (2) printf(“\n %d” , i ); //n = (3) for(i=1; i<=2; i++) //n = (4) printf(“\n”); //n = (5) for(i=1; i<=9; i++) //n = { (6) for(j=1; j <= i ; j++) //n = { (7) t = i * j ; //n = (8) printf(“]”,t); //n = } (9) for(j=1; j 0) { if(x > 100) {x -= 10 ; y -- ;} else x ++ ; } 问if 语句执行了多少次?(2分) y--执行了多少次?(2分) x ++执行了多少次?(2分) 三、回答问题(共25分) 书中16页的起泡排序如下: void bubble_sort(int a[],int n){ //将a中整数序列重新排列成自小至大有序的整数序列。 for(i=n-1,change=TRUE;i>=1&&change;--i){ change=FALSE; for(j=0;ja[j+1]{a[j]<--&gt;a[j+1];change=TRUE; } } }//bubble_sort 1.(共15分)分析该算法的最佳情况 ,最坏情况和平均情况下各自的时间复杂度(给出分析思路与过程)。 (1) 最佳情况的时间复杂度分析(5分): (2) 最坏情况的时间复杂度分析(5分): (3) 平均情况的时间复杂度分析(5分): 2.(共10分)比较与C语言书中的起泡排序异同,并从时空效率角度说明谁更优。 四、完成如下选择题(每3分,共9分)。 1. 设f为原操作,则如下算法的时间复杂度是( )。 for (i = 1; i*i=1;i--) for(j=1;jA[j+1]) A[j]与A[j+1]对换; 其中n为正整数,则算法在最坏情况下的时间复杂度为( )。 A.O(n) B.O(nlog2n) C. O(n3) D. O(n2)

2018-12-23

括号匹配C语言

1.掌握栈的结构及操作特点。 2.实现栈的顺序存储结构及基本操作的实现。 3利用栈的操作实现括号匹配的检验。 .括号匹配算法思想 (1)出现的凡是“左括号”,则进栈; (2)出现的是“右括号”, 首先检查栈是否空? 若栈空,则表明该“右括号”多余 否则和栈顶元素比较? 若相匹配,则栈顶“左括号出栈” 否则表明不匹配 (3)表达式检验结束时, 若栈空,则表明表达式中匹配正确 否则表明“左括号”有余;

2018-12-05

行编辑C语言全删和部分删除

实现行编辑,输入一个字符就会回显在屏幕上,但是行编辑器不能让每个字符都输出在屏幕上,有些键是要作为功能键来使用的,所以必须关闭回显设置,让我们自己来设计有选择的输出字符。输入字符后必须按回车才能把缓冲区字符送到程序那里去执行,所以必须开启立即响应模式,只要用户按下了键就立刻响应一个功能。

2018-12-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除