上海交大网络数据结构第一次作业

合集下载

16秋上海交大网络计算机第一次作业讲解

16秋上海交大网络计算机第一次作业讲解

题目1正确获得1分中的1分题干计算机系统应该包括硬件和软件两个子系统。

不装备软件的计算机称为______。

选择一项:a. 初级计算机b. 纯计算机c. 原始计算机d. 裸机反馈正确答案是:裸机题目2正确获得1分中的1分题干鼠标是快速输入设备,关于键的使用,下列四个说法错误的是______。

选择一项:a. 大部分操作使用左键b. 左、右键的作用完全相同c. 根据不同软件要求有时使用中键d. 有时使用右键反馈正确答案是:左、右键的作用完全相同题目3正确获得1分中的1分题干下列四个计算机存储容量的换算公式中,正确的是______。

选择一项:a. 1MB=1024GBb. 1KB=1000Bc. 1MB=1024KBd. 1KB=1024MB反馈正确答案是:1MB=1024KB题目4正确获得1分中的1分题干下列四个计算机存储容量的换算公式中,错误的是______。

选择一项:a. 1MB=1024KBb. 1KB=1024MBc. 1GB=1024MBd. 1KB=1024反馈正确答案是:1KB=1024MB题目5正确获得1分中的1分题干下列设备中,属于输出设备的是______。

选择一项:a. 触摸屏b. 显示器c. 扫描仪d. 光笔反馈正确答案是:显示器题目6正确获得1分中的1分题干十进制数124转换成二进制数是______。

选择一项:a. 1011111Bb. 1111100Bc. 1111010Bd. 1111011B反馈正确答案是:1111100B题目7正确获得1分中的1分题干在第三代计算机期间内按规模和性能产生了______。

选择一项:a. 巨、大、中和小型机b. 包含笔记本电脑在内的序列机c. 大、中、小和微型机d. 包含微型机在内的序列机反馈正确答案是:巨、大、中和小型机题目8正确获得1分中的1分题干在第三代和第四代计算机中采用的电子器件主要是______。

选择一项:a. 晶体管b. 集成电路c. 电子管d. 激光管反馈正确答案是:集成电路题目9正确获得1分中的1分题干计算机中为解决某一特定问题而设计的指令的有序集合称为______。

上海交大网络数据库原理与应用第一次作业

上海交大网络数据库原理与应用第一次作业

(1)找出所有供应商的姓名和所在城市。

SELECT SNAME,CITY FROM S(2)找出所有零件的名称、颜色、重量。

SELECT PNAME,COLOR,WEIGHT FROM P(3)找出使用供应商S1所供应零件的工程号码。

SELECT DIST JNO FROM SPJ WHERE SNO='S1'(4)找出工程项目J2使用的各种零件的名称及其数量。

SELECT PNAME,QTY FROM SPJ,PWHERE P.PNO=SPJ.PNO AND SPJ.JNO='J2'(5)找出上海厂商供应的所有零件号码。

SELECT PNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND CITY='上海'(6) 找出使用上海产的零件的工程名称。

SELECT JNAME FROM SPJ,S,JWHERE S.SNO=SPJ.SNO AND S.CITY='上海' AND J.JNO=SPJ.JNO(7)找出没有使用天津产的零件的工程号码。

注意: SELECT DISP JNO FROM SPJ WHERE JNO NOT IN (SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY='天津') 适用于JNO是唯一或不唯一的情况.注意: SELECT DIST JNO FROM SPJ,S WHERE S.SNO=SPJ.SNO AND S.CITY<>'天津'适用于JNO是唯一的情况(8)把全部红色零件的颜色改成蓝色。

UPDA TE P SET COLOR='蓝' WHERE COLOR='红'(9)由S5供给J4的零件P6改为由S3供应。

UPDA TE SPJ SET SNO='S3' WHERE SNO='S5' AND JNO='J4' AND PNO='P6'(10)从供应商关系中删除供应商号是S2的记录,并从供应情况关系中删除相应的记录。

上海交大2010年数据结构上机考试题目

上海交大2010年数据结构上机考试题目

2010-2011学年秋季《数据结构A类》上机考试题(普通班)考试时间:2011年1月7日10:00-13:00The ClocksConsider nine clocks arranged in a 3x3 array thusly:|-------| |-------| |-------|| | | | | | ||---O | |---O | | O || | | | | ||-------| |-------| |-------|A B C|-------| |-------| |-------|| | | | | || O | | O | | O || | | | | | | | ||-------| |-------| |-------|D E F|-------| |-------| |-------|| | | | | || O | | O---| | O || | | | | | | ||-------| |-------| |-------|G H IThe goal is to find a minimal sequence of moves to return all the dials to 12 o'clock. Nine different ways to turn the dials on the clocks are supplied via a table below; each way is called a move. Select for each move a number 1 through 9 which will cause the dials of the affected clocks (see next table) to be turned 90 degrees clockwise.ExampleEach number represents a time according to following table:9 9 12 9 12 12 9 12 12 12 12 12 12 12 126 6 6 5 -> 9 9 9 8-> 9 9 9 4 -> 12 9 9 9-> 12 12 126 3 6 6 6 6 9 9 9 12 9 9 12 12 12[But this might or might not be the `correct' answer; see below.]INPUT FORMATSAMPLE INPUT9 9 126 6 66 3 6OUTPUT FORMATA single line that contains a space separated list of the shortest sequence of moves (designated by numbers) which returns all the clocks to 12:00. If there is more than one solution, print the one which gives the lowest number when the moves are concatenated (e.g., 5 2 4 6 < 9 3 1 1).SAMPLE OUTPUT4 5 8 9HINTNotice that the order in which we apply moves is irrelevant, and that applying a move four times is the same as applying it not at all.Thus there are only 49 = 262144 move sequences that need to be tried, so we might as well just try them all.We don't generate them shortest first, but looking at sequences of the same length, we generate the lesser ones before the greater ones, so we only need to keep track of the shortest working sequencewe've found.二叉树遍历给出一棵完美二叉树(所有叶子节点高度相同,所有非叶子节点都有两个子节点)的描述,输出按层次顺序遍历这棵二叉树的结果。

2018年度交大计算机的第一次作业

2018年度交大计算机的第一次作业

1、多媒体计算机系统同一般计算机相比,特别需要利用计算机的数字化技术和______________ 。

选择一项:広a.通信技术D b.安全技术匕c.人机交互技术7匚d.存储技术2、计算机应用中,英文缩略语CAI所表示的计算机术语是_________ 。

* a.计算机辅助教学D b.计算机辅助设计匕c.计算机辅助制造匚d.计算机辅助工程3、当前气象预报已广泛采用数值预报方法,这主要涉及计算机应用中的____________ 。

匕a.数据处理和辅助设计□ b.科学计算与辅助设计-c.科学计算和数据处理d.科学计算和过程控制4、与二进制数110101110等值的十六进制数是屛b鼠标d.打印机/扫描仪6、假设给定一个十进制整数D,转换成对应的二进制整数B,那么就这两个数字的位数而言,B与D 相比, ________ 。

a. Db. Bc. DA d. B的位数大于等于的位数大于的位数大于的位数大于等于7、为解决某一特定的问题而设计的指令序列称为广a.b.语言文档c.系统卜d.程序丫8、对微机配置描述为中内存为 _________ 。

ra. 1.7G多媒体”,其b. 128MBI-c. 60GBa. 35ED b. 1AE fc. D70匚d. EA25、以下为计算机输出设备的是______________ 匸a.键盘d. 40X9、目前制造计算机所用的电子元件是广a.晶体管A b.集成电路电子管广c.超大规模集成电路10、有一类计算机应用领域称为 "CAD",也就是b. 逢十六进 a. 计算机辅助教学c. b. 计算机辅助制造d. 逢八进15、八进制数631转成二进制数是c. 计算机辅助设计 计算机辅助管理d. a.10011101111、计算机内部采用二进制数进行运算、存储和控 制的主要原因是 广 b. 101011001a. 现/二进制只有0、1 两种状态,技术上容易实 c. 110011001 d.110100001二进制数数码少, b. 快 16、计算机的主机的组成部分是在计算机网络中传送速度 a. CPU 、外存储器、外部设备c. 二进制数数码少, 比十进制数容易读懂和记 广b. CPU 和存储器系统忆 二进制数数码少, d. c.主机箱、键盘、显示器存储起来占用的存储容量 小 12、在计算机中,所有信息的存储都采用 屛d. CPU 和内存储器17、下面哪一项不是计算机采用二进制的主要原因a. 卜六进制 二进制/b. a. 二进制只有0和1两个状态,技术上容易实c. 八进制 广bb. 二进制数的o 和1与逻辑代数的"真”和"假"十进制 d. 相吻合, 适合于计算机进行逻辑运算 13、计算机操作系统作为一个接口, 连接着广c. 二进制运算规则简单a. 用户与计算机7 金dd.二进制可与十进制直接进行算术运算b. 主机与外设 18、高级语言所编写的程序又称为源程序,此类程 序c. 系统软件与应用软件 a. 不大于100行的程序可以被机器直接执行 用户与软件d. A b.在更高级的大型计算机中能被机器直接执14、十进制数的运算法则是 a.逢二进 c. 不能被机器直接执行d.能被机器直接执行19、光盘是一种已广泛使用的外存储器,英文缩写CD-ROM旨的是_______ 。

上海交大--数据结构-实验报告

上海交大--数据结构-实验报告

上海交大--数据结构-实验报告《数据结构》实验报告说明:本软件在win7 64位系统测试通过,需要安装.net 3.5以上版本七、数制转换问题1.问题描述对于输入的任意一个非负十进制整数,输出与其等值的其他进制数(二进制、八进制或十六进制)。

2.任务要求⑴建立模型,确定存储结构;⑵对任意十进制数,实现进制转换问题。

3.实验指导(1) 实验类型:设计实验。

本实验要求同学们针对“数制转换”这个经典的问题,应用栈的存储结构,自己设计一个方案,并上机实现。

此实验的目的是培养学生对数据结构的简单应用能力。

(2) 预备知识:栈的基本定义、栈的基本操作算法、栈的存储结构。

(3) 实现方法提示:1) 以十进制转换为八进制为例。

将十进制数整除8,计算过程中得到的余数依次进栈,按出栈序列输出栈中的内容即为与输入的十进制数对应的八进制数。

设Conversion函数执行数制转换的操作,对(1348)10转换为8进制的过程如下:}///<summary>///十进制转换为八进制///</summary>///<param name="sender"></param>///<param name="e"></param>private void radio_dto_Click_1(object sender, EventArgs e){txtEnd.Text = "";if (txtStart.Text.Length != 0){// TODO: 十进制转为八进制。

Int32 i;try{i = Convert.ToInt32(txtStart.Text.Trim());lblTitle.Text = "十进制转为八进制";txtEnd.Text = Convert.ToString(i, 8);}catch{MessageBox.Show("请输入合法的十进制数", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);}}else{MessageBox.Show("请提供转换数据!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);}txtStart.Focus();}///<summary>///十进制转换为十六进制///</summary>///<param name="sender"></param>///<param name="e"></param>private void radio_dth_Click(object sender, EventArgs e){txtEnd.Text = "";if (txtStart.Text.Length != 0){// TODO: 十进制转换为十六进制。

上海交大十月份数据结构上机实验考试题 2012-11-17

上海交大十月份数据结构上机实验考试题 2012-11-17

模拟题一、有一只猫抓了n (n>1)个老鼠后向老鼠宣布:老鼠按自然数进行编号(1~n),并按自然数顺序排队,以后先后次序不准变;于是猫每天吃掉编号为奇数的老鼠,剩下的老鼠再按原次序进行自然数编号,直至某一天只剩下一只小老鼠;而该小老鼠是猫从第一天起就想吃掉的那只,请问这只小老鼠的最初编号是几?(1)用链结构实现,链的每个节点所包含的“数据域”信息是老鼠的最初编号(从1开始编号),另一个信息是链的下一节点地址。

(2)建立一条有n个节点的链:先创建一个空链,然后向链尾插入n 个节点。

(3)开始删除奇数节点:从链首开始删除“奇”节点,直至链尾;判断链是否只剩下一个节点?不是则循环执行上一步,是则结束循环。

(4)输出结果。

(5)程序编写完成后,请以f1.c或f1.cpp作为文件名存放到F盘上。

答案:#include <iostream.h>#include <assert.h>struct mouse //链“节点”类声明{int n;mouse *nextptr;};int cat_mouse(int num) //函数定义{mouse *headptr=0,*tailptr=0,*frontptr,*p;int i;//先把1个老鼠加入链作为链首节点headptr=tailptr=new mouse;assert(headptr!=NULL); //动态内存分配异常处理headptr->n=1; //老鼠的编号headptr->nextptr=NULL;//在链尾再添加n-1个老鼠for(i=2;i<=num;++i){p=new mouse;assert(p!=NULL);p->n=i;cout<<p->n<<" ";tailptr->nextptr=p;tailptr=p;tailptr->nextptr=NULL; //设置链尾节点的“下一节点地址”为空//开始删除老鼠while(headptr!=tailptr) //每循环一次,删除链上的奇节点,直至只剩下1个节点 { p=headptr->nextptr; //链的首节点总是先被删除delete headptr; //析构首节点headptr=frontptr=p; //本次循环的第2个节点成为链的首节点 i=2; //从第2个节点开始循环:删除链的奇节点 while(p!=NULL) //从2开始循环至链尾节点{if((i%2)==1) //是奇节点{if (p->nextptr==NULL) //如果该奇节点是最后一个节点 {frontptr->nextptr=NULL; //前一节点成为链的尾节点tailptr=frontptr;delete p;p=NULL; //因本循环的判断条件是p!=NULL,到链尾,所以置为0 }else //是奇节点但不是尾节点,删除{frontptr->nextptr=p->nextptr; //从链上删除该奇节点 delete p;p=frontptr->nextptr; //下一节点的地址已保存在frontPtr的 nextPtr中 ++i;} //frontPtr成为被删节点的下一节点的上一节点,故值不变 }else //不是奇节点,不删除{frontptr=p;p=p->nextptr;++i;}}}return headptr->n; //返回最后一个节点的编号}void main() //主函数{int i, num;do{cout<<"\n请输入老鼠的只数(大于1,输入0退出):";cin>>num;if(num>1){i=cat_mouse(num);cout<<"最后剩下的一只老鼠是:"<<i<<endl;}}while(num!=0);以下为软件运行环境实效(在C++6.0中书写好的答案截图)注意点:1、考试考号和座位号(上机号)有一定的对应关系,跟老师确认后输入,以免做了成绩给了别人;2、就一大题,6.00开考,7.00结束;3、后面的截图是软件的实际操作界面,作为参考;。

交大计算机网络第一次作业

交大计算机网络第一次作业

第一次作业题目1OSI模型中,通常是_____层负责将比特流或字符流转换成帧格式。

选择一项:a. 物理层b. 数据链路层c. 网络层d. 传输层题目2对于网络模型来说,路由器是工作在_____层的设备。

选择一项:a. 物理层b. 数据链路层c. 网络层d. 应用层题目3HUB是工作在______层的设备。

选择一项:a. 物理层b. 数据链路层c. 网络层d. 应用层题目4FTP、Telnet等属于_______层的应用系统。

选择一项:a. 物理层b. 数据链路层c. 网络层d. 应用层题目5OSI模型中,由_____负责比特流的透明传输。

选择一项:a. 物理层b. 数据链路层c. 网络层d. 传输层题目6哪种物理层编码技术可用于解决连续的0或连续1的问题。

_____ 选择一项:a. 不归零制和曼切斯特编码b. 只有不归零制编码c. 只有曼切斯特编码d. 没有一种编码可以题目7如果用telnet 传输一串信息,那么真正在物理媒体上传输的信息是_____。

选择一项:a. 上的网页b. 上的字符c. 的分组d. 以某种形式调制的0或1数据题目8在一条无噪声的信道上,如果带宽是4MHz,信号分成32个等级,那么,信道的最大比特率(即数据传输率)为_____bps。

选择一项:a. 4Mb. 8Mc. 20Md. 40M题目9在一条无噪声的信道上,如果带宽是4MHz,信号分成32个等级,那么,信道对应波特率为_____波特。

选择一项:a. 4Mb. 8Mc. 20Md. 40M题目10在一条无噪声的信道上,如果带宽是4MHz,信号分成32个等级,那么,发送一个20KB的文件最短需要的时间是_____。

选择一项:a. 8msb. 4msc. 1msd. 0.5ms题目11一路电话的带宽为_____。

选择一项:a. 4Kbpsb. 8Kbpsc. 56Kbpsd. 64Kbps题目12HFC用了_____多路复用的方法。

05955_上海交大ACM班C算法与数据结构C算法初级1

05955_上海交大ACM班C算法与数据结构C算法初级1
13
二维数组及矩阵操作
二维数组的定义和初始化 矩阵的基本运算:加法、减法、乘法、
转置
2024/1/24
二维数组的基本操作:赋值、访问、遍 历 特殊矩阵的压缩存储与处理
14
字符串处理函数库介绍
01
字符串的输入/
2024/1/24
02
字符串的常用操作:连接、 比较、复制、替换等
03
字符串处理函数库中的常用 函数及其功能
2024/1/24
4
C语言在算法与数据结构中的重要性
2024/1/24
底层语言,性能优越
C语言作为底层语言,能够直接操作内存和硬件,具有高 效、灵活和可移植性等优点,适合用于实现各种复杂的数 据结构和算法。
广泛应用,基础扎实
C语言在操作系统、编译器、嵌入式系统等领域有着广泛 应用,掌握C语言有助于理解计算机底层原理和系统级编 程。
的解决方案。
文件读写错误问题
分析文件读写过程中可能出现的错误 情况,如读写越界、数据类型不匹配 等,并提供相应的处理方法。
文件关闭不及时问题
强调文件关闭的重要性,分析文件关 闭不及时可能导致的后果,并提供相 应的处理措施。
31
THANKS
2024/1/24
32
指针变量
定义指针变量、初始化指针变量、赋值与取值 操作。
2024/1/24
空指针与野指针
了解空指针与野指针的概念及危害,避免在编程中出现此类错误。
18
动态内存分配与管理
动态内存分配
使用malloc、calloc等函数在堆区动态分配 内存空间。
内存释放
使用free函数释放已分配的内存空间,防止 内存泄漏。
推动计算机学科发展
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单项选择题
1.在线性表的下列存储结构中,读取元素花费的时间最少的是
A.单链表
B. 双向链表
C.循环链表
D.顺序表
说明:顺序表总从链表访问快,因为顺序表元素都是按顺序排列在一起的。

而链表的元素是分散的,要访问它的某一个元素,必须先访问它前面的元素。

2.顺序表是线性表的
A.链式存储结构
B. 顺序存储结构
C. 索引存储结构
D.散列存储结构
说明:顺序存储指在内存中是一个连续的整块,这是定义,没啥说的。

3. 以下关于线性表的说法不正确的是( )。

A、线性表中的数据元素可以是数字、字符、记录等不同类型。

B、线性表中包含的数据元素个数不是任意的。

C、线性表根据存储结构分可以有顺序表、链表、动态表
D、存在这样的线性表:表中各结点都没有直接前趋和直接后继
说明:A,我认为可以是任何类型(暂时没想出反例)
B,这句话不太好理解,估计原题的意思是为了说明:线性表是能得到确切的元素个数。

C,线性表只包括顺序表和链表。

而动态表,没听说过这种说法。

D,线性表为空,好像就符合题意。

4.在顺序表中,只要知道( ),就可在相同时间内求出任一结点的存储地址。

A) 基地址 B) 结点大小 C) 向量大小 D)基地址和结点大小
说明:这里任意结点是指给出这个结点的索引(index),则其地址为:base + index * sizeof(node),这里base为基地址,sizeof(node)为结点大小,假设index从0开始计数(C/C++都是从0开始,如果其它语言从1开始,只要将index-1代替index 就可以了)
5.在等概率情况下,顺序表的插入操作要移动( )结点。

A) 全部B) 一半 C) 三分之一 D) 四分之一
说明:插入和删除操作,平均约要移动全部元素的1/2,在P25,有推导公式,记住结果就行了。

6.在( )运算中,使用顺序表比链表好。

A) 插入 B) 删除C) 根据序号查找 D) 根据元素值查找
说明:插入、删除操作都是链表快。

根据元素值查找,都是要遍历每个元素,进行比对,直到找到为止,两者效率应该相等。

根据序号查找,也就是根据索引index,顺序表的访问时间为常量,比链表要快,这与第4题是同一个知识点。

7.在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是( )。

A) O(1) B) O(n) C) O(n^2) D) O(log2n)
说明:插入前要遍历之前的每一个元素,直到找到位置为止,这个定位过程,都是O(n)
8.( )适合作为经常在首尾两端操作线性表的存储结构。

A) 顺序表 B) 单链表 C) 循环链表D) 双向链表
说明:常用操作无非包括插入、删除、读取三种方式。

顺序表的插入效率太低,不予考虑。

对于BCD三种链表(循环链表没说是双向的,我们这里只认为是普通方式,即单向循环)。

对首端的操作差不多。

但对尾端就不一样了。

比如要删除尾结点t ,则必须先找到它的前一个结点s。

前两者,只有遍历整个链表,才能找到s。

而在双向链表中,只要用s = t->prior就可以表示它的前一个结点了。

9.非空的循环单链表head的尾节点(由r所指向)满足
A) r->next=NULL B) r=NULL C) r->next=head D) r=head
说明:这是定义,最后一个结点的下一结点为头结点。

10.设线性表(a1,a2,a3···a n)按顺序存储,且每个元素占有m个存储单元,则元素a i的地址为
A LOC(a1) + i×m ,其中LOC(a1)表示元素a1的地址
B LOC(a1) + (i-1)×m,
C LOC(a1) + (i-2)×m
D 元素a i的地址无法计算
说明:见第4题,这里从1开始,所以要减去1
11.线性表若采用链式存储结构时,要求内存中可用存储单元的地址
A) 必须是连续的 B) 部分地址必须是连续的
C) 一定是不连续的D) 连续或不连续都可以
说明:其每个结点的地址,都是malloc()出来的,这是系统调用,可能连
续也可能不连续,不过一般情况下,都是不连续的。

12. 下列图1单链表执行R->data=P->next->data语句后,P->next->data值为:
A. 2
B. 5
C.7
D. 3
图1
说明:只是将P->next->data赋值给别人了,自己没变化。

13.在一个单链表中,若P所指结点不是最后结点,在P之后插入S所指结点,则执行:
A.S→next=P;P→next=S
B.S→next=P→next;P→next=S
C.S→next=P→next; P=S
D.P→next=S;S→next=P
说明:链表插入的标准操作。

要注意的是,这两步别写反了,否则链就断开
了。

14.单链表表示的整数数列如下: 值P→next→next->data为:
A. 19
B. 47
C. 64
D. 93
说明:P→next就是指向64那个结点,P→next→next就是指向93那个结点,其data自然就是93了
15. 在( )链表中,不能从任一结点出发访问到表中的所有结点的是:
A) 单链表 B) 单向循环链表 C) 双向循环链表 D) 循环链表
说明:循环链表和双链表都行,只有单链表不行。

16、在双向循环链表的*p结点之后插入*s结点的操作是:()
A)p->next=s; s->prior=p; p->next->prior=s; s->next=p->next
B)p->next=s; p->next->prior=s; s->prior=p; s->next=p->next
C)s->prior=p; s->next=p->next; p->next=s; p->next->prior=s;
D)s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;。

相关文档
最新文档