华工平时作业数据结构第一次作业
华工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华工数据结构作业一、程序阅读填空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华工-数据库平时作业题
数据库平时作业第一章数据库系统引论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. 数据的逻辑结构与数据元素本身的内容和形式无关。
(X)2. 线性表的逻辑顺序与物理顺序总是一致的。
(√)3. 若有一个叶子结点是二叉树中某个子树的前序遍历结果序列的最后一个结点,则它一定是该子树的中序遍历结果序列的最后一个结点。
(X)4. 对于同一组待输入的关键码集合,虽然各关键码的输入次序不同,但得到的二叉搜索树都是相同的。
(√)5. 最优二叉搜索树的任何子树都是最优二叉搜索树。
(√)6. 在二叉搜索树上插入新结点时,不必移动其它结点,仅需改动某个结点的指针,使它由空变为非空即可。
(√)7. 有n(n≥1)个顶点的有向强连通图最少有n条边。
(X)8. 连通分量是无向图中的极小连通子图。
(X)9. 二叉树中任何一个结点的度都是2。
(X)10. 单链表从任何一个结点出发,都能访问到所有结点。
二、单选题1 向一个有127个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动()个元素。
A.8 B. 63.5 C. 63 D. 72 设有一个二维数组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. 04 下面程序的时间复杂度为(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)进行。
数据结构形成性考核册第1次作业参考答案
《数据结构》形成性考核册第1次作业参考答案第一章绪论一、填空题1、数据操作2、集合结构线性结构树型结构图形结构3、引用类型4、1:1 1:n n:m5、不对6、多个7、O(m*n)8、时间复杂度空间复杂度9、顺序链接索引散列10、O(n2)11、O(n)12、O(n)O(m*n)二、选择题1~8:DBABADDD三、应用题(1)功能:判断n是否是一个素数,若是则返回数值1,否则返回0。
时间复杂度:O(n)。
(2)功能:计算S=1!+2!+…+n!的值。
时间复杂度:O(n)。
(3)功能:计算S=1!+2!+…+n!的值。
时间复杂度:O(n2)。
(4)求出满足不等式1+2+…+i≥n的最小i值。
O(n)。
第二章线性表四、填空题1、A[P-1]2、1083、前驱后继4、最后一个表头5、p->next=q->nextq->next=p6、HL->next=NULLHL->next=HL7、P->next8、Q->next9、P->next s10、从前向后前移n-i11、O(1)O(n)12、(n+1)/213、O(n)O(1)14、A[P].next15、a[j].next=a[i].nexta[i].next=j16、数据值指针五、选择题1~5:BDDBC六、应用题1、(1)、(79,62,34,57,26,48)(2)、(26,34,48,57,62,79)(3)、(48,56,57,62,79,34)(4)、(56,57,79,34)(5)、(26,34,39,48,57,62)2、(1)将类型为List的线性表L中第i个元素移至表尾位置的算法,L中的元素类型为ElemType,假定不需要对i的值进行有效性检查。
void move (List& L, int i){ElemType x=L.list[ i-1];for(int j=i; j<L.size; j++)L.list[ j-1]=L.list[ j ];L.list[L.size-1]=x;}·将线性表L中的第i个元素移入表头的算法与上类似。
数据结构第1章作业参考答案
第一章概述一、单项选择题1.数据结构是(C )。
A. 一种数据类型B. 数据的存储结构C. 相互之间存在一种或多种特定关系的数据元素的集合D. 一组性质相同的数据元素的集合2.数据元素及其关系在计算机存储器内的表示,称为数据的(D )。
A. 线性结构B. 非线性结构C. 逻辑结构D. 存储结构3.在数据结构中,数据的逻辑结构可以分成(C )。
A. 内部结构和外部结构B. 紧凑结构和非紧揍结构C. 线性结构和非线性结构D. 动态结构和静态结构4.计算机算法指的是(C )。
A. 计算方法B. 排序方法C. 解决问题的步骤序列D. 调度方法5.一个算法是(c )。
A. 程序B. 要满足五个基本特性C. 具体问题求解步骤的描述D. A和C6.算法必须具备(B)这3个特性。
A. 可执行性、可移植性、可扩充性B. 可行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性7.下面关于算法的叙述中错误的是(A )。
A. 一个算法应有一个或多个输入B. 算法最终必须由计算机程序实现C. 为解决某问题的算法同为该问题编写的程序含义是相同的D. 算法中的每条指令都必须有明确的含义8.若一个算法的时间复杂度用T(n)表示,其中n的含义是( C )。
A. 循环层数B. 语句条数C. 问题规模D. 函数数量9.下面说法正确的是(A)。
A. 健壮的算法不会因非法的数据输入而出现莫名其妙的状态B. 程序一定是算法C. 算法的时间复杂度只依赖于问题的规模D. 算法的优劣与算法描述语言无关,但与所用计算机有关D. 一组性质相同的数据元素的集合10.算法与程序的主要区别在于算法的( B )A.可行性 B.有穷性 C.确定性 D.有输入输出11.算法分析的两个主要方面是( A )。
A.空间复杂性和时间复杂性 B.正确性和简明性C.可读性和文档性 D.数据复杂性和程度复杂性12.以下数据结构中哪一个是非线性结构?( D )A. 队列B. 栈C. 线性表D. 二叉树13.以下数据结构中哪一个是线性结构?( A )A. 队列B.二叉树C. 图D. 集合二、判断题1.数据的逻辑结构是指数据的各数据项之间的逻辑关系。
管理信息系统·第一次-平时作业2021华工网络教育答案
管理信息系统第一次平时作业(共两次)2020-2021(下学期),2021.3.4作业先在word或者文本文档做好,然后在网上黏贴上去,提交前注意预览,不要显示不全或者看不到内容。
因为要网上查重,所以作业不要给别人复制,导致查重比率高,成绩不及格。
一、简答题(每题8分,共80分)1、MRPII 的基本思想和特点是什么?答:MRPII的基本思想是:基于企业经营目标制定生产计划,围绕物料转化组织制造资,实现按需要按时进行生产。
具体地说,是将企业产品中的各种物料分为独立需求物料和相关需求物料,并按时间段确定不同时期的物料需求,从而解决库存物料订货与组织生产问题;按照基于产品结构的物料需求组织生产,根据产品完工日期和产品结构规定生产计划;根据产品结构的层次从属关系,以产品零件为计划对象,以完工日期为计划基准倒排计划,按各种零件与部件的生产周期反推出它们的生产与投入时间和数量,按提前期长短区别各种物料下达定单的优先级,从而保证在生产需要时所有物料都能配套齐备,不需要时不要过早积压,达到减少库存量和占用资金的目的。
从一定意义上讲,MRPII 系统实现了物流、信息流与资金流在企业管理方面的集成,并能够有效地对企业各种有限制造资进行周密计划,合理利用,提高企业的竞争力。
2、简述系统分解的目的和原则。
答:分解的目的:面对一个复杂而又庞大的系统,我们无法通过一张图表就把系统所有元素之间的关系描述清楚,这时就要将系统按一定的原则分解成若干个子系统。
分解后的每个子系统,相对于总系统而言,其功能和结构的复杂程度都大大降低。
对于较复杂的子系统,我们还可以对其进一步分解,直至达到要求为止。
3、试述信息处理的内容和现代企业对信息处理的要求。
答:在各行业中,由于他们的业务系统是各种各样的,所以建立的信息系统也是各种各样的。
但他们都具有相同的基本功能,信息处理的内容可以概括为:数据的收集、数据的输入和储存、数据的加工处理、数据的输出和传递、数据的应用等5各方面。
数据结构(含课程设计)·平时作业2020春华南理工大学网络教育答案
数据结构平时作业1.简述单链表设置头结点的主要作用。
答:设置头结点是为了保证处理第一个节点和后面的节点的时候设计的算法相同,实现程序的高效性2. 简述线性表的顺序和链式两种存储结构各自的主要特点。
答:顺序存储结构的主要特点是:(1)结点中只有自身的信息域,没有关联信息域。
因此,顺序存储结构的存储密度大、存储空间利用率高。
更多作业加威(yaoyao9894)(2)通过计算地址直接访问任何数据元素,即可以随机访问。
(3)插入和删除操作会引起大量元素的移动。
链式存储结构的主要特点是:(1)结点除自身的信息域外,还有表示关联信息的指针域。
因此,链式存储结构的存储密度小、存储空间利用率低。
(2)在逻辑上相邻的结点在物理上不必相邻,因此,不可以随机存取,只能顺序存取。
(3)插入和删除操作方便灵活,不必移动结点只需修改结点中的指针域即可。
3. 说明在线性表的链式存储结构中,试述头结点,首元结点,头指针这三个概念的区别.答:(1)头结点:是为了方便操作链表而附设的,头结点数据域通常用来保存跟链表有关的信息,比如链表的长度;首元结点:就是链表里“正式”的第一个结点,即链表的开始结点;头指针:头指针是指向链表的基地址。
如果链表存在头结点则头指针就是指向头结点的地址,反之指向首元结点的地址。
(2)头结点、首元结点、头指针区别为:性质不同、目的不同、存在情况不同。
4. 设计一个算法,将元素x插入到一个有序(从小到大排序)顺序表的适当位置上,并保持有序性。
答:#include<stdio.h>2 #include<stdlib.h>34 #define LIST_INIT_SIZE 1005 #define LISTINCREMENT 106 typedef struct7 {8 int *elem;//存储空间基址9 int length ;10 int listsize;11 }SqList;1213 void InitList(SqList *L)14 {15 L->elem = (int *)malloc(LIST_INIT_SIZE*sizeof(int));//创建一个空列表16 L->length = 0;//空表长度为017 L->listsize =LIST_INIT_SIZE;//初始存储容量1819 }2021 void InputData(SqList *L)22 {2324 int n;25 int *p;26 p = L->elem;27 printf("请输入列表元素个数:");28 scanf("%d",&n);29 /*进行判断,是否超过列表长度*/30 if(n>L->listsize)//超过存储容量,再分配空间31 {32 L->elem = (int*)realloc(L->elem,(L->listsize+LISTINCREMENT)*sizeof(int));//再分配空间33 L->listsize +=(n+LISTINCREMENT);34 while(n!=0)35 {36 scanf("%d",p);37 p++;38 n--;39 L->length++;40 }41 }42 else43 {4445 while(n!=0)46 {47 scanf("%d",p);48 p++;49 n--;50 L->length++;51 }52 }53 }5455 void DisplayList(SqList *L)//显示顺序列表5657 {58。
华东理工大学2020年春季数据结构(本)网上作业1
华东理工大学2020年春季数据结构(本)网上作业1华东理工大学2020年春季数据结构(本)网上作业1一、单选题1.(5分)设有1000个无序的元素,希望用最快的速度挑选出其中前10个最大的元素,最好采用()排序法。
A.冒泡排序B.快速排序C.堆排序基数排序纠错得分:5收起解析答案C解析2.(5分)具有n个顶点的有向图最多有()条边。
A.nB.n(n-1)C.n(n+1)D.n2纠错得分:5收起解析答案B解析3.(5分)在数据结构中,从逻辑上可以把数据结构分成()。
A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构纠错得分:5收起解析答案C解析4.(5分)设矩阵A是一个对称矩阵,为了节省存储,将其下三角部分(如右图所示)按行序存放在一维数组B[ 1, n(n-1)/2 ]中,对下三角部分中任一元素ai,j(i≤j), 在一维数组B 中下标k的值是:( )。
A.i(i-1)/2+j-1B.i(i-1)/2+jC.i(i+1)/2+j-1D.i(i+1)/2+j纠错得分:0收起解析答案A解析5.(5分)设有100个元素,用折半查找法进行查找时,最大比较次数为()。
A.25B.50C.10D.7纠错得分:5收起解析答案D解析6.(5分)在n个结点的顺序表中,算法的时间复杂度是O(1)的操作是()。
A.访问第i个结点(1≤i≤n)和求第i个结点的直接前驱(2≤i≤n)B.在第i个结点后插入一个新结点(1≤i≤n)C.删除第i个结点(1≤i≤n)D.将n个结点从小到大排序纠错得分:5收起解析答案A解析7.(5分)如果二叉树中某结点p->rtag=1,则在对该二叉树按照某种次序进行线索化时,该指针域指向该结点的()。
A.左孩子B.右孩子C.遍历前驱D.遍历后继纠错得分:5收起解析答案D解析8.(5分)设目标T=”abccdcdccbaa”,模式P=“cdcc”,则第( )次匹配成功。
数据结构(含课程设计)·平时作业2020秋华南理工大学
1.评价一个好的算法,应该从哪几方面来考虑的?
从四个方面考虑:
1.算法的正确性
2.算法的易读性
3.算法的健壮性
4.算法的时空效率
2. 简述线性表的顺序和链式两种存储结构各自的主要特点。
●顺序储存结构:存储单元地址连续的,元素与元素之间是有相邻的,是有连续顺序的,
增删操作需要大量移动元素,由于地址连续,因此长度是固定的,因此有可能会导致部分空间长期未使用。
●链式储存结构:存储单元地址是随机的,元素与元素之间可以是相邻也可以不相邻,每
个元素只知道它的上一个元素和下一个元素,增删时,不需要大量移动元素。
3. 有一个有序表为{1,3,9,12,32,41,45,62,75,77,82,95,99},如果采用折半查找法查找关键字为82的元素时,请分析其比较次数和每次进行比较的元素。
第一次查询,取有序表下标中数的元素与目标值进行比较,如果中间值比目标值大,则以中间值的下标为末端,取0到末端的中间值作为新的中间值,进行比对,同理,如果目标值大于中间值,则以中间值为起点到末端再取新的中间值作为中间值进行比对,直到
起点=中值=末端,如果还找不到,则找不到,如果等于目标值则找到了。
4. 有5 个元素,其入栈次序为:A,B,C,D,E,在各种可能的出栈次序中,以元素C,D最先出栈(即C第一个且D第二个出栈)的次序有哪几个?
CDBAE,CDBEA,CDEBA
5. 一棵二叉树的先序遍历序列为ABCDEF,中序遍历序列为CBAEDF,则后序遍历序列为什么?
CBEFDA
6. 将整数序列(4,5,7,2,1,3,6)中的元素依次插入到一棵空的二叉排序树中,试构造相应的二叉排序树,要求用图形给出构造过程。
数据结构第一次作业题及答案.doc
第1次作业一、单项选择题(本大题共60分,共20小题,每小题3分)1.在长度为n的顺序表求最小值的时间复杂度为()。
A.0(1)B.0 (n)C.O (n2)D.O (logn)2.顺序表中数据元索的存取方式是()oA.顺序存取B.链式存取C.随机存取D.散列存取3.对于一个具有n个结点的单链表,,在给定值为x的结点后插入一个新结点的平均时间复杂度为()。
A.0(0)B.0(1)C.O(n)D.0(n2)4.在稀疏矩阵的带行指针向量的链接存储中,每个行单链表中的结点都具有和同的()。
A.行号B.列号C.元素值D.地址5.数组A [0.. 5] [0.. 5]的每个元素占5个字节,将其以列为主序存储在起始地址为1000的内存单元中,则元索A [5] [5]的地址是( )。
A.1175B.1180C.1205D.12106.下而程序段的时间复杂度是()。
i = 0; while (i<=n) i二i * 3;A.0 (3n)B.0(log3n)C.0 (n3)D.0(n2)7.假设顺序表中第一个数据元索的存储地址是1000,每个元索占用4个字节,则第7个元索的存储地址是()。
A.1024C.1004D.10078・设栈S和队列Q的初始状态为空,元素el, e2, e3, e4, e5和e6依次通过栈S, —个元素出栈后即进队列Q,若6个元素出队的序列是e2, e4,e3, e6, e5, el则栈S的容量至少应该是()。
A.B.4C.3D.29.判断带头结点的循环单链表L屮只冇一个结点的条件是()。
A.L二二NULLB.L->next->next==LD.L->next==NULL10.下而关于算法说法错误的是()。
A.算法最终必须rti计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C.算法的可行性是指指令不能有二义性D.以上几个都是错谋的11.用单链表表示的链队列中,队头在链表的()位置。
数据结构(含课程设计)·平时作业2020春华南理工大学网络教育答案
平时作业:1.简述单链表设置头结点的主要作用。
答:1、防止单链表是空的而设的。
当链表为空的时候,带头结点的头指针就指向头结点,如果当链表为空的时候,头结点的指针域的数值为NULL。
2、为了方便单链表的特殊操作,插入在表头或者删除第一个结点。
这样就保持了单链表操作的统一性。
3、单链表加上头结点之后,无论单链表是否为空,头指针始终指向头结点,因此空表和非空表的处理统一,方便了单链表的操作,也减少了程序的复杂性和出现bug的机会。
4、对单链表的多数操作应明确对哪个结点以及该结点的前驱。
不带头结点的链表对首元结点、中间结点分别处理等;而带头结点的链表因为有头结点,首元结点、中间结点的操作相同,从而减少分支,使算法变得简单,流程清晰。
2. 简述线性表的顺序和链式两种存储结构各自的主要特点。
答:线性表的两种存储结构分别是顺序存储结构和链式存储结枃。
顺序存储结构的主要特点如下:①数据元素中只有自身的数据域,没有关联指针域。
因此,顺序存储结构的存储密度较大。
②顺序存储结构需要分配一整块比较大存储空间,所以存储空间利用率较低。
③逻辑上相邻的两个元素在物理上也是相邻的,通过元素的逻辑序号可以直接其元素值,即具有随机存取特性④插入和删除操作会引起大量元素的移动。
链式存储结构的主要特点如下①数据结点中除自身的数据域,还有表示逻辑关系的指针域。
因此,链式存储结构比顺序存储结构的存储密度小。
②链式存储结构的每个结点是单独分配的,每个结点的存储空间相对较小,所以存储空间利用率较高。
③在逻辑上相邻的结点在物理上不一定相邻,因此不具有随机存取特性。
④插入和刚除操作方便灵活,不必移动结点,只需修改结点中的指针域即可3. 说明在线性表的链式存储结构中,试述头结点,首元结点,头指针这三个概念的区别.答:在线性表的链式存储结构中,头指针指链表的指针,若链表有头结点则是链表的头结点的指针,头指针具有标识作用,故常用头指针冠以链表的名字。
头结点是为了操作的统一、方便而设立的,放在第一元素结点之前,其数据域一般无意义(也可存放链表的长度、用做监视哨等),有头结点后,对在第一元素结点前插入结点和删除第一结点,其操作与对其它结点的操作统一了。
华东理工大学数据结构(新)作业及期末复习题
一、判断(共计40分,每题2.5分)1、线性表中的所有元素都有一个前驱元素和后继元素。
()A. 正确B. 错误参考答案:【B】2、入栈操作和入队列操作在链式存储结构上实现时不需要考虑栈溢出的情况。
( )A. 正确B. 错误参考答案:【A】3、不论线性表采用顺序存储结构还是链式存储结构,删除值为X的结点的时间复杂度均为O(n)。
()A. 正确B. 错误参考答案:【A】4、若一个叶子结点是某二叉树的中序遍历序列的最后一个结点,则它必是该二叉树的先序遍历序列中的最后一个结点。
( )A. 正确B. 错误参考答案:【A】5、如果某个有向图的邻接表中第i条单链表为空,则第i个顶点的出度为零。
()A. 正确B. 错误参考答案:【A】6、图的深度优先遍历算法中需要设置一个标志数组,以便区分图中的每个顶点是否被访问过。
()A. 正确B. 错误参考答案:【A】7、不论是入队列操作还是入栈操作,在顺序存储结构上都需要考虑“溢出”情况。
()A. 正确B. 错误参考答案:【A】8、哈夫曼树中没有度数为1的结点。
()A. 正确B. 错误参考答案:【A】9、冒泡排序在初始关键字序列为逆序的情况下执行的交换次数最多。
()A. 正确B. 错误参考答案:【A】10、调用一次深度优先遍历可以访问到图中的所有顶点。
()A. 正确B. 错误参考答案:【B】11、设一棵树T可以转化成二叉树BT,则二叉树BT中一定没有右子树。
()A. 正确B. 错误参考答案:【A】12、设一棵二叉树的先序序列和后序序列,则能够唯一确定出该二叉树的形状。
()A. 正确B. 错误参考答案:【B】13、带权无向图的最小生成树是唯一的。
()A. 正确B. 错误参考答案:【B】14、先序遍历一棵二叉排序树得到的结点序列不一定是有序的序列。
()A. 正确B. 错误参考答案:【A】15、子串“ABC”在主串“AABCABCD”中的位置为2。
( )A. 正确B. 错误参考答案:【A】16、对链表进行插入和删除操作时不必移动链表中结点。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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。