太原理工数据结构
- 格式:doc
- 大小:443.00 KB
- 文档页数:22
一、选择题1、二分搜索算法是利用( A )实现的算法。
A、分治策略B、动态规划法C、贪心法D、回溯法2、下列不是动态规划算法基本步骤的是( A ).A、找出最优解的性质B、构造最优解C、算出最优解D、定义最优解3、最大效益优先是( A )的搜索方式。
A、分支界限法B、动态规划法C、贪心法D、回溯法4。
回溯法解旅行售货员问题时的解空间树是( B ).A、子集树B、排列树C、深度优先生成树D、广度优先生成树5.下列算法中通常以自底向上的方式求解最优解的是( B ).A、备忘录法B、动态规划法C、贪心法D、回溯法6、衡量一个算法好坏的标准是(C ).A 运行速度快B 占用空间少C 时间复杂度低D 代码短7、以下不可以使用分治法求解的是(D )。
A 棋盘覆盖问题B 选择问题C 归并排序D 0/1背包问题8. 实现循环赛日程表利用的算法是( A ).A、分治策略B、动态规划法C、贪心法D、回溯法9.下面不是分支界限法搜索方式的是( D ).A、广度优先B、最小耗费优先C、最大效益优先D、深度优先10.下列算法中通常以深度优先方式系统搜索问题解的是( D ).A、备忘录法B、动态规划法C、贪心法D、回溯法11。
备忘录方法是那种算法的变形。
( B )A、分治法B、动态规划法C、贪心法D、回溯法12.最长公共子序列算法利用的算法是( B ).A、分支界限法B、动态规划法C、贪心法D、回溯法13.实现棋盘覆盖算法利用的算法是( A ).A、分治法B、动态规划法C、贪心法D、回溯法14。
下面是贪心算法的基本要素的是( C )。
A、重叠子问题B、构造最优解C、贪心选择性质D、定义最优解15。
回溯法的效率不依赖于下列哪些因素( D )A. 满足显约束的值的个数 B。
计算约束函数的时间C。
计算限界函数的时间 D. 确定解空间的时间16。
下面哪种函数是回溯法中为避免无效搜索采取的策略( B )A.递归函数 B.剪枝函数 C.随机数函数 D.搜索函数17。
2022年太原理工大学数据科学与大数据技术专业《计算机组成原理》科目期末试卷B(有答案)一、选择题1、采用八体并行低位交叉存储器,设每个体的存储容量为32K×16位,存储周期为400ns,下述说法中正确的是()。
A.在400ns内,存储器可向CPU提供2位二进制信息B.在l00ns内,每个体可向CPU提供27位二进制信息C.在400ns内,存储器可向CPU提供2位二进制信息D.在100ns内,每个体可向CPU提供2位二进制信息2、在一个容量为l28KB的SRAM存储器芯片上,按字长32位编址,其地址范围可从0000H到()。
A.3HB.7HC.7HD.3fH3、一个浮点数N可以用下式表示:N=mr me,其中,e=rc g;m:尾数的值,包括尾数采用的码制和数制:e:阶码的值,一般采用移码或补码,整数;Tm:尾数的基;re:阶码的基;p:尾数长度,这里的p不是指尾数的:进制位数,当ra=16时,每4个二进制位表示一位尾数;q:阶码长度,由于阶码的基通常为2,因此,在一般情况下,q就是阶码部分的二进制位数。
研究浮点数表示方式的主要目的是用尽量短的字长(主要是阶码字长q和尾数字长的和)实现尽可能大的表述范围和尽可能高的表数精度。
根据这一目的,上述6个参数中只有3个参数是浮点数表示方式要研究的对象,它们是()。
A.m、e、rmB. rm、e、rmC.re、p、qD. rm、p、q4、下列为8位移码机器数[x]移,当求[-x]移时,()将会发生溢出。
A.11111111B.00000000C.10000000D.011l1l115、为了表示无符号十进制整数,下列哪些是合法的8421BCD码?()I.01111001 Ⅱ.11010110 Ⅲ.00001100 Ⅳ.1000010lA.I、IⅡB.Ⅱ、ⅢC.I、ⅣD.I、Ⅱ、Ⅲ6、一次总线事务中,主设备只需给出一个首地址,从设备就能从首地址开始的若干连续单元读出或写入多个数据。
2022年太原理工大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、下述文件中适合于磁带存储的是()。
A.顺序文件B.索引文件C.哈希文件D.多关键字文件2、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储, a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为()。
A.13B.33C.18D.403、若线性表最常用的操作是存取第i个元素及其前驱和后继元素的值,为节省时间应采用的存储方式()。
A.单链表B.双向链表C.单循环链表D.顺序表4、已知有向图G=(V,E),其中V={V1,V2,V3,V4,V5,V6,V7}, E={<V1,V2>,<V1,V3>,<V1,V4>,<V2,V5>,<V3,V5>, <V3,V6>,<V4,V6>,<V5,V7>,<V6,V7>},G的拓扑序列是()。
A.V1,V3,V4,V6,V2,V5,V7B.V1,V3,V2,V6,V4,V5,V7C.V1,V3,V5,V2,V6,V7D.V1,V2,V5,V3,V4,V6,V75、向一个栈顶指针为h的带头结点的链栈中插入指针s所指的结点时,应执行()。
A.h->next=sB.s->next=hC.s->next=h;h->next=sD.s->next=h-next;h->next=s6、排序过程中,对尚未确定最终位置的所有元素进行一遍处理称为一趟排序。
下列排序方法中,每一趟排序结束时都至少能够确定一个元素最终位置的方法是()。
Ⅰ.简单选择排序Ⅱ.希尔排序Ⅲ.快速排序Ⅳ.堆排Ⅴ.二路归并排序A.仅Ⅰ、Ⅲ、Ⅳ B.仅Ⅰ、Ⅱ、Ⅲ C.仅Ⅱ、Ⅲ、Ⅳ D.仅Ⅲ、Ⅳ、Ⅴ7、下列叙述中,不符合m阶B树定义要求的是()。
本科实验报告课程名称:数据库系统概论实验项目:交互式SQL、数据完整性、用户鉴别与数据控制实验地点:致远楼B503专业班级:软件1229班学号:29学生姓名:***指导教师:***2014年3 月18 日一、实验目的和要求熟悉通过SQL 对数据库进行操作。
二、实验内容和原理1.在RDBMS 中建立一个学生-课程数据库,进行实验所要求的各种操作,所有的SQL 操作均在此建立的新库里进行。
2.根据以下要求认真进行实验,记录所有的实验用例及执行结果。
数据定义:基本表的创建、修改及删除;索引的创建和删除。
数据操作:完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询);完成各类更新操作(插入数据,修改数据,删除数据)。
视图的操作:视图的定义(创建和删除),查询,更新(注意更新的条件)。
三、主要仪器设备操作系统:Windows 7。
数据库管理系统:SQL Server2008。
四、操作方法与实验步骤实验数据记录实验结果(一)数据定义:一.基本表的操作1.建立基本表1)创建学生表Student,由以下属性组成:学号Sno(char 型,长度为9,主码),姓名Sname(char 型,长度为20,唯一),性别Ssex(char 型,长度为2),年龄(smallint),所在系(char 型,长度为20)。
create table Student(Sno char(9) primary key,Sname char(20) unique,Ssex char(2),Sage smallint,Sdept char(20));2)创建课程表Course,由以下属性组成:课程号Cno(char 型,主码,长度为4),课程名Cname(char 型,长度为40),先行课Cpno(char型,长度为4,外码),学分Ccredit(smallint)。
create table Course(Cno char(4) primary key,Cname char(40),Cpno char(4),Ccredit smallint);若设置Cpno 外码,插入数据时会提示违反外码约束。
本科实验报告课程名称:大型数据库系统实验项目:创建数据库和表实验地点:多学科楼4506 专业班级:软件工程0901 学号:200 学生姓名:指导教师:2012年 4 月17 日一、实验目的和要求1.了解数据库的结构以及一些基本概念。
2.了解表的结构特点。
3.了解Oracle 11g的基本数据类型。
4.学会使用DBCA创建数据库。
5.学会使用界面方式创建表。
6.学会使用SQL语句手工创建数据库。
7.学会使用SQL语句创建表。
二、实验内容和原理1.能够创建数据库的用户必须是系统管理员,或是被授权使用CREATEDATABASE语句的用户。
2.创建数据库必须要确定数据库名、所有者(即创建数据库的用户)、数据库大小、SGA分配和存储数据库的文件。
3.确定数据库包含哪些表以及所包含的各表的结构,还要了解Oracle11g的常用数据类型,以创建数据库的表。
4.创建企业管理的员工管理数据库YGGL,包含Employees(员工自然信息)表、Departments(部门信息)表和Salary(员工薪水情况)表。
各表的结构如下所示。
表T1.1 Employees表结构表T1.2 Departments表结构表T1.3 Salary表结构三、主要仪器设备Windows XP/7、oracle 10g/11g四、操作方法与实验步骤1.利用DBCA创建数据库1)数据库名称为YGGL,它的全局数据库名称为YGGL。
2)控制文件三个,存放路径为……………………,名称分别为CONTROL01.CR、CONTROL02.CR和CONTROL03.CR。
3)重做日志文件三个,大小为100MB,存放路径为:………………,名称分别为redo01.log、redo02.log和redo03.log。
4)创建临时表空间temp01.dpf。
5)数字字符集为ZHS16GBK,国家字符集为AL16UTF16。
6)数据块大小为4KB。
进入DBCA,根据其提示逐步完成数据库的创建工作。
2018 年硕士研究生招生自命题考试科目参照书科目参照书科目名称代码《高级英语》(1、 2)张汉熙主编,外语教课与研究第一版社211翻译硕士英语 .《新编简洁英语语言学教程》,戴炜栋、何兆熊主编,上国外教社213 翻译硕士日语 . 新编日语 1-4 册,上国外语教育第一版社,2008;日语综合教程5、6 册,上国外语教育第一版社,2008240 法语 . 《新世纪大学法语》(1、 2、 3 册)外研社,李志清主编241 德语.《新编大学德语》(1 2 3册)外研社,朱建华主编、、242 日语 . 《中日沟通标准日本语》(新版)(初级上、下册,中级上册)人民教育第一版社243 俄语.《俄语》(1 2 3册)外研社,黑龙江大学主编、、244 英语 . 不指定参照书,咨询学院337 工业设计概论(二)《工业设计概论》(第二版)机械工业第一版社,作者:程能林1.《学校体育学》(第二版)潘绍伟于可红主编,高等教育第一版社,2008年 6月346 体育综合2.《运训练学》田麦久主编,高等教育第一版社,2006年7月《适用翻译教程》增订本,冯庆华主编,上国外教社;357英语翻译基础《英汉翻译简洁教程》庄绎传编著,外语教课与研究第一版社359 日语翻译基础汉日翻译教程(重排版),苏琦,商务印书馆2008;日汉翻译教程,陶振孝,高等教育第一版社2007 448 汉语写作与百科知识中国文化读本,叶朗,外研社2008501 建筑设计建筑设计、城市设计、城市景观设计、室内设计类参照书502 历史建筑还原设计历史建筑设计类参照书;城市设计、建筑设计、室内设计类参照书505 艺术专业基础快题设计,各方向依据各自特色分别命题查核本方向的创作及艺术设计能力,要求考生自备颜料、制图尺等画具,考试时间为 5 小时506 设计基础各方向依据各自特色分别命题查核本方向的专业设计能力,要求考生自备颜料、制图尺等画具,考试时间为 5 小时1.《教育学》(第六版)王道俊,郭文安主编,人民教育第一版社(2009-05 第一版)610 专业综合基础2. 《运动生理学》(第二版)邓树勋,王健,乔德才主编,高等教育第一版社(2009-06 第一版)1. 《马克思主义基来源理概论》高等教育第一版社2013 版701 马克思主义基来源理2.《简洁马克思主义史》人民第一版社,庄福龄主编,2004 年1.《高级英语》(1、 2)张汉熙主编,外语教课与研究第一版社702英语综合2.《新编语言学教程》刘润清、文旭主编,北京外研社1. 田自秉:《中国工艺美术史》,北京,2012 年 08 年 01 日,东方第一版社2. 张夫也:《外国工艺美术史》,2003 年 09 月 01 日,中央编译第一版社703设计史论3.王受之:《世界现代设计史》(第 2 版), 2015 年 12 月 01 日,中国青年第一版社4.李砚祖:《艺术设计概论》,2013 年 04 月,湖北长江第一版社、湖北美术第一版社704 数学剖析《数学剖析》华东师大数学系编,高等教育第一版社(第三版)705 物理化学 A 《物理化学》傅献彩主编,高等教育第一版社706 建筑理论综合含中外建筑史、建筑知识综合708 一般物理《大学物理》第三版(上、下),王纪龙编,科学第一版社709 工业设计概论(一)《工业设计概论》(第二版)机械工业第一版社,作者:程能林美术领域:1.中央美术学院人文美术系外国史教研室:《外国美术简史》,北京,2014 年 10 月 01 日,中国青年第一版社;710 艺术史论2.中央美术学院美术史系,中国美术史教研室:《中国美术简史》,北京,2010 年 06 月 01 日,中国青年第一版社;3.彭吉象:《艺术学概论》(第 4 版),北京, 2015 年 05 月 01 日,北京大学第一版社;4.叶朗:《美学原理》,北京,2016 年 1 月,北京大学第一版社。
实验一线性表一.目的与要求本次实习的主要目的是为了使学生熟练掌握线性表的基本操作在顺序存储结构和链式存储结构上的实现,提高分析和解决问题的能力。
要求仔细阅读并理解下列例题,上机通过,并观察其结果,然后独立完成后面的实习题。
二.例题问题描述:用链表形式存储一个字符串,插入、删除某个字符,最后按正序、逆序两种方式输出字符串。
输入:初始字符串,插入位置,插入字符,删除字符。
输出:已建立链表(字符串),插入字符后链表,删除字符后链表,逆转后链表。
存储结构:采用链式存储结构算法的基本思想:建立链表当读入字符不是结束符时,给结点分配存储空间,写数据域,将新结点插到表尾;插入字符:根据读入的字符在链表中找插入位置,将新结点插入到该位置之前;删除字符:根据读入的删除字符在链表中找到被删结点后,将其从链表中删除;链表逆转:从链表的第一个结点开始对所有结点处理,将每个结点的前驱变为它的后继;打印链表:从链表的第一个结点开始,依次打印各[运行情况]Input a linktable(a string):abcde↙Build link is :abcdePlease input a char you want to insert after:b↙Please input a char you want to insert:c↙After p insert y,link is:abccdePlease input a char you want to delete:e↙after delete p,link is:abccdOpsite result is :dccba如图显示:实习题:问题描述:设顺序表A中的数据元素递增有序,试写一程序,将x插入到顺序表的适当位置上,使该表仍然有序。
输入:插入前的顺序表,插入的数,插入后的顺序表输出:插入前的顺序表,插入的数,插入后的顺序表存储结构:顺序表存储数据算法基本思想:其实这个题在学C语言时就已经写过了,这里采用顺序表来存储数据。
主要就是考虑插入的位置是不是在最后一个,如果不在最后一个,那么就要移动数据了,算法很简单就不再说了,这里的数据都看成是整型的。
源程序:#include<stdio.h>#include<stdlib.h>void Insert(int* p,int length,int n){int i,j;int flag=0;if(n>=p[length-1]){p[length]=n;flag=1;}else{for(i=length-2;i>=0;i--){if(n>=p[i]){for(j=length;j>=i+2;j--){p[j]=p[j-1]; }p[i+1]=n;flag=1;break;}}}if(flag==0){for(j=length;j>=1;j--){p[j]=p[j-1];}p[0]=n;}}int main(){int L[10]={2,5,8,11,14,17,20};int length=7;int i,x;printf("cha ru qian de shun xu biao wei :\n");for(i=0;i<length;i++){printf("%4d",L[i]);}printf("\nqing shu ru yao cha ru de zheng shu:\n");scanf("%d",&x);Insert(L,length,x);//插入xprintf("charu%dhoudeshunxubiaowei:\n",x);for(i=0;i<=length;i++){printf("%4d",L[i]);}printf("\n");system("pause");return 0;}运行情况:cha ru qian1 3 6 8 9 10 15cha ru de shu3cha ru hou1 3 3 6 8 9 10 15如图显示:程序的优缺点:本程序可以快速的做完实验的问题,并且看是简单很明了,插入的位置如果是最后一个,如果不在最后一个,那么就要移动数据了太原理工大学《数据结构》实验学院名称现代科技学院专业计算机班级07-2 实验成绩学生姓名张丁丁学号07100903 实验日期12.10 课程名称数据结构实验指导实验题目树实验室名称理工大学中区7层微机室指导教师签名:实验二树一.目的与要求熟悉树的各种表示方法和各种遍历方式,掌握有关算法的实现,了解树在计算机科学及其它工程技术中的应用。
二.例题[问题描述]任意给定一棵二叉树。
试设计一个程序,在计算机中构造该二叉树,并对它进行遍历。
[输入]一棵二叉树的结点若无子树,则可将其子树看作“.”,输入时,按照前序序列的顺序输入该结点的内容。
对下图,其输入序列为ABD..EH...CF.I..G..。
[输出]若为空二叉树,则输出:THIS IS A EMPTY BINARY TREE。
若二叉树不空,按后序序列输出,对上例,输出结果为:DHEBIFGCA。
[存储结构]采用二叉链表存储。
[算法的基本思想]采用递归方法建立和遍历二叉树。
首先建立二叉树的根结点,然后建立其左右子树,直到空子树为止。
后序遍历二叉树时,先遍历左子树,后遍历右子树,最后访问根结点。
运行情况:please input a tree:ABD..EH...CF.I..G..ABD..EH...CF.I..G..the result of post travese is:DHEBIFGCA如图显示:实习题问题描述:编写递归算法,计算二叉树中叶子结点的数目。
分析:这题主要是怎样计算叶子结点数目,其它的算法书上都有。
要注意叶子结点是指该结点既没有左孩子又没有右孩子,采用递归算法就很容易计算出其数目,详见源程序。
输入:按先序序列输入二叉树ABC..D..EF.G...输出:输出二叉树的个数为3存储结构:采用二叉链表存储。
源程序:}#include<stdio.h>#include<stdlib.h>#include<malloc.h>struct node{char info;struct node *llink,*rlink;};typedef struct node NODE;NODE *creat(){char x;NODE *p;scanf("%c",&x);printf("%c",x);if(x!='.'){p=(NODE*)malloc(sizeof(NODE));p->info=x;p->llink=creat();p->rlink=creat();}elsep=NULL;return p;}void countleaf(NODE*t,int &count){if(t){if((!t->llink)&&(!t->rlink))count++;countleaf(t->llink,count);countleaf(t->rlink,count);}}int main(){int e=0;NODE *T;printf("qing shu ru er cha shu ");T=creat();printf("\n");countleaf(T,e);printf("%d\n",e);system("PAUSE");}运行情况:an xian xu shu ru er cha shuABC..D..EF.G...chu ru er cha shu de ge shu 3如图显示:问题描述:编写递归算法,在二叉树中求位于先序序列中第K个位置的结点。
输入:按线序序列输入二叉树ABC..D..EF.G... 与K输出:按先序序列输出第K结点数C存储结构:采用二叉链表存储。
源程序:#include<stdio.h>#include<stdlib.h>#include<malloc.h>struct node{char info;struct node *llink,*rlink;};typedef struct node NODE;NODE *creat(){char x;NODE *p;scanf("%c",&x);printf("%c",x);if(x!='.'){p=(NODE*)malloc(sizeof(NODE));p->info=x;p->llink=creat();p->rlink=creat();}elsep=NULL;return p;}void run(NODE *t,int K){static int i=1;if(t){run(t->llink,K);run(t->rlink,K);if(i++==K)printf("%c",t->info);}}main(){NODE *T;int K;char e;printf("PLease input a tree:\n");T=creat();printf("\n");if(!T)printf("This is aempty binary tree.");else{printf("请输入序号");scanf("%d",&K);printf("The result of post travese is:\n");run(T,K);}printf("\n");system("PAUSE");}运行情况:an xian xu shu ru er cha shuABC..D..EF.G...shu ru K de zhi3xian xu xu lie di K jie dian shu C如图显示:程序优缺点:可以简单明了的运用,一目了然的看出。
但是必须要是先序序列输入才可以。
太原理工大学《数据结构》实验学院名称现代科技学院专业计算机班级07-2 实验成绩学生姓名张丁丁学号07100903 实验日期12.17 课程名称数据结构实验指导实验题目图实验室名称理工大学中区7层微机室指导教师签名:实验三图一.目的与要求熟悉图的存储结构,掌握有关算法的实现,了解图在计算机科学及其他工程技术中的应用。