西南交通大学02年数据结构/考研真题/考研试卷/笔记讲义/下载
西南交通大学2006年硕士研究生入学考试试卷
西南交通⼤学2006年硕⼠研究⽣⼊学考试试卷西南交通⼤学2006年硕⼠研究⽣⼊学考试试卷试题代码:412试题名称:程序设计及数据结构考⽣注意:1.本试题共6⼤题,共9页,考⽣请认真检查;2.请务必将答案写在答卷纸上,写在试卷上的答案⽆效。
题号⼀⼆三四五六七⼋九⼗总分得分签字⼀、填空题(本⼤题共20⼩题,每⼩题1分,共20分)1、若有定义:int a=2,b=2;则计算表达式a+=a*=b-=a之后,a的值是。
2、若有定义:inta[3]={3,13,56},*p=a,*q=a;则表达式:(*++p)+(++*q)的值是。
3、若有如下定义:int y=319,z=3;则下列表达式的值是:(’E’/y*1000) ; (z=2*3,z*5,z*8) ;4、若有宏定义:#define MYFUNC(x,y)(x>y?x:y)则MYFUNC(3,7)的值是。
5、在平⾯坐标系中,点A的坐标是(x1,y1),点B的坐标是(x2,y2),则表⽰A与B的距离的C 语⾔表达式是。
6、C语⾔中构造数据类型有:。
7、C语⾔存储字符串时,⽤特殊的字符表⽰字符串的结束。
8、定义C函数时,若函数没有返回值,则返回值类型应设为。
9、⽤数组名作为函数调⽤时的实参,实际上传送给形参的是。
10、以下程序运⾏后,输出结果是。
void main(void){ int i ,Sum;for(i=0;i<=100;i++){ Sum=0;Sum=Sum+i;}printf(“%d”,Sum);}11、数据结构中,处理数据的最⼩单位为。
a.数据b.数据项c.数据对象d.数据元素e.基本数据类型12、n个节点的⼆叉树最⼤深度为;最⼩深度为。
13、⼆叉排序树的查找时间复杂度为;最坏情形的查找⽐较次数为。
14、平衡⼆叉树是⼆叉树吗?(Yes or No)。
15、平衡⼆叉树左右⼦树深度之差的绝对值⼩于。
16、平衡⼆叉树的查找算法思想与折半查找算法思想⼀样吗?。
数据结构考研真题及其答案完整版
数据结构考研真题及其答案完整版数据结构是计算机科学与技术领域中的一门重要课程,也是计算机考研中必考的一门科目。
通过研究数据结构,可以帮助我们更好地理解和应用计算机算法,提高计算机程序的效率和性能。
为了帮助考生更好地备考数据结构,本文将分享一些数据结构考研真题及其答案,供考生参考。
一、选择题1. 下列关于栈的叙述中,错误的是()A. 栈是一种线性数据结构,具有后进先出(LIFO)的特点B. 栈可以用数组实现,也可以用链表实现C. 栈的插入和删除操作都是在同一端进行的D. 栈的插入和删除操作的时间复杂度都是O(1)答案:C解析:栈的插入操作叫做入栈,删除操作叫做出栈。
入栈和出栈操作都是在栈顶进行的,而不是同一端。
2. 假设要对n个整数关键字进行排序,以下排序算法中,平均时间复杂度最小的是()A. 冒泡排序B. 快速排序C. 归并排序D. 直接插入排序答案:C解析:归并排序的时间复杂度是O(nlogn),平均时间复杂度最小。
二、填空题1. 下列关于图的遍历顺序的说法中,正确的是:深度优先搜索访问的顺序是________,广度优先搜索访问的顺序是________。
答案:前序遍历,层次遍历解析:深度优先搜索即前序遍历,广度优先搜索即层次遍历。
2. 给定一个最小堆,若删除堆顶元素后,需要对堆进行调整,所采用的操作是________。
答案:下滤解析:删除堆顶元素后,将最后一个叶子节点放到堆顶,然后进行下滤操作。
三、简答题1. 请简要说明动态规划算法的基本思想和应用场景。
答:动态规划算法的基本思想是将问题分解为多个子问题,通过求解子问题的最优解来得到原问题的最优解。
它通常适用于具有重叠子问题和最优子结构性质的问题。
动态规划算法可以大大减少问题的重复计算,提高算法的效率和性能。
它在求解最短路径、最长公共子序列、背包问题等具有广泛的应用。
2. 请简要介绍红黑树的特点和应用场景。
答:红黑树是一种自平衡的二叉查找树,它具有以下特点:1) 每个节点都有一个颜色,红色或黑色;2) 根节点是黑色的;3) 叶子节点(NIL节点)都是黑色的;4) 如果一个节点是红色的,则它的两个子节点都是黑色的;5) 从根节点到叶子节点的路径上,不同路径上黑节点的个数相同。
西南交通大学数据结构2023半期试卷(答案与评分标准)
一、填空题(前17空每1分,后面4空每空2分,共25分)1. 根据数据元素之间关系的不同特性,通常有四类基本结构,即:集合、线性结构、树形结构和(1) 结构。
2. 数据类型是一个值的集合和定义在这个值集上的一组(2) 的总称。
3. 算法的性能主要由时间复杂度和(3) 复杂度表示。
4. 队列的操作特点是“先进先出”,堆栈的操作特点是(4) 。
5. 用长度为m个元素的C语言数组实现循环队列,若f, r分别表示队头和队尾下标, 其中队头下标指向队头元素,队尾下标指向队尾元素后面的一个空闲位置,入队方向为下标加1方向,则在少用一个元素空间的前提下,队满的判断条件是(5) 。
6. 拥有100个结点的完全二叉树中,叶子结点数是(6) 。
7. 广义表A=((), (a)),则HEAD(A)= (7) ,TAIL(A)= (8) 。
8. 若20行×20列的下半三角矩阵(含主对角线元素)采用一维数组A以列序为主序顺序存储各元素。
假设矩阵以及一维数组下标均从0开始,则一维数组元素A[121]在矩阵中对应元素的行下标是(9) ,列下标是(10) 。
9. 已知两个带附加头结点的单链表,每个链表的数据结点按升序连接,下面的函数不另辟存储空间,实现将两个升序单链表归并为一个升序单链表,请填空。
已知结点结构定义为typedef struct node { int data; struct node *next; } LNode;LNode *merge(LNode *h1, LNode *h2) // h1, h2传入两个升序链表的附加头结点的指针{ p1=h1->next; p2=h2->next;last=h1; delete h2; //附加头结点*h1作为归并后的链表附加头结点while( (11) ){ if(p1->data (12) p2->data){ last->next=p1; p1=p1->next; }else{ last->next=p2; p2=p2->next; }last= (13) ;}if(p1) last->next=p1;if(p2) last->next= (14) ;return h1;}10. 若二叉树结点指针类型定义如下:typedef struct bt_node { int data; struct bt_node *left, *right; } *BT;下面的C++函数用先根遍历算法将所有叶子结点按right指针域从左向右串接成单向链表,请填空。
数据结构考研笔记整理(全)
数据结构考研笔记整理(全)一、第二章线性表●考纲内容●一、线性表的基本概念●线性表是具有相同数据结构类型的n个数据元素的有限序列;线性表为逻辑结构,实现线性表的存储结构为顺序表或者链表●二、线性表的实现●1、顺序表●定义(静态分配)●#define MaxSize 50 \\ typedef struct{ \\ ElemType data[MaxSize];\\ intlength;\\ }SqList;●定义(动态分配)●#define MaxSize 50\\ typedef strcut{\\ EleType *data; //指示动态非配数组的指针\\ int MaxSize,length;\\ }SqList;●c的动态分配语句为L.data=(ElemType*)malloc(sizeof(ElemType)*InitSize);●c++动态分配语句为L.data=new ElemType[InitSize];●插入操作●删除操作●按值寻找●2、链表●单链表●单链表的定义●●头插法建立单链表●●尾插法建立单链表●●按序号查找getElem(LinkList L,int i)和按值查找locateElem(LinkListL,ElemType e)●插入结点(后插)●p=getElem(L,i-1); //查找插入位置的前驱结点\\ s.next=p.next;\\p.next=s;●将前插操作转化为后插操作,即先将s插入的p的后面然后调换s和p的数据域●s.next=p.next;\\ p.next=s.next;\\ temp=p.data;\\ p.data=s.data;\\s.data=temp;●删除结点●p.getElem(L,i-1);\\ q=p.next;\\ p.next=q.next;\\ free(q);●双链表(结点中有prior指针和next指针)●循环链表●静态链表●借助数组来描述线性表的链式存储结构,结点中的指针域next为下一个元素的数组下标●三、线性表的应用●使用的时候如何选择链表还是顺序表?●表长难以估计,经常需要增加、删除操作——链表;表长可以估计,查询比较多——顺序表●链表的头插法,尾插法,逆置法,归并法,双指针法;顺序表结合排序算法和查找算法的应用●小知识点(选择题)二、第三章栈,队列和数组●考纲内容●一、栈和队列的基本概念●栈:后进先出,LIFO,逻辑结构上是一种操作受限的线性表●队列:先进先出,FIFO,逻辑结构上也是一种操作受限的线性表●二、栈和队列的顺序存储结构●栈的顺序存储●●队列的顺序存储●进队:队不满时,送值到队尾元素,再将队尾指针加一●出队:队不空时,取队头元素值,再将队头指针加一●判断队空:Q.front==Q.rear==0;●循环队列(牺牲一个单元来区分队空和队满,尾指针指向队尾元素的后一个位置,也就是即将要插入的位置)●初始:Q.front==Q.rear●队满:(Q.rear+1)%MaxSize=Q.front●出队,队首指针进1:Q.front=(Q.front+1)%MaxSize●入队,队尾指针进1:Q.rear=(Q.rear+1)%MaxSize●队列长度:(Q.rear+MaxSize-Q.front)%MaxSize●三、栈和队列的链式存储结构●栈的链式存储●●队列的链式存储●实际是上一个同时带有头指针和尾指针的单链表,尾指针指向单链表的最后一个结点,与顺序存储不同,通常带有头结点●四、多维数组的存储●行优先:00,01,02,10,11,12●列优先:00,10,01,11,02,12●五、特殊矩阵的压缩存储●对称矩阵●三角矩阵●三对角矩阵(带状矩阵)●稀疏矩阵●将非零元素及其相应的行和列构成一个三元组存储●十字链表法●六、栈、队列、数组的应用●栈在括号匹配中的应用●栈在递归中的应用●函数在递归调用过程中的特点:最后被调用的函数最先执行结束●队列在层次遍历中的应用●二叉树的层次遍历●1跟结点入队●2若队空,则结束遍历,否则重复3操作●3队列中的第一个结点出队并访问,若有左孩子,则左孩子入队;若有右孩子,则右孩子入队●重点为栈的(出入栈过程、出栈序列的合法性)和队列的操作及其特征●小知识点(选择题)●n个不同元素进栈,出栈元素不同排列的个数为{2n\choose n }/(n+1)●共享栈是指让两个顺序栈共享一个存储空间,将两个栈的栈底分别设置在共享空间的两端,两个栈顶向共享空间的中间延伸,可以更有效的利用存储空间,同时对存储效率没有什么影响●双端队列是指允许两端都可以进行入队和出队操作的队列●输出受限的双端队列:允许两端插入,只允许一端删除●输入受限的双端队列:允许两端删除,只允许一端插入三、第四章串●考纲内容●字符串模式匹配●暴力算法●注意指针回退时的操作是i=i-j+2;j=j+1;●kmp算法●手工求next数组时,next[j]=s的最长相等前后缀长度+1,其中s为1到j-1个字符组成的串●在实际kmp算法中,为了使公式更简洁、计算简单,如果串的位序是从1开始的,则next数组需要整体加一;如果串的位序是从0开始的,则next数组不需要加一●根据next数组求解nextval数组:如果p[j]==p[next[j]],则nextval[j]=nextval[next[j]],否则nextval[j]=next[j];●小知识点●串和线性表的区别:1线性表的数据元素可以不同,但串的数据元素一般是字符;2串的操作对象通常是子串而不是某一个字符四、第五章树与二叉树●考纲内容●一、树的基本概念●定义●树是一种递归的数据结构,是一种逻辑结构●树的性质●结点数为n,则边的数量为n-1●树中的结点数等于所有结点的度数之和加1(一个结点的孩子个数称为该结点的度,树中结点的最大度数称为树的度,每一条边表示一个结点,对应一个度,只有根结点上面无边,故结点树=度数之和+1)●度为m的树中第i层至多有m^{i-1}个结点(i\geq1)(m叉树的第i层最多有m^{i-1}个结点)●高度为h的m叉树至多有(m^h-1)/(m-1)个结点(假设每一个结点都有m个孩子,则由等比数列的求和公式可以推导出该式子)●具有n个结点的m叉树的最小高度是\lceil log_m(n(m-1)+1)\rceil(由高度为h的m叉树的最大结点树公式有,n满足式子(m^{h-1}-1)/(m-1) \leq n\leq (m^h-1)/(m-1))●高度为h的m叉树至少有h个结点;高为h,度为m的树至少有h+m-1个结点(m叉树并不等于度为m的树,m叉树可以为空树,要求所有结点的度小于等于m,而度为m的树一定有一个结点的度数为m)●二、二叉树●二叉树的定义及其主要特征●定义●特点●每个结点至多只有两颗子树●二叉树是有序树,其子树有左右之分,次序不能颠倒,否则将成为另一颗二叉树,即使树中结点只有一颗子树,也要区分他是左子树还是右子树●特殊的二叉树●满二叉树:高度为h,结点数为2^h-1,所有叶子结点都集中在二叉树的最下面一层,除叶子结点外的所有结点度数都为2,从根结点为1开始编号,对于编号为i的结点,其父结点为\lfloor i/2 \rfloor,左孩子(若有)编号为2i,右孩子(若有)编号为2i+1,所以编号为偶数的结点只可能是左孩子,编号为奇数的结点只可能是右孩子●完全二叉树:删除了满二叉树中编号更大的结点,高为h,结点数为n的完全二叉树的每个结点的编号都与高度为h的满二叉树中编号为1到n的结点相同。
西南交大历年考试真题及答案,完整集合版
西南交通大学2001年硕士研究生入学考试试卷(钢筋混凝土结构)(第一套)―、简述题(共50分)12时不能考虑螺旋箍筋的有利影响。
1、根椐螺旋箍筋轴心受压柱的受力行为说明横向约束对混凝土性能有何影响,并解释为什么当I0d8@100。
画出截面配筋示意图。
20,抗剪、扭箍筋为20,抗扭纵筋为6700,承受弯矩、剪力和扭矩的共同作用。
已知所需抗弯纵筋2250h2、一矩形截面梁bmax?若不满足时会出现什么情况?min3、在进行受弯构件正截面强度计算时,为何要求4、与普通钢筋混凝土结构相比,预应力混凝土结构的强度和变形性能有何不同? 从以下几个方面比较先张法构件和后张法构件:(1)适用场合;(2)预应力的传递方式;(3)预应力损失;(4)有效预应力的计算。
5、指出图示三种偏心受压构件的应变图哪一根代表界限破坏? 哪一根代表大偏心受压破坏?哪一根代表小偏心受压破坏?6、构件在长期荷栽作用下的挠度和短期荷载作用下的挠度有何不同? 影响长期荷栽挠度的主要因素有哪些?7、什么是混凝土的徐变?影响徐变的主要因素有那些? 举例(至少3个)说明徐变对结构的影响.二、计算题(共50分)1.0,计算并画出梁的设计弯矩图和设计剪力图。
1.4,荷栽组合值系数q1.2,c100kN,永久荷栽分项系数及可变荷栽分项系数分别为15kNm,梁外端作用的集中力为活栽,其标准值为pk30kNm,活栽qk1、图示钢筋混凝土外伸梁上承受均布荷载和集中力作用,已知均布荷载标准值为恒栽gk310Nmm),2fy16.5Nmm),采用Ⅱ级钢(fy15.0Nmm,fcmm,混凝土强度等级C3022(fc250kN500kN,M7m,承受轴向力设计值N35mm。
柱计算长度 I0as900mm,as120mm,hhf150mm, hf450mm,bbf2、已知一工字形截面偏心受压构件截面尺寸为bf 试按对称配筋计算柱的钢筋。
11.0Nmm2)10.0Nmm2fcm3、图示钢筋混凝土简支梁采用C20混凝土(fc210Nmm),310Nmm),箍筋为I级(fyfy22纵筋为II级(fy1.1),验算该梁的正截面强度和斜截面强度。
西南交大2002年通信原理考研试题
一、选择题(20分)请从下面各题所给的四个答案中选择一个正确的,写在答题纸上。
1、 下列基带信号码型中不能够提供同步的是_________a) 单极性不归零码(NRZ-L) b) 归零码(RZ)c) 曼彻斯特码(Manchster) d) 传号反转码(CMI)2、 下列基带信号码型中通过插入破坏点解决由于连“0”码个数过多而带来的定时提取困难问题的是__________a) AMI 码 b) 双极性归零码 c) HDB3码 d) a)和c)3、 当2FSK 信号两个载波频率之差增大时,信号的带宽将__________a) 减小 b) 增加 c) 不变 d) 不一定4、 在数据传输速率相同的条件下,2PSK 系统与2FSK 系统相比通常需要__________a) 更大带宽 b) 更小带宽 c) 相等带宽 d) 不一定 5、 在数据传输速率相同的条件下,2ASK 信号的最小带宽_________2FSK 信号的最小带宽a) 等于 b) 大于 c) 小于 d) 不一定6、 在___________调制中,载波相位变化不仅与当前数据比特的取值有关,而且与前一比特的取值有关a) 2FSK b) 2PSK c) 2DPSK d) 2ASK7、 若符号传输率为1/T 0,题图1所示基带传输系统中,满足奈奎斯特第一准则且频谱效率最高的是__________8、 下列复用技术中传输数字信号的是_________a) FDMb) 同步TDM c) 异步TDM d) b)和c)2T02T0T02T -02T -0T - (a) 0T -0 0T -(b)题图102T π02T π-(d)0 (c)009、下列各种二进制调制系统中,抗加性高斯白噪声性能最差的是_________a) 2PSK b) OOKc) 2FSK d) 2DPSK10、PAM信号是一种__________a) 二进制数字信号b) 幅度离散的模拟信号c) 多进制数字信号d) 时间离散的模拟信号二、(30分)1.设双极性不归零码典型波形如题图2所示,假设信码中出现“1”码和“0”码的概率相等,求其功率谱密度函数。
考研数据结构满分笔记
考研数据结构满分笔记一、为啥数据结构这么重要。
咱都知道,考研那可是千军万马过独木桥,每一门科目都得拿捏得死死的。
数据结构这玩意儿,那可是计算机相关专业考研的重头戏啊!它就像是盖房子的地基,要是地基没打牢,后面的高楼大厦可就容易塌咯。
很多学校的专业课考试里,数据结构都占了大头,所以咱必须得把它学透,争取拿满分呐!二、数据结构的基本概念。
这里面的概念那可真是五花八门的。
比如说数据,这玩意儿简单理解就是能被计算机处理的各种信息,像数字、字符、图像啥的。
数据元素就是数据的基本单位啦,就好比咱人是社会的基本单位一样。
数据结构呢,就是数据元素之间的关系,像线性结构、树形结构、图形结构这些,每种结构都有它自己的特点和应用场景。
咱得把这些概念理解得明明白白的,不然做题的时候就容易迷糊。
三、线性表。
线性表可是数据结构里的常客。
它分为顺序表和链表两种。
顺序表就像是住在公寓里,大家都排排坐,按顺序住,访问元素那叫一个快,直接根据下标就能找到。
但是呢,插入和删除元素的时候就有点麻烦,得给后面的元素挪地方。
链表就不一样啦,它就像一个个小火车厢,每个车厢都知道下一个车厢在哪儿,插入和删除元素的时候就方便多了,直接改改指针就行。
但是访问元素的时候就没那么快啦,得一个一个车厢找过去。
咱得掌握这两种线性表的操作,像创建、插入、删除、查找这些,代码都得敲得滚瓜烂熟的。
四、栈和队列。
栈和队列就像是两个脾气不太一样的小伙伴。
栈是先进后出,就像咱往箱子里放东西,先放进去的得等后面放进去的都拿出来了才能拿出来。
队列呢,是先进先出,就像排队买东西,先来的先买。
这俩在实际应用中可有用啦,比如函数调用的时候就会用到栈来保存现场,操作系统里的进程调度就会用到队列。
咱得掌握它们的基本操作和应用场景,不然考试的时候遇到相关的题就傻眼啦。
五、树和二叉树。
树和二叉树这部分可有点难度哦。
树就像是一棵大树,有根、有枝干、有叶子。
二叉树呢,就是每个节点最多有两个子节点的树。
2011西南交通大学考研959真题专硕
2011西南交通大学考研959真题专硕试题代码:959西南交通大学2011年硕士研究生入学考试试题名称:数据结构考生注意:1.本试题共4题,共6页,满分150分,请认真检查;2.答题时,直接将答题内容写在考场提供的答题纸尚,答在试卷上的内容无效;3.请在答题纸上按要求填写试题代码和试题名称;4.试卷不得拆开,否则遗失后果自负。
题号一二三四五六七八九十总分得分签字一、单项选择题(本大题共25题,每题2分,共50分)1.数据结构在计算机内存中的表示是指【】。
A.数据的存储结构B.数据结构C.数据结构的逻辑结构 C.数据元素之间的关系2.【】是数据的基本单位。
A.数据项B.数据元素C.信息项D.表元素3.算法的计算量的大小称为算法的【】。
A.效率B.时间复杂度C.显示性D.难度4.链表不具备的特点是【】A.可随机访问任一结点B.插入删除不需要移动元素C.不必事先估算存储空间D.所需空间与其长度成正比5.设线性表有n个元素,以下操作中,【】在顺序表上实现比在链表上实现效率更高。
A.输出第i(1≤i≤n)个元素的值B.顺序输出这n个元素C.交换第1个与第2个元素的值D.输出与给定值x相等的元素在线性表中的序号6.设一个链表最常用的操作是在末尾插入结点和删除尾结点,则选用【】最节省时间。
A.带头结点的双循环链表B.单循环链表C.带尾指针的单循环链表D.单链表7.若长度为n的线性表采用顺序存储结构,在第i个位置插入一个新元素的算法的时间复杂度为【】A.O(0)B. O(1)C. O(n)D. O()8.栈和队列的共同点是【】A.都是先进先出B.都是后进后出C.只允许在端点处进行插入和删除D.无共同点9.设入栈序列为1,2, 3, 4,5,则可能得到的出栈序列为【】A.1,2,5,3,4B.3,1,2,5,4C.3,2,5,4,1D.1,4,2,3,510.队列存放在A[0…M-1]中,则入队时的操作为【】A.rear=rear+1B.rear=(rear+1)%MC.rear=(rear+1)%(M+1)D.rear=(rear+1)%(M-1)11.两个串相等必有串长度相等且【】A.串的各位置字符任意B.串中各位置字符均对应相等C.两个串含有相同的字符D.两个串所含字符任意12.设有数组A[8][10],每个元素占3个存储单元,首地址为SA,则元素[7][5]的起始地址是【】A.SA+141B.SA+144C.SA+222D.SA+22513.设有一个n*n的对称矩阵,采用压缩存储,则存入内存的元素个数为【】A.n*nB.n*n/2C.n*(n+1)/2D./214.有关二叉树下列说法正确的是【】A.二叉树的度为2B.一棵二叉树的度可以小于2C.一棵二叉树至少有一个结点的度为2D.二叉树中任何一个结点的度为215.一棵124个叶结点的完全数,最多具有【】个结点。