浙江大学数据结构考研试题

合集下载

浙大计算机面试题库及答案

浙大计算机面试题库及答案

浙大计算机面试题库及答案一、算法与数据结构1. 请简述什么是最短路径算法,并列举几种常见的最短路径算法。

最短路径算法是用来寻找两个节点之间最短路径的一种算法。

常见的最短路径算法包括迪杰斯特拉算法(Dijkstra)、弗洛伊德算法(Floyd-Warshall)、贝尔曼-福特算法(Bellman-Ford)等。

2. 请解释什么是动态规划,并简要介绍动态规划的实现步骤。

动态规划是将一个大问题分解为若干个子问题,并通过保存子问题的解来降低求解复杂度的一种算法思想。

实现步骤包括定义状态、确定状态转移方程、确定初始条件和计算顺序。

二、操作系统1. 什么是进程和线程,它们之间有什么区别?进程是操作系统中资源分配的最小单位,是运行程序的载体,拥有独立的内存空间和执行环境;而线程是进程中的一个执行单元,与其他线程共享进程的资源,拥有独立的执行流程。

区别:- 进程间资源相互独立,线程间资源共享;- 进程拥有独立的地址空间,线程共享进程的地址空间;- 进程间切换开销比较大,线程间切换开销较小。

2. 请解释什么是死锁,并列举避免死锁的方法。

死锁是指系统中的进程或线程因为互相等待对方所持有的资源而无法继续执行的一种状态。

避免死锁的方法包括:资源分级法、资源有序性法、银行家算法、避免环路法等。

三、网络1. 简述HTTP和HTTPS的区别。

HTTP(Hypertext Transfer Protocol)是一种用于传输超文本的应用层协议,明文传输,安全性较低;而HTTPS(Hypertext Transfer Protocol Secure)是基于HTTP协议的一种安全的传输协议,通过SSL/TLS加密数据传输,保证数据的安全性。

2. 请解释什么是TCP/IP协议栈,并介绍TCP和UDP的区别。

TCP/IP协议栈是一组用于互联网中数据通信的网络协议的集合。

它由多层协议构成,包括物理层、数据链路层、网络层、传输层和应用层。

TCP(Transmission Control Protocol)是一种面向连接、可靠传输的协议,提供错误检测和重传机制,适用于对数据可靠性要求较高的场景;而UDP(User Datagram Protocol)是一种无连接、不可靠传输的协议,不提供错误检测和重传机制,适用于对实时性要求较高的场景。

数据结构c考研试题及答案

数据结构c考研试题及答案

数据结构c考研试题及答案数据结构C考研试题及答案1. 选择题1.1 以下哪个选项不是线性表的顺序存储结构的特点?A. 存储空间连续B. 存储空间不连续C. 可以随机访问D. 插入和删除操作效率低答案:B1.2 在二叉树的遍历中,先访问根节点,然后遍历左子树,最后遍历右子树,这种遍历方式称为:A. 前序遍历B. 中序遍历C. 后序遍历D. 层序遍历答案:A2. 填空题2.1 在一个长度为n的数组中,使用二分查找法查找一个元素,最坏情况下需要比较的次数为______。

答案:log2(n+1)-12.2 哈希表的冲突解决方法有多种,其中一种方法是______。

答案:链地址法3. 简答题3.1 请简述图的深度优先搜索(DFS)算法的步骤。

答案:深度优先搜索算法的步骤如下:1. 访问起始顶点;2. 对于起始顶点的每一个邻接顶点,如果未被访问,则递归地进行深度优先搜索;3. 继续对未访问的邻接顶点进行步骤2,直到所有邻接顶点都被访问;4. 回溯到上一个顶点,继续访问未访问的邻接顶点,直到所有顶点都被访问。

3.2 什么是堆排序算法?请简要描述其工作原理。

答案:堆排序算法是一种基于二叉堆的比较排序算法。

其工作原理如下:1. 将待排序的序列构造成一个大顶堆;2. 将堆顶元素,即当前最大值,与序列末端元素进行交换,然后将序列长度减一;3. 对新的堆顶元素调整为新堆的堆顶;4. 重复步骤2和3,直到堆的大小为1或0。

4. 编程题4.1 编写一个函数,实现单链表的反转。

答案:```cstruct ListNode {int val;struct ListNode *next;};struct ListNode* reverseList(struct ListNode* head) {struct ListNode* prev = NULL;struct ListNode* curr = head;struct ListNode* next = NULL;while (curr != NULL) {next = curr->next;curr->next = prev;prev = curr;curr = next;}head = prev;return head;}```4.2 给定一个二叉搜索树的根节点,请实现一个函数,返回树中任意两个节点的值的差的绝对值的最小值。

数据结构 排序 历年考研练习题库 试卷及答案

数据结构 排序 历年考研练习题库 试卷及答案

第10章排序及答案后面红色部分一、选择题1.某内排序方法的稳定性是指( )。

【南京理工大学 1997 一、10(2分)】A.该排序算法不允许有相同的关键字记录 B.该排序算法允许有相同的关键字记录C.平均时间为0(n log n)的排序方法 D.以上都不对2.下面给出的四种排序法中( )排序法是不稳定性排序法。

【北京航空航天大学 1999 一、10 (2分)】A. 插入B. 冒泡C. 二路归并D. 堆积3.下列排序算法中,其中()是稳定的。

【福州大学 1998 一、3 (2分)】A. 堆排序,冒泡排序B. 快速排序,堆排序C. 直接选择排序,归并排序D. 归并排序,冒泡排序4.稳定的排序方法是()【北方交通大学 2000 二、3(2分)】A.直接插入排序和快速排序 B.折半插入排序和起泡排序C.简单选择排序和四路归并排序 D.树形选择排序和shell排序5.下列排序方法中,哪一个是稳定的排序方法?()【北方交通大学 2001 一、8(2分)】A.直接选择排序 B.二分法插入排序 C.希尔排序 D.快速排序6.若要求尽可能快地对序列进行稳定的排序,则应选(A.快速排序 B.归并排序 C.冒泡排序)。

【北京邮电大学 2001 一、5(2分)】7.如果待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。

()就是不稳定的排序方法。

【清华大学 1998 一、3 (2分)】A.起泡排序 B.归并排序 C.Shell排序 D.直接插入排序 E.简单选择排序8.若要求排序是稳定的,且关键字为实数,则在下列排序方法中应选()排序为宜。

A.直接插入 B.直接选择 C.堆 D.快速 E.基数【中科院计算所 2000 一、5(2分)】9.若需在O(nlogn)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方2法是()。

A. 快速排序B. 堆排序C. 归并排序D. 直接插入排序【中国科技大学 1998 二、4(2分)】【中科院计算所 1998 二、4(2分)】10.下面的排序算法中,不稳定的是()【北京工业大学 1999 一、2 (2分)】A.起泡排序B.折半插入排序C.简单选择排序D.希尔排序E.基数排序F.堆排序。

浙江大学复试面试题目及答案(yyy版本)

浙江大学复试面试题目及答案(yyy版本)

浙江大学计算机考研历年面试问题集专业部分操作系统部分:1 windows/linux使用的文件系统?windows使用的文件系统有:FAT(包括FAT12,FAT16,FAT32),CDFS,UDF,NTFS,DFS(分布式文件系统,用于windows2000/xp服务器上的网络组件)linux使用的文件系统有:ext2,ext3,FAT32 ???????2 虚拟内存?传输协调工作,并为用户提供一个统一的界面和标准的接口,用户通过这一界面实现所需要的从操作以及使用系统资源,使系统中的若干台计算机相互协作以完成共同的任务,有效控制和协调诸任务的并行执行,并向系统提供统一的,有效的接口软件集合。

网络操作系统和分布式操作系统虽然都属于管理分布在不同地理位置上的操作系统,但最大的差别是:网络操作系统工作时必须确认网址,而分布式操作系统则不必知道计算机的确切地址;分布式系统负责整个系统的资源分配,通常能够很好的隐藏系统的内部细节,如对象的物理位置,并发控制,系统故障等。

这些对用户都是透明的。

8 操作系统为什么要用驱动程序?参考912 io调度算法?此题似乎有问题,分解之:IO控制方式:程序IO方式,中断驱动IO控制方式,DMA直接存储器访问方式,IO通道控制方式磁盘调度算法:RSS(随机调度),FIFO,PRI(进程优先级调度),LIFO,SSTF(最短作业优先),SCAN (在磁盘上往复),C-SCAN(一条道路,快速返回),N-step- SCAN(一次N个记录的SCAN),FSCAN13 一个文件重命名和把它直接删除后再重新建立新文件名有何不同?1.物理地址:前者不变,后者变化2.pcb:前者只改了文件名,后者重新建立PCB14 介绍一下os的层次结构?●多数据流:文件的实际内容被当作字节流处理,在NTFS中可以为一个文件定义多个数据流;●通用索引功能:NTFS中,每个文件都有一组属性与之关联.这样,文件管理系统中文件描述的集合组织成一个关系数据库,因而文件可以建立关于任何属性的索引.20 轮转法知道么,用在什么系统?简单介绍下分时操作系统,时间片可等长——简单轮转调度,亦可不等长——多级反馈调度数据结构部分:1 介绍分治算法,回溯算法,动态规划法?弃,其余儿子节点被加入到活节点表中。

浙大软院资料-17878真题回忆版

浙大软院资料-17878真题回忆版

17年浙大软院878试题良心回忆版~ 历年15、16年的题目,我一直没找到(14年起878不对外公布了)。

苦于那会自己连分值题型都不清楚,所以这里和另一位胡同学,仔细分析整理出了这一份资料,希望能给后面考878的同学带来帮助吧~数据结构(共90分)一、选择题(20题,每题2分,共40分)1.判断O(N3)、O(NlogN)、O(N(logN)3)、O(N2logN)的增速那个最快。

2.若有一颗完美二叉排序树,问选项中错误的性质描述。

3.给了一个AVL树的建树序列,判断选项中错误的是4.11年真题的11题,关于无向有权图的性质5.,此图的拓扑序列有几个?6.若有两个叶子结点是A和B,则问前中后序序列里,A和B的相对位置。

7.堆排序、快速排序、归并排序的需要的辅助空间大小排序?8.给出原始序列,第一趟序列,第二趟序列。

问是什么排序9.一个有N个结点的无向图,所有结点的度数为节点数的多少倍?10.一个三叉树,N1=5,N2=3,N3=2。

问N0=?11.给了一个最小堆,问删了两个元素之后,堆的层序遍历。

二、大题(50分)1、给出一个有权无向图,问深度遍历序列、广度遍历序列、最小生成树及其权值。

(18分)2、哈希动态排序题,给出一个序列,将其放入容量为13的哈希表中,H(key)=key%13,用线性探测的方式处理冲突。

(12分)(1).填表,将所给序列填入表中。

(2).在第一次发生冲突的时候,表的装填因子是什么。

3. 程序填空题,要求利用堆排序将一个数列A[N]排列成非递减序列。

(12分,共3空)(已经在历年真题中出现不少于3次了)4.编程题,编一个程序void(tree T,int X),作用是在二叉排序树T中找到比X大的数,并以非递增的方式打印出来。

(8分)C语言(共60分)一、选择题(15道,每题2分,共30分)二、分析题(5道,每题6分,共30分)此部分的前4题是读程序,写结果。

第5题是程序填空,3分,每空2分。

算法与数据结构考研试题精析(第二版)第10章 排序

算法与数据结构考研试题精析(第二版)第10章  排序

第10章排序一、选择题1.某内排序方法的稳定性是指( )。

【南京理工大学 1997 一、10(2分)】A.该排序算法不允许有相同的关键字记录 B.该排序算法允许有相同的关键字记录C.平均时间为0(n log n)的排序方法 D.以上都不对2.下面给出的四种排序法中( )排序法是不稳定性排序法。

【北京航空航天大学 1999 一、10 (2分)】A. 插入B. 冒泡C. 二路归并D. 堆积3.下列排序算法中,其中()是稳定的。

【福州大学 1998 一、3 (2分)】A. 堆排序,冒泡排序B. 快速排序,堆排序C. 直接选择排序,归并排序D. 归并排序,冒泡排序4.稳定的排序方法是()【北方交通大学 2000 二、3(2分)】A.直接插入排序和快速排序 B.折半插入排序和起泡排序C.简单选择排序和四路归并排序 D.树形选择排序和shell排序5.下列排序方法中,哪一个是稳定的排序方法?()【北方交通大学 2001 一、8(2分)】A.直接选择排序 B.二分法插入排序 C.希尔排序 D.快速排序6.若要求尽可能快地对序列进行稳定的排序,则应选(A.快速排序 B.归并排序 C.冒泡排序)。

【北京邮电大学 2001 一、5(2分)】7.如果待排序序列中两个数据元素具有相同的值,在排序前后它们的相互位置发生颠倒,则称该排序算法是不稳定的。

()就是不稳定的排序方法。

【清华大学 1998 一、3 (2分)】A.起泡排序 B.归并排序 C.Shell排序 D.直接插入排序 E.简单选择排序8.若要求排序是稳定的,且关键字为实数,则在下列排序方法中应选()排序为宜。

A.直接插入 B.直接选择 C.堆 D.快速 E.基数【中科院计算所 2000 一、5(2分)】9.若需在O(nlog2n)的时间内完成对数组的排序,且要求排序是稳定的,则可选择的排序方法是()。

A. 快速排序B. 堆排序C. 归并排序D. 直接插入排序【中国科技大学 1998 二、4(2分)】【中科院计算所 1998 二、4(2分)】10.下面的排序算法中,不稳定的是()【北京工业大学 1999 一、2 (2分)】A.起泡排序B.折半插入排序C.简单选择排序D.希尔排序E.基数排序F.堆排序。

2019年浙大数据结构真题整理

2019年浙大数据结构真题整理

19年浙大数据结构真题整理-----木君,群内相关讨论及资源数据结构:1. 选择题1.选出算法时间最快()(C 其中logN与N不在一个数量级)A. O(n^2)B. O(n^3)C. O(n(log N)^4)D. O(n^3/2)2.不是链表所具有的特性()(A)A.可以随意查找B.插入删除的复杂度为O(1)3.判断栈的出栈顺序,是否正确()(王道常见题型)4.中序和后序的结果一样的,则该树所具有的特征()(王道常见题型)5.78,85,120,65,61...的序列排成AVL树,其中不正确的描述()(该题还是AVL树的平衡)A.是一棵完全二叉树B.x是根节点C.其中a,b是兄弟结点6.拓扑排序(王道)7.进行一趟快排后,形成的新的序列(王道)8.有2333个数的最小堆,最大值不可能在下面的哪个节点上()A. 1113B.1556 C…(王道,非叶子结点即可)9.给出一张图,找出最小生成树,(王道,建议使用,kruskal算法)10.(a,b,c,d),a,b是最小频率使用的两个结点,不可能出现的编码()C c:10 d:011.给出邻接表,判断它的深度遍历顺序()(这题不是很会处理,感觉每个选项都像对)12.广度搜索13.20,25,16,7,96…….。

进行一趟,排序问选择哪种()A.堆排序B.快排C.二路并归 (20)2. 简答题1.1给定一串数,将他们排列成一棵完全二叉树,并保证该树是一棵二叉搜索树。

1.2并对上述的二叉树进行前序遍历2.给出一个图,用dijkstra算法求最短路径,要求写出查找的序列以及距离起始点的最短距离。

3.程序填空进行最大堆进行调整,主要是if语句的调整。

(往年真题出现过)(思路)主要的if()语句的判断,判断内容属于对一个节点的左右孩子的比较,选出最大的那个孩子,以便进行下一个if的判断,对当前节点和刚刚最大的孩子的比较。

3.编程题是将单链表进行新的排序,如123456,转变为615243,时间复杂度O(n),空间复杂度O(1),。

浙大计算机面试题及答案

浙大计算机面试题及答案

浙大计算机面试题及答案一、数据结构与算法1. 请解释什么是数据结构,并列举几种常见的数据结构。

数据结构是计算机中对数据的组织、存储和管理的方式。

常见的数据结构包括数组、链表、堆栈、队列、树、图等。

2. 请解释什么是算法,并列举几种常见的算法。

算法是解决问题的一系列步骤或指令。

常见的算法包括排序算法(如冒泡排序、快速排序)、查找算法(如二分查找)、图算法(如最短路径算法)等。

3. 请解释什么是时间复杂度和空间复杂度。

时间复杂度是衡量算法执行时间随输入规模增长而增长的速度。

常用的时间复杂度有O(1)(常数时间复杂度)、O(log n)(对数时间复杂度)、O(n)(线性时间复杂度)、O(n^2)(平方时间复杂度)等。

空间复杂度是衡量算法执行所需内存空间随输入规模增长而增长的速度。

常用的空间复杂度有O(1)(常数空间复杂度)、O(n)(线性空间复杂度)等。

4. 请解释什么是动态规划算法,并给出一个实际的应用场景。

动态规划是将复杂问题分解为子问题,并记录子问题的解,避免重复计算,从而提高算法效率的一种算法思想。

一个实际的应用场景是求解最长公共子序列问题,即找出两个序列中最长的公共子序列。

5. 请解释什么是贪心算法,并给出一个实际的应用场景。

贪心算法是一种每步选择当前最优解的算法思想。

一个实际的应用场景是求解零钱找零问题,即用最少数量的硬币找零。

二、操作系统与网络1. 请解释什么是操作系统,并列举几种常见的操作系统。

操作系统是计算机系统的核心软件,负责管理计算机硬件资源、提供用户接口和运行应用程序等。

常见的操作系统有Windows、Linux、Unix、macOS等。

2. 请解释什么是进程和线程,并解释二者的区别。

进程是程序在操作系统中的一次执行过程,具有独立的地址空间和资源。

线程是进程的一个执行单元,多个线程共享进程的资源。

区别在于进程是独立的执行单位,而线程是进程内的执行单位。

3. 请解释什么是虚拟内存,并解释其作用。

2022年浙江大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年浙江大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)

2022年浙江大学计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案)一、选择题1、将线性表的数据元素进行扩充,允许带结构的线性表是()。

A.串B.树C.广义表D.栈2、哈希文件使用哈希函数将记录的关键字值计算转化为记录的存放地址,因为哈希函数是一对一的关系,则选择好的()方法是哈希文件的关键。

A.哈希函数B.除余法中的质数C.冲突处理D.哈希函数和冲突处理3、静态链表中指针表示的是()。

A.下一元素的地址B.内存储器的地址C.下一元素在数组中的位置D.左链或右链指向的元素的地址4、循环队列A[0..m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。

A.(rear-front+m)%mB.rear-front+1C.rear-front-1D.rear-front5、在下列表述中,正确的是()A.含有一个或多个空格字符的串称为空格串B.对n(n>0)个顶点的网,求出权最小的n-1条边便可构成其最小生成树C.选择排序算法是不稳定的D.平衡二叉树的左右子树的结点数之差的绝对值不超过l6、下列选项中,不能构成折半查找中关键字比较序列的是()。

A.500,200,450,180 B.500,450,200,180C.180,500,200,450 D.180,200,500,4507、已知关键字序列5,8,12,19,28,20,15,22是小根堆(最小堆),插入关键字3,调整后的小根堆是()。

A.3,5,12,8,28,20,15,22,19B.3,5,12,19,20,15,22,8,28C.3,8,12,5,20,15,22,28,19D.3,12,5,8,28,20,15,22,198、下述二叉树中,哪一种满足性质:从任一结点出发到根的路径上所经过的结点序列按其关键字有序()。

A.二叉排序树B.哈夫曼树C.AVL树D.堆9、一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到()个不同的码字。

浙江大学计算机考研真题

浙江大学计算机考研真题
15、系统为某进程分配了 4 个页框,该进程已访问的页号序列为 2,0,2,9,3,4,2,8,2,4,8,4,5。若进程要 访问的下一页的页号为 7,依据 LRU 算 法,应淘汰页的页号是()。(点击查看答案>>>>>>>>) A、2 B、3 C、4 D、8
牛客网,程序员学求职备考神器
NOWCODER
10、在采用中断 I/O 方式控制打印输出的情况下,CPU 和打印控制接口中的 I/O 端口之间交换的信息不可能是()。(点击查看答案>>>>>>>>) A、打印字符 B、主存地址 C、设备状态 D、控制命令
牛客网,程序员学求职备考神器
NOWCODER
牛在牛客网
测试输入包含若干测试用例。每个测试用例的第 1 行给出评估的道路条数 N、 村庄数目 M (N, M < =100 );随后的 N 行对应村庄间道路的成本,每行给出一 对正整数,分别是两个村庄的编号,以及此两村庄间道路的成本(也是正整数)。 为简单起见,村庄从 1 到 M 编号。当 N 为 0 时,全部输入结束,相应的结果不要 输出。 输出描述:
8、下列有关总线定时的叙述中,错误的是()。(点击查看答案>>>>>>>>) A、异步通信方式中,全互锁协议最慢 B、异步通信方式中,非互锁协议的可靠性最差 C、同步通信方式中,同步时钟信号可由各设备提供 D、半同步通信方式中,握手信号的采样由同步时钟控制
9、若磁盘转速为 7200 转/分,平均寻道时间为 8ms,每个磁道包含 1000 个扇 区,则访问一个扇区的平均延迟时间大约是()。(点击查看答案>>>>>>>>) A、8.1ms B、12.2ms C、16.3ms D、20.5ms

2018浙江大学远程-数据结构与算法

2018浙江大学远程-数据结构与算法

1.【第1章第2节】数据结构课程主要研究以下三方面的内容,它们是______。

A 数据、数据元素、数据类型B 数据元素、数据类型、算法实现C 数据元素、数据的逻辑结构、数据的存储结构D 数据的逻辑结构、数据的存储结构、数据的运算正确答案:D单选题2.【第1章第2节】在数据结构中,与所使用的计算机无关的是数据的____结构。

A 存储B 物理C 逻辑D 物理与存储正确答案:C判断题3.【第1章第2节】逻辑结构相同时物理结构也应该相同。

正确错误正确答案: 错单选题4.【第1章第3节】设某二维数组A[1..n,1..n],则在该数组中用顺序查找法查找一个元素的时间复杂性的量级为______。

A O(log2n)B O(n)C O(nlog2n)D O(n^2)正确答案:D单选题5.【第1章第3节】计算机算法是指______。

A 计算方法B 排序方法C 调度方法D 解决问题的有限运算序列正确答案:D判断题6.【第1章第3节】所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界正确错误正确答案: 对单选题7.【第3章第2节】向一个有115个元素的顺序表中插入一个新元素并保持原来顺序不变,平均要移动_____个元素。

A 115B 114C 58D 57正确答案:C单选题8.【第3章第2节】在长度为n 的双链表中某结点(已知其地址)之前,插入一个新结点的时间复杂度是_____ 。

A O(n)B O(log2n)C O(1)D O(n^2)正确答案:C单选题9.【第3章第2节】在一个长度为n的顺序表中,在第i个元素(1<=i<=n)之前插入一个新元素时需向后移动_______个元素。

A 1B n-iC n-i-1D n-i+1正确答案:D单选题10.【第3章第2节】在一个具有n个结点的有序单链表中,插入一个新的结点并使之仍然有序的时间复杂度是______。

A O(n)B O(log2n)C O(1)D O(n^2)正确答案:A单选题11.【第3章第2节】线性表按链式方式存储时,每个结点的存储包括_____两部分。

60所院校-《数据结构》考研试题集锦 第1章绪论

60所院校-《数据结构》考研试题集锦 第1章绪论

第1章绪论一、选择题1. 算法的计算量的大小称为计算的()。

【北京邮电大学2000 二、3 (20/8分)】A.效率 B. 复杂性 C. 现实性 D. 难度2. 算法的时间复杂度取决于()【中科院计算所 1998 二、1 (2分)】A.问题的规模 B. 待处理数据的初态 C. A和B3.计算机算法指的是(1),它必须具备(2)这三个特性。

(1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法(2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性C. 确定性、有穷性、稳定性D. 易读性、稳定性、安全性【南京理工大学 1999 一、1(2分)【武汉交通科技大学 1996 一、1( 4分)】4.一个算法应该是()。

【中山大学 1998 二、1(2分)】A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A和C.5. 下面关于算法说法错误的是()【南京理工大学 2000 一、1(1.5分)】A.算法最终必须由计算机程序实现B.为解决某问题的算法同为该问题编写的程序含义是相同的C. 算法的可行性是指指令不能有二义性D. 以上几个都是错误的6. 下面说法错误的是()【南京理工大学 2000 一、2 (1.5分)】(1)算法原地工作的含义是指不需要任何额外的辅助空间(2)在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法(3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界(4)同一个算法,实现语言的级别越高,执行效率就越低A.(1) B.(1),(2) C.(1),(4) D.(3)7.从逻辑上可以把数据结构分为()两大类。

【武汉交通科技大学 1996 一、4(2分)】A.动态结构、静态结构 B.顺序结构、链式结构C.线性结构、非线性结构 D.初等结构、构造型结构8.以下与数据的存储结构无关的术语是()。

【北方交通大学 2000 二、1(2分)】A.循环队列 B. 链表 C. 哈希表 D. 栈9.以下数据结构中,哪一个是线性结构()?【北方交通大学 2001 一、1(2分)】A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串10.以下那一个术语与数据的存储结构无关?()【北方交通大学 2001 一、2(2分)】A.栈 B. 哈希表 C. 线索树 D. 双向链表11.在下面的程序段中,对x的赋值语句的频度为()【北京工商大学 2001 一、10(3分)】FOR i:=1 TO n DOFOR j:=1 TO n DOx:=x+1;A. O(2n) B.O(n) C.O(n2) D.O(log2n)12.程序段 FOR i:=n-1 DOWNTO 1 DOFOR j:=1 TO i DOIF A[j]>A[j+1]THEN A[j]与A[j+1]对换;其中 n为正整数,则最后一行的语句频度在最坏情况下是()A. O(n)B. O(nlogn)C. O(n3)D. O(n2) 【南京理工大学1998一、1(2分)】13.以下哪个数据结构不是多型数据类型()【中山大学 1999 一、3(1分)】A.栈 B.广义表 C.有向图 D.字符串14.以下数据结构中,()是非线性数据结构【中山大学 1999 一、4】A.树 B.字符串 C.队 D.栈15. 下列数据中,()是非线性数据结构。

浙江省考研计算机科学与技术复习资料数据结构重点复习与实战演练

浙江省考研计算机科学与技术复习资料数据结构重点复习与实战演练

浙江省考研计算机科学与技术复习资料数据结构重点复习与实战演练数据结构是计算机科学与技术专业中的一门重要课程,它是研究数据存储、组织和管理的方法与技术。

在浙江省考研计算机科学与技术专业的学习中,数据结构也被视为一个重点知识点。

本文将从数据结构的概念、常用数据结构、重点知识点以及实战演练等方面进行详细介绍。

一、数据结构概念数据结构是指数据元素之间的关系,以及数据元素本身的存储结构。

它主要包括逻辑结构和存储结构两个方面。

逻辑结构是指数据元素之间的逻辑关系,常见的逻辑结构有线性结构、树形结构和图形结构等。

存储结构是指数据元素在计算机内存中的物理存储方式,常见的存储结构有顺序存储结构和链式存储结构等。

二、常用数据结构1. 数组数组是一种线性结构,它由相同数据类型的元素组成,并按照一定顺序存储在连续的内存空间中。

数组的特点是可以通过下标直接访问元素,具有随机访问的优势。

在实际应用中,数组常用于存储一组数据。

2. 链表链表是一种常见的线性结构,它由一系列节点组成。

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

链表的特点是可以在运行时动态地分配内存空间,但访问元素时需要遍历整个链表,效率较低。

在实际应用中,链表常用于实现队列、栈等数据结构。

3. 栈栈是一种特殊的线性结构,它的特点是只能在一端进行插入和删除操作。

栈的插入操作称为入栈,删除操作称为出栈。

栈具有后进先出(LIFO)的特点,常用于实现函数调用、表达式求值等。

4. 队列队列是一种特殊的线性结构,它的特点是只能在一端插入元素,在另一端删除元素。

队列的插入操作称为入队,删除操作称为出队。

队列具有先进先出(FIFO)的特点,常用于实现任务调度、广度优先搜索等。

5. 树树是一种非线性结构,它由节点和边组成。

每个节点存储数据,每条边连接两个节点。

树的特点是具有层次性和递归性,常用于组织数据、实现搜索算法等。

常见的树结构有二叉树、二叉搜索树、平衡二叉树等。

三、数据结构重点知识点在考研计算机科学与技术专业的复习中,数据结构的重点知识点主要包括以下几个方面:1. 线性表线性表是由零个或多个数据元素组成的有限序列,它包括顺序表和链表两种存储结构。

浙大pta数据结构与算法题目集

浙大pta数据结构与算法题目集

浙大pta数据结构与算法题目集浙大pta 数据结构与算法题目集浙江大学(Zhejiang University)是中国著名的综合性大学,在计算机领域也拥有着众多的优秀师资和学生。

为了帮助学生更好地掌握数据结构与算法,浙江大学开发了 PTA(Programming Technology Assistant)平台,并在其上建立了一套完整的数据结构与算法题目集。

这个题目集中包含了多个子分类,包括线性表、栈和队列、树和图、查找和排序、字符串、高级数据结构等,涵盖了大部分计算机科学领域的基础知识。

这些题目涉及面广、难度各异,既适合入门者初步学习,也可以供专业人士进行刷题练手。

浙大pta 数据结构与算法题目集具有以下优点:1. 题目质量高:这个题目集是由浙江大学计算机科学与技术学院开发的,每道题目都经过了严格的审核和筛选,保证了其质量和准确性。

2. 题目分类清晰:这个题目集中的题目被分成了多个子分类,每个子分类下还有若干个具体的题目,方便用户根据自己的需求选择合适的练习内容。

3. 同步更新:这个题目集中的题目不定期地进行更新,以适应行业新的发展和技术的变革,保证了学习者的知识储备不过时。

4. 适合多种语言:这个PTA 平台支持多种编程语言,如C++、Java、Python 等,方便用户根据自己的编程基础选择合适的语言进行练习。

在这个题目集中,学生们可以通过多样的题目进行练习,巩固自己已有的知识,并且可以挑战更高难度的题目,提高自己的编程技能和解决实际问题的能力。

对于在数据结构和算法方面自信不够的程序员来说,这个题目集也是一个非常好的选择,可以让他们更深入地了解这个领域的知识,提高自己的编程水平。

总之,浙大pta 数据结构与算法题目集对于计算机领域的学习者来说是一份宝贵的资源,它不仅可以帮助初学者建立起一个坚实的基础,也可以为专业人士提供一个练手的平台。

考研数据结构测试题及答案

考研数据结构测试题及答案

考研数据结构测试题及答案### 考研数据结构测试题及答案#### 一、选择题1. 在数据结构中,以下哪种结构不是线性结构?A. 栈B. 队列C. 树D. 图答案:C2. 一个长度为n的有序数组,使用二分查找算法查找一个元素,最多需要比较几次?A. nB. log₂nC. n/2D. nlog₂n答案:B3. 以下哪个是链表的优点?A. 随机访问B. 插入和删除不需要移动元素C. 存储空间利用率高D. 所有都是答案:B#### 二、简答题1. 简述堆栈(Stack)的基本操作,并说明它们的特点。

答案:堆栈的基本操作包括:- Push:向栈顶添加一个元素。

- Pop:移除栈顶的元素,并返回该元素。

- Peek/Top:查看栈顶元素,但不移除它。

- IsEmpty:判断栈是否为空。

特点:- 遵循后进先出(LIFO)原则。

- 插入和删除操作都在栈顶进行,时间复杂度为O(1)。

2. 描述二叉搜索树(BST)的插入操作。

答案:二叉搜索树的插入操作如下:1. 从根节点开始,如果待插入节点的值小于当前节点的值,则移动到左子树。

2. 如果待插入节点的值大于当前节点的值,则移动到右子树。

3. 重复步骤1和2,直到找到一个空位置,将新节点插入。

4. 如果新节点的值等于当前节点的值,根据具体实现,可以选择不插入或覆盖现有节点。

#### 三、编程题1. 编写一个函数,实现单链表的反转。

```cstruct ListNode {int val;struct ListNode *next;};void reverseList(struct ListNode head) {struct ListNode *prev = NULL, *curr = *head, *next = NULL;while (curr != NULL) {next = curr->next;curr->next = prev;prev = curr;curr = next;}*head = prev;}```2. 给定一个整数数组,编写一个函数,找出数组中最长的连续子数组的长度。

算法与数据结构考研试题精析(第二版)第4章 串

算法与数据结构考研试题精析(第二版)第4章  串

第四章串一、选择题1.下面关于串的的叙述中,哪一个是不正确的?()【北方交通大学2001 一、5(2分)】A.串是字符的有限序列B.空串是由空格构成的串C.模式匹配是串的一种重要运算D.串既可以采用顺序存储,也可以采用链式存储2 若串S1=‘ABCDEFG’, S2=‘9898’,S3=‘###’,S4=‘012345’,执行concat(replace(S1,substr(S1,length(S2),length(S3)),S3),subst r(S4,index(S2,‘8’),length(S2)))其结果为()【北方交通大学1999 一、5 (25/7分)】A.ABC###G0123 B.ABCD###2345 C.ABC###G2345 D.ABC###2345E.ABC###G1234 F.ABCD###1234 G.ABC###012343.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为()A.求子串B.联接C.匹配D.求串长【北京邮电大学2000 二、4(20/8分)】【西安电子科技大学1996 一、1 (2分)】4.已知串S=‘aaab’,其Next数组值为()。

【西安电子科技大学1996 一、7 (2分)】A.0123 B.1123 C.1231 D.12115.串‘ababaaababaa’的next数组为()。

【中山大学1999 一、7】A.012345678999 B.012121111212 C.011234223456 D.01230123223456.字符串‘ababaabab’的nextval 为()A.(0,1,0,1,04,1,0,1) B.(0,1,0,1,0,2,1,0,1)C.(0,1,0,1,0,0,0,1,1) D.(0,1,0,1,0,1,0,1,1 )【北京邮电大学1999 一、1(2分)】7.模式串t=‘abcaabbcabcaabdab’,该模式串的next数组的值为(),nextval数组的值为()。

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

五、一带权无向图的邻接矩阵如右图 ,试画出它的一棵最小生成树。(8分)
六、广义表的结点定义如下:(12分) TYPE point =↑ node; node=RECORD tag: 0..1; tp:point;
CASE
tag OF 0: (data: datatype); 1: (hp:point)
浙江大学 1994年考研题
一、完成下列各题(每题 5 分) 1.已知 a,b为TRUE ,X=60,i=3,j=5. 求PASCAL表达式a AND NOT (X>5) AND (i>j +5) OR a>b AND b 的 值。 的PASCAL 或C语言的相应语句。 2.写出计算 3.设计一数据结构,用来表示某一银行储户的基本信息:账号、姓名、开户年月日、储蓄类型 、存入累 加数、利息、帐面总数。 二、 设计-PASCAL 或C语言的函数 atoi(x).其中X 为字符串, 由0--9 10个数字符和表示正负数的‘-’组成, 返回值为整型树值(7分) 三、对于-维树组 a (ARRAY [1..20] OF INTEGER ) 有下列PASCAL 程序:(8分) PROCEDURE S(x,t,b:INTEGER); VAR m:INTEGER BEGIN IF t<=THEN BEGIN m:=(t+b) DIV 2 IF x=a[m] THEN writeln (x,m)] ELSE IF x<a[m] THEN S(x,t,m-1) ELSE IF X>Am] THEN S (x,m+1,b) END ELSE writeln ('NO') END. 试说明该过程S(x,t,b)的功用,若已知a 的内容为: 11 14 15 18 19 21 24 33 45 55 49 55 62 71 78 83 85 91 94 97 请指出S(33,1,20)和S(35,1,20)调用时输出结果。 四、设有大小为mxm的二维数组(方阵),试设计下列程序(PASCAL或C);(20分) 1.作出该数组的统计方图(即统计各种数值出现的次数)。 2.变换该方阵,中每一元素被它的8个邻域的平均数所代替。 (附:元素A的8个邻域定义为a0---a7 见下图
END; lists= point; 说明下列算法的功能,并画出执行该算法后,P 所指向的广义表结构。 (算法中p, t, m, n, r, q 均为指针)
A(p,t) begin q:=NIL; while p<>NIL do begin if p↑.tag <> 0 then begin m:=p↑.hp; A(m,n); p↑p:=n end; r:=p↑.tp; p↑.tp:=q; q:=p; p:=r end; t :=q; end. 七、一棵二叉树的结点定义如下:(12分) typedef struct node node; struct node { kind key: node * link [2]; } typedef struct frame frame; struct frame { boolean left; node * ptr; }; frame nodepath[4]; # define path(j) nodepath[ (j)&4]
试画出执行如下程序后右图所示的二叉树形状, 其中 paห้องสมุดไป่ตู้h(j) 的初值为: j path(j).ptr i-1 a i b i+1 d i+2 e
path(j).left ---------false false true
void R (i) int i { path (i+1).ptr->link [path(i+2).left]=path(i+2) .ptr ->link [path (i+2).left]; path (i-2) .ptr-> link[path(i+2) .left]=path (i-1) .ptr ; path (i).ptr -> link[path (i+1).left ] =path (i+2) .ptr; path (i+1).ptr =path(i+2).ptr; } 八、数组 H[ 1:1000] 中存放着1000个大小不同的正整数; (18分) 1.选择一分类算法使能最快的得到其中10个最大的数,简要说明理由; 2.编写一程序Beek0 , 执行该程序时,在命令行中提供2个参数 &beek--an<enter> 表示需打印H[ ] 中n个最大数。 &beek --in <enter>表示需打印H[ ] 中n 个最小数。
浙江大学 1995 年考研题
一、设数据文件的内容如下(其中*为空格符) : (10 分) 1 8 * * *2 8 A * * * 4 * *1 0 0 * * * * B 3:* * * * * -8 变量说明为;x,y,z:integer; ch:char; 试回答分别执行下面的输入语言后,变量的值。 1.read(x); read(y); read(ch); 2.readln(x); readln(y); readln(ch); 3.readln(x); readln(y,ch); read(z); 4.read(ch); readlnl ; read(x); 二、执行下面的程序,程序的输出是什么?(6 分) program test(out put); var x,,n,i:integer; procedure sub; begin n:=0; i:=1; while i<=x do begin n:=n-1; i:=i-2 end end; procedure sub2 begin i:=n; n:=x; x:=i end; begin x:=5; sub1:=sub2; sub1;sub2; writeln(x) end. 三、考虑函数说明(8 分) function f(x,y: real):real; begin if x>=y then f:=(x+y)/2 else f:=f(f(x+z,y-1), f(x+1, y-2) end; 求 f(1,10)的值。
相关文档
最新文档