华工平时作业数据结构第一次作业

合集下载

华工2019-2020学年第一学期机械制造技术基础-平时作业

华工2019-2020学年第一学期机械制造技术基础-平时作业

2019-2020学年第一学期机械制造技术基础作业1、切削用量三要素包含哪些请分别解释它们的定义,并说明如何计算。

(4分)答:切削用量三要素:切削速度Vc、进给量f、背吃刀量ap切削速度Vc:主运动的速度,大多数切削加工的主运动采用回转运动。

进给量f:进给速度Vf是单位时间的进给量,单位是mm/s (mm/min)。

进给量是工件或刀具每回转一周时两者沿进给运动方向的相对位移,单位是mm/r。

背吃刀量ap:对于车削和刨削加工来说,背吃刀量ap为工件上已加工表面和待加工表面的垂直距离,单位 mm。

2、刀具前角和主偏角对切削力有何影响切削力三个分力对工艺系统各有何影响(4分)答:1)刀具前角增大,切削力减小。

2)主偏角增大,切深抗力减小,而进给抗力增大。

3)主切削力是最大切削力,直接影响机床主电机功率选择、主轴强度和刚度设计以及刀具强度设计。

4)进给抗力直接影响机床进给系统的功率、强度和刚度的设计。

5)切深抗力是造成让刀和细长工件变形从而引起加工形状和尺寸误差的主要原因。

3、切削热是怎样产生它对切削加工有何影响(4分)答:切削加工过程中,切削功几乎全部转化为热能,将产生大量的热量,将这种产生于切削过程的热量称为切削热。

其来源主要有3种:(1)切屑变形所产生的热量,是切削热的主要来源。

(2)切屑与刀具前刀面之间的摩擦所产生的热量。

(3)零件与刀具后刀面之间的摩擦所产生的热量。

传入零件的切削热,使零件产生热变形,影响加工精度,特别是加工薄壁零件、细长零件和精密零件时,热变形的影响更大。

磨削淬火钢件时,磨削温度过高,往往使零件表面产生烧伤和裂纹,影响零件的耐磨性和使用寿命。

传入刀具的切削热,比例虽然不大,但由于刀具的体积小,热容量小,因而温度高,高速切削时切削切削温度可达1000度,加速了刀具的磨损。

4、分别说明切削速度和背吃刀量的改变对切削温度的影响说明高速钢刀具在低速、中速产生磨损的原因,硬质合金刀具在中速、高速时产生磨损的原因(4分)答:答:(1)切削速度v 的影响随着切削速度的提高,切削温度将显著上升。

数据结构平时作业

数据结构平时作业

《数据结构》作业1.请分别说出下列概念:(1)数据(2)数据元素解:数据:是能输入到计算机中并能被计算机程序处理的符号的总称搜索.数据元素:是数据的基本单位,它在计算机处理和程序设计中通常作为一个整体进行考虑和处理一个数据元素可由若干数据项组成.2.什么是数据的存储结构?解:数据的存储结构是指数据的逻辑结构在计算机中的表示,有两种不同的存储结构:顺序存储结构和链式存储结构。

3.选出所有合适的答案,栈结构实现的是(a)先出/后出(b)后进/先出(c)先来/先服务(d)先进/先出(e)后进后出解:b4.已知q是一个非空顺序队列,s是一个空顺序栈。

请用栈和队列的有关知识编写一个函数算法,使得q中的元素倒置。

解:1、依次将q中元素出队列,入栈s2、依次将s中元素出栈,入队列qwhile (!q.empty()){ s.push(q.pop());}while (!s.empty()){ q.push(s.pop());}5.选出所有合适的答案,队列结构实现的是(a)先出/后出(b)后进/先出(c)先来/先服务(d)先进/先出(e)后进后出解:c,d,e6.画出串str= ‘I am a student’的一种顺序存储结构和一种链式存储结构。

链式存储结构:7.对于如下图所示的二叉树,试分别写出其前序,中序,后序遍历的结果。

解:前序遍历:A,B,E,F,D,C,H中序遍历:E,B,F,A,C,D,H后序遍历:E,F,B,C,H,D,A8.对于给定的一组权值W ={1, 3, 7, 8, 14},建立哈夫曼树。

解:9.对于如下图所示的无向图,请画出:(1)邻接矩阵(2)邻接表解:1. R=2. A B E DF C H 33 8 19 3 14 11 4 71 32 6 13 34 25 652 3 3 2 210.对于如题9中所示的无向图,请画出其深度优先搜索和宽度优先搜索的生成树。

解:深度优先搜索:1-2-6-5-4-3宽度优先搜索:1-2-3-4-5-61 233 4 5 611.如果n个数存储在一个单链表中(每个结点中存一个数),写一个顺序查找的函数。

数据结构第一次作业及答案--线性表

数据结构第一次作业及答案--线性表

第一次作业------------线性表题目1、下列图1单链表执行R->data=P->next->data语句后,P->next->data值为A. 5B. 7C. 2D. 3题目2、在顺序表中,只要知道( ),就可在相同时间内求出任一结点的存储地址。

A. 向量大小B. 基地址和结点大小C. 结点大小D. 基地址题目3、非空的循环单链表head的尾节点(由r所指向)满足 ( )A. r->next=NULLB. r->next=headC. r=NULLD. r=head题目4、设线性表(a1,a2,a3···an)按顺序存储,且每个元素占有m个存储单元,则元素ai 的地址为A. LOC(a1) + i×m ,其中LOC(a1)表示元素a1的地址B. 元素ai的地址无法计算C. LOC(a1) + (i-1)×m,D. LOC(a1) + (i-2)×m题目5、在()运算中,使用顺序表比链表好。

A. 根据元素值查找B. 插入C. 根据序号查找D. 删除题目6、在一个单链表中,若P所指结点不是最后结点,在P之后插入S所指结点A. P→next=S;S→next=PB. S→next=P→next; P=SC. S→next=P→next;P→next=SD. S→next=P;P→next=S题目7、在双向循环链表的*p结点之后插入*s结点的操作是A. s->prior=p; s->next=p->next; p->next=s; p->next->prior=s;B. s->prior=p; s->next=p->next; p->next->prior=s; p->next=s;C. p->next=s; s->prior=p; p->next->prior=s; s->next=p->nextD. p->next=s; p->next->prior=s; s->prior=p; s->next=p->next题目8、单链表表示的整数数列如下图,值P->next->next->data为:A. 47B. 93C. 19D. 64题目9、在一个具有n个结点的有序单链表中插入一个新结点并仍然有序的时间复杂度是( )。

数据结构第一次作业答案.

数据结构第一次作业答案.

假设有两个按元素值递增次序排列的线性表,均以单链表形式存储。

请编写算法将这两个单链表归并为一个按元素值递增次序排列的单链表。

【解答】算法的基本设计思想:因为两链表已按元素值递增次序排列,将其合并是,均从第一个结点起进行比较,将小的结点链入链表中,同时后移链表工作指针。

该问题要求结果链表按元素值递减次序排列,故新链表的建立,应该采用头插法(也就是书本上讲的那种从链表中插入元素值的方法。

比较结束后,可能会有一个链非空,此时用头插法将剩下的结点依次插入新链表中即可。

算法实现如下: void MergeList(ListList &La,LinkList &Lb {LinkList r,pa=La->next,pb=Lb->next; //pa和pb分别是链表La 和//Lb的工作指针La->next=NULL;while(pa&&pb //当两链表均不为空时if(pa->data<=pb->data {r=pa->next; //将pa的后继结点暂存于rpa->next=La->next;La->next=pa; //将pa结点链于结果表中,同时逆//置(头插法pa=r; //恢复pa为当前待比较结点}else {r=pb->next; //将pb的后继结点暂存于rpb->next=La->next;La->next=pb; //将pb结点链于结果表中,同时逆置pb=r;}If(pa pb=pa; //通常情况下会剩下一个链表非空,处理剩//下的部分while(pb{r=pb->next;pb->next=La->next;La->next=pb;pb=r;}free(Lb;}选择题:1、D 2、B1、栈的特点是先进后出,由于进栈和出栈操作是可以穿插着进行的。

当第i个元素第一个出栈时,则i之前的元素可以依次排在i之后出栈,但剩余的元素可以在此时进栈并且也会排在i之前的元素出栈,所以第就j个出栈的元素是不确定的。

2017华工数据结构作业(已做)

2017华工数据结构作业(已做)

2017华工数据结构作业一、程序阅读填空1、在顺序表中第i 个位置插入新元素xtemplate <class Type> int SeqList<Type>::Insert (Type & x, int i){if (i<0||i>last+1||last==MaxSize1) return 0; //插入不成功else {last++;for( ________int j=MaxSize1________________;j>i;j)__________ _data[j+1]=data[j]_ _________________;data[i] = x;return 1; //插入成功}}1.直接选择排序得算法template <class Type> void SelectSort(datalist<Type> & list){ for(int i=0; i<list、CurrentSize1; i++)_______SelectExchange(list,i)_________________; }template <class Type> viod SelectExchange(datalist<Type> & list, const inti){int k = i;for(int j=i+1;j< list、CurrentSize;j++)if(list、Vector[j]、getKey<list、Vector[k]、getKey)___ k=j__________________;//当前具有最小关键码得对象if(k!=i) S[i], list、Vector[k]); //交换}3、删去链表中除表头结点外得所有其她结点template <class Type> void List<Type> :: MakeEmpty ( ) { ListNode<Type> *q;while (first→link!=NULL){____________q=first>link______________;_________fitst>link=q>link_________________;//将表头结点后第一个结点从链中摘下delete q; //释放它}last = first; //修改表尾指针}4、基于有序顺序表得折半搜索递归算法(Element为有序顺序表) template <class Type> int orderedList<Type> ::BinarySearch(const Type & x, const int low, const int high)const {int mid = 1;if ( low< = high ) {________mid=(low+high)/2__________________;if ( Element[mid]、getKey( ) < x )mid = BinarySearch (__________x,mid+1,high________________);else if ( Element[mid]、getKey( ) > x )mid = BinarySearch ( x, low, mid 1 );}return mid;}5、在顺序表中第i 个位置插入新元素x 。

数据结构第一阶段作业

数据结构第一阶段作业

数据结构第一阶段作业数据结构是计算机科学中非常重要的概念,包括各种不同的算法和数据结构,如数组,链表,栈,队列,树,图等。

数据结构对于程序设计的效率和正确性至关重要。

对于第一阶段作业,您可能需要选择一个或多个数据结构,并描述如何使用它们来解决某个问题或实现某种功能。

以下是一些可能的数据结构和它们的应用场景:1. 数组:数组是一种基本的数据结构,可以用于存储一组相同类型的对象。

数组可以在许多编程语言中实现,例如C,Java和Python。

数组通常使用数组声明或下标访问元素,例如int arr[3]或intarr[3][2]。

数组可以用来存储一系列事件或数据,例如股票价格或单词列表。

2. 链表:链表是一种通过节点之间链接来实现数据结构的数据类型。

每个节点包含一个值和一个指向下一个节点的指针。

链表可以使用数组或指向链表头的指针来实现。

链表可以用来实现许多应用程序,例如搜索和排序算法。

3. 栈和队列:栈和队列是另一种常用的数据结构,可以用来存储和检索一系列元素。

栈是一种后进先出的数据结构,而队列是一种先进先出的数据结构。

栈和队列都可以通过数组或指向链表头的指针来实现。

栈和队列通常用于实现一些常用的算法,例如搜索和排序算法。

4. 树和图:树和图是另一种常用的数据结构,可以用来存储具有层次结构的数据。

树和图都可以通过数组或节点指针来实现。

树和图有许多不同的实现,例如AVL树和B树。

树和图通常用于实现一些复杂的应用程序,例如搜索引擎或图形用户界面。

这些只是数据结构的一小部分,但它们足以帮助您理解如何使用它们来解决不同类型的问题。

希望这些信息能帮助您开始您的数据结构学习之旅。

华工---数据结构随堂练习

华工---数据结构随堂练习

华工---数据结构随堂练习1.(单选题) 计算机所处理的数据一般具备某种内在联系,这是指()。

A、数据和数据之间存在某种关系B.元素和元素之间存在某种关系C元素内部具有某种结构 D.数据项和数据项之间存在某种关系答题: A. B. C. D. (已提交)参考答案:B问题解析:2.(单选题) 在数据结构中,与所使用计算机无关的是数据的()结构.A.逻辑B.存储C.逻辑和存储D. 物理答题: A. B. C. D. (已提交)参考答案:A问题解析:3.(单选题) 数据结构在计算机中的表示称为数据的()A.存储结构B.抽象数据类型C.顺序结构D.逻辑结构答题: A. B. C. D. (已提交)参考答案:A问题解析:4.(单选题) 在计算机中存储数据时,通常不仅要存储各数据元素的值,还要存储().A.数据的处理方法B.数据元素的类型C.数据元素之间的关系D.数据的存储方法答题: A. B. C. D. (已提交)参考答案:C问题解析:5.(单选题) 在计算机的存储器中表示数据时,逻辑上相邻的两个元素对应的物理地址也是相邻的,这种存储结构称为()A.逻辑结构B.顺序存储结构C.链式存储结构D.以上都正确答题: A. B. C. D. (已提交)参考答案:B问题解析:6.(单选题) 当数据采用链式存储结构时,要求().A.每个结点占用一片连续的存储区域B.所有结点占用一片连续的存储区域C结点的最后一个数据域是指针类型D.每个结点有多少个后继就设多少个指针域答题: A. B. C. D. (已提交)参考答案:A问题解析:7.(单选题) 以下关于算法的说法正确的是().A.算法最终必须由计算机程序实现B.算法等同于程序C算法的可行性是指指令不能有二义性D.以上都是错误的答题: A. B. C. D. (已提交)参考答案:D问题解析:8.(单选题) 算法的时间复杂度与()有关.A问题规模 B.计算机硬件性能C编译程序质量 D.程序设计语言答题: A. B. C. D. (已提交)参考答案:A问题解析:9.(单选题) 算法的主要任务之一是分析()A算法是否具有较好的可读姓,B算法中是否存在语法错误,C算法的功能是否符合设计要求D.算法的执行时间和问题规模之间的关系答题: A. B. C. D. (已提交)参考答案:D问题解析:10.(单选题) 某算法的时间复杂度为O(),表明该算法的()A问题规模是B执行时间等于C.执行时间与成正比D.问题规模与成正比答题: A. B. C. D. (已提交)参考答案:C问题解析:1.(单选题) 线性表是具有n个()的有限序列.A.关系B字符C数据元素 D.数据项答题: A. B. C. D. (已提交)参考答案:C问题解析:2.(单选题) 以下关于线性表的叙述中正确的是()A.每个元素都有一个前趋元素和一个后继元素B线性表中至少有一个元素C.线性表中元素的排列次序必须是由小到大或由大到小D.除第一个和最后一个元素外,每个元素都有一个且仅有一个前趋元素和后继元素答题: A. B. C. D. (已提交)参考答案:D问题解析:3.(单选题) 以下关于线性表和有序表的叙述中正确的是()。

2018华工-数据库平时作业题

2018华工-数据库平时作业题

数据库平时作业第一章数据库系统引论1.不属于逻辑数据模型的是(A)A E-R模型B 关系模型C 网状模型D 层次模型2、用户看到的现实系统的、描述实际领域的情况的模型是(A)A E-R模型B 关系模型C 逻辑模型D 物理模型3、 MS SQL Server是(D)。

A. 数据库B. 数据库系统C. 数据处理系统D. 数据库管理系统4、下面没有反映数据库优点的是(A)。

A. 数据面向应用程序B. 数据冗余度低C. 数据独立性高D.数据共享性高5、表示数据库的概念模型一般使用(C)。

A. 用户活动图B. 数据流图C. E-R图D. 流程图6、数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)三者之间的关系是(A)。

A. DBS包括DB和DBMSB. DBMS包括DB和DBSC. DB包括DBMS和DBSD. DBS就是DB,也就是DBMS7、数据库系统包括数据库、数据库管理系统(DBMS)、数据库管理员(DBA)和各种应用四个部分。

8、用逻辑数据模型描述的模式有:外模式、概念模式或逻辑模式。

9、数据管理技术经历了人工管理、文件系统和数据库三个发展阶段。

10、概念模式是用逻辑数据模型对一个单位的数据的描述。

第二章数据模型1.不属于关系数据模型中的概念是( B)A .主键B 系C 关系D 属性2.有关系:R(A,B,C)PK=A S(D,A) PK=D,FK=A,参照于R的属性A。

关系R和S的元组如图1所示。

指出图1关系S中违反关系完整性规则的元组是(C)A (1,2)B (2,null)C (3,3)D (4,1)3.有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于(C)A 实体完整性约束B 引用完整性约束C 一般性完整性约束D 关键字完整性约束4. 在关系运算中,化费时间可能最长的运算是( C )。

A. 投影B. 选择C. 笛卡尔乘积D. 加5. 从关系中挑选满足条件的记录的运算称为(A)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1判断题
(对)1. 数据的逻辑结构与数据元素本身的内容和形式无关。

(错)2. 线性表的逻辑顺序与物理顺序总是一致的。

(对)3. 若有一个叶子结点是二叉树中某个子树的前序遍历结果序列的最后一个结点,则它一定是该子树的中序遍历结果序列的最后一个结点。

(错)4. 对于同一组待输入的关键码集合,虽然各关键码的输入次序不同,但得到的二叉搜索树都是相同的。

(对)5. 最优二叉搜索树的任何子树都是最优二叉搜索树。

(对)6. 在二叉搜索树上插入新结点时,不必移动其它结点,仅需改动某个结点的指针,使它由空变为非空即可。

(对)7. 有n(n≥1)个顶点的有向强连通图最少有n条边。

(错)8. 连通分量是无向图中的极小连通子图。

(错)9. 二叉树中任何一个结点的度都是2。

(错)10. 单链表从任何一个结点出发,都能访问到所有结点。

二、单选题
1 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动( B )个元素。

A.8 B. 63.5 C. 63 D. 7
2 设有一个二维数组A[m][n],假设A[0][0]存放位置在644(10),A[2][2]存放位置在676(10),每个元素占一个空间,则A[3][3]在( A )位置,(10)表明用10进数表示。

A.692(10) B. 626(10) C. 709(10) D. 724(10)
3 N个顶点的连通图至少有( A )条边。

A.N-1 B. N C. N+1 D. 0
4 下面程序的时间复杂度为( C )。

for(int i=0; i<m;i++)
for(int j=0; j<n;j++)
a[i][j]=i*j;
A.O(m2) B. O(n2) C. O(m*n) D. O(m+n)
5 设单链表中结点的结构为(data, link)。

已知指针q所指结点是指针p所指结点的直接前驱,若在*q与*p之间插入结点*s,则应执行下列哪一个操作( B )。

A.s->link=p->link; p->link =s; B. q->link=s; s->link =p;
C. p->link=s->link; s->link =q;
D. p->link=s; s->link =q;
6栈的插入和删除操作在( A )进行。

A.栈顶 B. 栈底 C. 任意位置 D. 指定位置
7 若让元素1,2,3依次进栈,则出栈次序不可能出现哪种情况( C )。

A.3,2,1 B. 2,1,3 C. 3,1,2 D. 1,3,2
8 广义表A(a),则表尾为( C )。

A.a B. (()) C. 空表 D. (a)
9 采用邻接表存储的图的深度优先遍历算法类似于二叉树的( B )。

A.中序遍历 B. 前序遍历 C. 后序遍历 D. 按层次遍历
10 每次从无序表中挑选出一个最小或最大元素,把它交换到有序表的一端,此种排序方法叫做( B )排序。

A.插入 B. 选择 C. 交换 D. 外排序
三、填空题
1. 算法是一个有穷的指令集,它为解决某一特定任务规定了一个运算序列。

它应具有输入、输
出、___确定性____________、有穷性和可执行性等特性。

2. 当问题的规模n趋向无穷大时,算法执行时间T(n)的数量级被称为算法的____时间复杂度__
_ ___。

3. 在一棵度为3的树中,度为2的结点个数是1,度为0的结点个数是6,则度为3的结点个数是
____2_______。

4. 当用长度为n的数组顺序存储一个栈时,若用top==n表示栈空,则表示栈满的条件为
______top=0______________。

5. 对序列(49,38,65,97,76,27,13,50)采用快速排序法进行排序,以序列的第一个元素为基准
元素得到的划分结果是_【13 27 38】_45【50 65 76 97】______________ _______。

6. 对于一棵具有n个结点的树,该树中所有结点的度数之和为____n-1_______________。

7. 请指出在顺序表{5、11、23、35、51、64、72、85、88、90、98}中,用折半查找关键码30
需做___5___________次关键码比较。

8. 若线性表采用顺序存储结构,每个元素占用4个存储单元,第一个元素的存储地址为100,则
第12个元素的存储地址是_________144_________。

9. 在一个长度为n 的顺序表中,向第i个元素(1≤ i≤ n+1)之前插入一个新元素时,需要
向后移动__n-i+1__________个元素。

10. 设有两个串p和q,求q在p中首次出现的位置的运算称作__模式匹配___________。

四、程序阅读填空
1. 在顺序表中第 i 个位置插入新元素 x
template <class Type> int SeqList<Type>::Insert (Type & x, int i){
if (i<0||i>last+1||last==MaxSize-1) return 0; //插入不成功
else {
last++;
for( ___int j=last_____________________;j>i;j--)
_____data[j]=data[j-1]_____________________;
data[i] = x;
return 1; //插入成功
}
}
2.直接选择排序的算法
template <class Type> void SelectSort(datalist<Type> & list)
{ for(int i=0; i<list.CurrentSize-1; i++) ________________________; }
template <class Type> viod SelectExchange(datalist<Type> & list, const int i){ int k = i;
for(int j=i+1;j< list.CurrentSize;j++)
if(list.Vector[j].getKey()<list.Vector[k].getKey())
___ _k=j_________________;//当前具有最小关键码的对象
if(k!=i) Swap(list.Vector[i], list.Vector[k]); //交换
}
五、简答题
1. 线性表可用顺序表或是链表存储,此两种存储表示各有哪些优缺点?
答:线性表可用顺序表或是链表存储,此两种存储表不各有哪些优缺点2
客:顺序存请表示是将数据元条存放于1个连续的在任全国中,实现顺序存取或(按下标存取。

它的行所效率高,行取速度关。

自它的3的大公经定义,在程序整个运行期回不生改变,因此,不易打充。

同时,由于在托入或别除时,为保持克有次序(没有规定元素进序),均而要移动半或近州半)元系,修改效平不占。

2. 设有一个输入数据的序列是{46,25,78, 62, 12, 37, 70, 29},试画出从空树起,逐个输入
各个数据而生成的二叉搜索树。

答: 46
/ /
25 78
/ /
12 37 62
/ /
29 70。

相关文档
最新文档