2010宁夏回族自治区数据结构与算法(必备资料)
2010宁夏回族自治区数据分析深入
![2010宁夏回族自治区数据分析深入](https://img.taocdn.com/s3/m/79b9ded65fbfc77da269b16d.png)
1、有一种简单的排序算法,叫做计数排序(count sorting)。
这种排序算法对一个待排序的表(用数组表示)进行排序,并将排序结果存放到另一个新的表中。
必须注意的是,表中所有待排序的关键码互不相同,计数排序算法针对表中的每个记录,扫描待排序的表一趟,统计表中有多少个记录的关键码比该记录的关键码小,假设针对某一个记录,统计出的计数值为c,那么,这个记录在新的有序表中的合适的存放位置即为c。
(1) (3分)给出适用于计数排序的数据表定义;(2) (7分)使用Pascal或C语言编写实现计数排序的算法;(3) (4分)对于有n个记录的表,关键码比较次数是多少?(4) (3分)与简单选择排序相比较,这种方法是否更好?为什么?2、设一棵二叉树的结点结构为 (LLINK,INFO,RLINK),ROOT为指向该二叉树根结点的指针,p 和q分别为指向该二叉树中任意两个结点的指针,试编写一算法ANCESTOR(ROOT,p,q,r),该算法找到p和q的最近共同祖先结点r。
3、因为后序遍历栈中保留当前结点的祖先的信息,用一变量保存栈的最高栈顶指针,每当退栈时,栈顶指针高于保存最高栈顶指针的值时,则将该栈倒入辅助栈中,辅助栈始终保存最长路径长度上的结点,直至后序遍历完毕,则辅助栈中内容即为所求。
void LongestPath(BiTree bt)//求二叉树中的第一条最长路径长度{BiTree p=bt,l[],s[]; //l, s是栈,元素是二叉树结点指针,l中保留当前最长路径中的结点int i,top=0,tag[],longest=0;while(p || top>0){ while(p) {s[++top]=p;tag[top]=0; p=p->Lc;} //沿左分枝向下if(tag[top]==1) //当前结点的右分枝已遍历{if(!s[top]->Lc && !s[top]->Rc) //只有到叶子结点时,才查看路径长度if(top>longest) {for(i=1;i<=top;i++) l[i]=s[i]; longest=top; top--;}//保留当前最长路径到l栈,记住最高栈顶指针,退栈}else if(top>0) {tag[top]=1; p=s[top].Rc;} //沿右子分枝向下}//while(p!=null||top>0)}//结束LongestPath4、因为后序遍历栈中保留当前结点的祖先的信息,用一变量保存栈的最高栈顶指针,每当退栈时,栈顶指针高于保存最高栈顶指针的值时,则将该栈倒入辅助栈中,辅助栈始终保存最长路径长度上的结点,直至后序遍历完毕,则辅助栈中内容即为所求。
数据结构与算法详解
![数据结构与算法详解](https://img.taocdn.com/s3/m/49c0716076232f60ddccda38376baf1ffc4fe38a.png)
数据结构与算法详解数据结构和算法是计算机科学中非常重要的两个概念。
数据结构是一种数据组织和存储方式,它能够提高数据的访问和处理效率。
算法是一种解决问题的具体步骤,可以优化问题的解决方式。
在计算机科学中,数据结构和算法被广泛应用于软件开发、数据处理、计算机通信等方面。
本文将深入介绍数据结构和算法的相关内容。
一、常用数据结构常见的数据结构有数组、链表、堆、栈、队列、散列表、二叉树等。
下面依次介绍这些数据结构的特点。
1. 数组数组是一种线性结构,由一组相同类型的元素组成并按照一定的顺序存储。
数组具有下标定位和随机访问等优点,适用于元素较少且随机查询比较频繁的情况。
2. 链表链表也是一种线性结构,由一系列不同类型的数据节点组成。
每个节点包含一个数据项和指向下一个节点的指针。
链表具有灵活的插入和删除操作,适用于元素较多且数据分散的情况。
3. 堆堆是一种特殊的树形结构,它满足父节点的键值总是大于或等于子节点的键值。
堆常用于优先队列、排序等场景中。
4. 栈栈是一种特殊的线性结构,它的数据存储在一个简单的表中,只有在表的一端进行插入和删除操作。
栈的操作是“后进先出”,适用于回溯、表达式求值等场景中。
5. 队列队列也是一种特殊的线性结构,它的数据存储在一个简单的表中,只能从表的一端进行插入,从另一端进行删除。
队列的操作是“先进先出”,适用于排队、广度优先搜索等场景中。
6. 散列表散列表也叫哈希表,是一种根据键值(key)而直接访问到值(value)的数据结构。
散列表通过哈希函数将键映射到表中位置,从而实现快速查找。
7. 二叉树二叉树是一种特殊的树形结构,每个节点最多有两个子节点。
二叉树包含前序遍历、中序遍历、后序遍历等方法,适用于排序、查找等场景中。
二、常用算法常见的算法包括排序、搜索、图算法等。
下面依次介绍这些算法的特点。
1. 排序算法排序算法是将一组未排序的数据按照一定的规则进行排序的算法。
常见的排序算法有冒泡排序、快速排序、插入排序、选择排序、归并排序、计数排序、桶排序、基数排序等。
宁夏回族自治区考研计算机应用技术复习资料操作系统与数据库原理重难点梳理
![宁夏回族自治区考研计算机应用技术复习资料操作系统与数据库原理重难点梳理](https://img.taocdn.com/s3/m/a16f81d3b8d528ea81c758f5f61fb7360b4c2b2a.png)
宁夏回族自治区考研计算机应用技术复习资料操作系统与数据库原理重难点梳理一、引言计算机应用技术复习过程中,操作系统与数据库原理是考生们最为关注的两个重要考点。
本文将对宁夏回族自治区考研计算机应用技术复习资料中涉及的操作系统与数据库原理的重难点进行梳理,帮助考生们更好地理解和掌握相关知识。
二、操作系统1. 进程管理• 进程的概念和特征• 进程的状态及转换• 进程的调度算法:先来先服务、短作业优先、最高优先级调度等• 死锁的概念和处理方法2. 内存管理• 内存的分段和分页管理• 页面置换算法:最佳置换算法、先进先出算法、最近最久未使用算法等• 虚拟内存的概念和工作原理• 分页与分段的比较与选择3. 文件系统• 文件的组织和存储结构• 文件的操作方式:打开、读写、关闭等• 文件的保护和共享机制• 文件系统的实现方式:索引结构、位图结构等4. 设备管理• 设备的分类和管理• 设备的分配与释放• 中断处理和设备驱动程序三、数据库原理1. 数据库基本概念• 数据库的特点和作用• 数据库模型:层次模型、网状模型、关系模型等• 数据库管理系统的结构和功能2. 数据库设计与规范化• 数据模型的设计方法:实体关系模型、E-R模型等• 关系数据库的规范化理论和方法• 数据库设计的范式:第一范式、第二范式、第三范式等3. SQL语言• SQL语言的基本语法和结构• SQL语言的查询操作和数据更新操作• SQL语言的高级操作:联合查询、嵌套查询、分组聚合查询等4. 事务与并发控制• 事务的特征和ACID属性• 并发控制的概念和目标• 并发控制方法:加锁机制、时间戳机制等四、总结通过对宁夏回族自治区考研计算机应用技术复习资料中操作系统与数据库原理的重难点梳理,我们可以看到,操作系统的重点在于进程管理、内存管理、文件系统和设备管理等方面,而数据库原理的核心在于数据库基本概念、数据库设计与规范化、SQL语言和事务与并发控制等方面。
宁夏回族自治区考研计算机科学复习重点梳理
![宁夏回族自治区考研计算机科学复习重点梳理](https://img.taocdn.com/s3/m/224d26cf50e79b89680203d8ce2f0066f53364c0.png)
宁夏回族自治区考研计算机科学复习重点梳理计算机科学是现代社会发展所必不可少的学科之一,具有广泛的应用领域和前景。
对于准备考研的学生来说,掌握基础知识并熟练掌握重点内容是非常重要的。
本文将梳理宁夏回族自治区考研计算机科学的复习重点,帮助考生有针对性地进行复习。
一、数据结构与算法数据结构与算法是计算机科学的基础,对于考研复习尤为重要。
在数据结构方面,需要重点掌握线性表、树、图等基本数据结构的存储表示、基本操作及其应用。
在算法方面,需要重点掌握常见的排序算法、查找算法以及动态规划、贪心算法等常用算法的原理和实现方法。
此外,考生还需了解常见的高级数据结构(如红黑树、B+树等)及其应用场景。
二、计算机网络计算机网络是计算机科学的另一个重要方向。
在考研复习中,需要重点掌握网络的基本概念、协议体系结构、网络层、传输层以及应用层的相关知识。
其中,IP协议、TCP/IP协议族、HTTP协议等是考研复习的重点内容。
此外,需要了解常见的网络安全技术及其应用,例如防火墙、入侵检测系统等。
三、操作系统操作系统是计算机科学中另一个重要的学科领域。
在考研复习中,需要重点掌握操作系统的基本概念、进程管理、内存管理、文件系统等相关知识。
其中,进程调度算法、内存管理算法以及死锁的预防和避免等是考研复习的重点内容。
此外,还需了解常见的操作系统类型和特点,例如Windows、Linux等。
四、数据库系统数据库系统在计算机科学中也属于重要的学科方向。
在考研复习中,需要重点掌握数据库的基本概念、数据库模型、关系数据库的设计与实现以及SQL语言等知识。
其中,关系数据库的范式理论、数据库的查询优化以及事务管理等是考生需要重点掌握的内容。
此外,需了解常见的数据库管理系统,例如Oracle、MySQL等。
五、编程语言编程语言是计算机科学中必不可少的一部分。
在考研复习中,可以选择一种主流的编程语言进行学习和掌握。
常见的编程语言有C、C++、Java等。
宁夏回族自治区考研计算机应用技术复习资料数据挖掘与机器学习方法总结
![宁夏回族自治区考研计算机应用技术复习资料数据挖掘与机器学习方法总结](https://img.taocdn.com/s3/m/92824e9bdb38376baf1ffc4ffe4733687f21fc6b.png)
宁夏回族自治区考研计算机应用技术复习资料数据挖掘与机器学习方法总结数据挖掘与机器学习是计算机应用技术中的重要领域,也是考研的热门科目之一。
宁夏回族自治区作为我国西部地区的重要教育中心,对于考研计算机应用技术的复习资料也非常丰富。
本文将对宁夏回族自治区考研计算机应用技术复习资料中数据挖掘与机器学习方法进行总结。
一、数据挖掘方法总结1.1 分类算法分类算法是数据挖掘领域中常用的方法之一。
宁夏回族自治区考研复习资料中常涉及的分类算法有:朴素贝叶斯、决策树、支持向量机等。
朴素贝叶斯算法适用于离散型数据的分类问题,决策树算法可用于处理多类别问题,而支持向量机在处理高维数据方面表现出色。
1.2 聚类算法聚类算法是将相似的样本数据归为一类的方法,常用的聚类算法有:K均值算法、层次聚类算法、DBSCAN算法等。
K均值算法是一种迭代的聚类方法,层次聚类算法通过多次聚合将数据分为不同的类别,DBSCAN算法则是一种基于密度的聚类算法。
1.3 关联规则挖掘算法关联规则挖掘算法主要用于发现数据集中的关联关系,常用的关联规则挖掘算法有:Apriori算法、FP-growth算法等。
Apriori算法是一种频繁项集挖掘方法,通过扫描事务数据库来发现频繁项集,FP-growth 算法则是一种基于前缀树的高效挖掘方法。
二、机器学习方法总结2.1 监督学习算法监督学习算法是通过已有的标注数据来学习出一个函数,再根据函数对未知数据进行预测的方法。
在宁夏回族自治区的考研计算机应用技术复习资料中,常见的监督学习算法有:线性回归、逻辑回归、决策树、支持向量机等。
这些算法适用于不同的问题类型,如线性回归用于拟合线性关系,逻辑回归用于二分类问题。
2.2 非监督学习算法非监督学习算法是对无标注数据进行学习和分析的方法,常见的非监督学习算法有:K均值聚类、DBSCAN聚类、主成分分析等。
这些算法主要用于从数据中发现隐藏的结构和模式,提供数据的降维和聚类分析等功能。
宁夏回族自治区考研计算机科学与技术专业复习资料推荐
![宁夏回族自治区考研计算机科学与技术专业复习资料推荐](https://img.taocdn.com/s3/m/dafd7d4ba200a6c30c22590102020740be1ecdbc.png)
宁夏回族自治区考研计算机科学与技术专业复习资料推荐在如今信息技术高速发展的时代,计算机科学与技术专业的发展势头迅猛,在各个领域都扮演着重要的角色。
越来越多的学子选择考研进修计算机科学与技术专业,为了帮助考研学子更好地备战考试,我将为大家推荐一些宁夏回族自治区考研计算机科学与技术专业复习资料。
一、教材类1.《计算机组成原理》(汤子瀛著)这是一本经典的计算机组成原理教材,内容系统全面,涵盖了计算机硬件体系结构、指令系统、物理层传输与输入输出等重要内容。
对于计算机科学与技术专业考研复习来说,理解和掌握计算机组成原理是必不可少的。
2.《数据结构》(严蔚敏、吴伟民著)数据结构是计算机科学与技术专业的基础课程之一,也是考研复习中的重点。
这本教材以清晰的语言和丰富的实例,对数据结构的基本概念、算法设计与分析进行系统讲解,是复习数据结构的不二选择。
二、辅导类1.《考研计算机科学与技术学科专业综合能力强化与实验指南》(李涛著)这是一本系统性强的考研辅导书籍,全面覆盖了计算机科学与技术专业考研的各个学科要点。
书中除了详细介绍题型和解题技巧外,还附有大量的例题和真题,让考生更好地理解和应用所学知识。
2.《计算机网络考研指南》(赵志刚主编)计算机网络是计算机科学与技术专业考研的重点内容之一,这本书囊括了计算机网络的基础知识、网络协议、网络安全等方面,对考生进行全面而深入的指导。
书中还提供了大量的例题和习题,帮助考生巩固所学知识。
三、题库类1.《考研真题精解系列:计算机专业基础综合》(高教版)这本书是计算机科学与技术专业考研真题精解的权威参考,包含了历年的真题及其详细解析。
通过做题并仔细研究解析,考生可以深入了解考点和考试要点,有利于复习备考。
2.《考研英语全真模拟试卷》(教育部考试中心编)英语作为计算机科学与技术专业考研的外语科目,占据了一定的比重。
这本模拟试卷包含了各类题型,对考生进行全面细致的训练。
通过反复练习,考生可以提高英语应试能力,提高分数。
宁夏回族自治区考研计算机科学与技术复习重点
![宁夏回族自治区考研计算机科学与技术复习重点](https://img.taocdn.com/s3/m/3f969b82b04e852458fb770bf78a6529647d35ca.png)
宁夏回族自治区考研计算机科学与技术复习重点一、数据结构与算法数据结构是计算机科学与技术领域的基础,它关注如何组织和存储数据以便高效地访问和操作。
算法则是解决问题的步骤和方法,它涉及到如何设计和分析高效的解决方案。
1. 线性表线性表是最基本的数据结构之一,它包括顺序表和链表两种形式。
顺序表使用数组存储元素,具有随机访问的特点;链表通过指针将元素连接起来,方便插入和删除操作。
2. 栈和队列栈和队列是两种特殊的线性表。
栈具有后进先出(LIFO)的特点,插入和删除操作只能在一端进行;而队列具有先进先出(FIFO)的特点,插入操作在队尾进行,删除操作在队头进行。
3. 树和二叉树树是一种非线性的数据结构,它由节点和边组成。
每个节点可以有多个子节点,但每个节点只有一个父节点。
二叉树是树的一种特殊形式,每个节点最多有两个子节点。
4. 图图是由节点和边组成的非线性数据结构,它用于表示不同对象之间的关系。
图可以分为有向图和无向图,根据节点之间的关系可以有多种表示方法。
5. 排序和搜索算法排序算法用于将一组元素按照特定的顺序排列,常见的排序算法有冒泡排序、选择排序、插入排序、快速排序等。
搜索算法用于在给定数据集合中查找某个特定元素,常见的搜索算法有线性查找、二分查找、哈希查找等。
二、操作系统操作系统是计算机系统中的核心软件,它管理和控制计算机硬件资源,并提供用户与计算机系统之间的接口。
1. 进程和线程进程是正在执行的程序的实例,它包括代码、数据和资源等。
线程是进程中的一个执行单元,多个线程可以共享进程的资源,提高程序的执行效率。
2. 内存管理内存管理涉及到如何分配和释放计算机的内存资源,以及如何优化内存的使用。
常见的内存管理技术有分页、分段和虚拟内存等。
3. 文件系统文件系统是操作系统中用于管理文件和目录的组织方式。
它提供了文件的访问和操作接口,包括读取、写入、复制、删除等操作。
4. 进程间通信进程间通信用于不同进程之间的信息传递和共享。
宁夏回族自治区考研计算机大纲解读
![宁夏回族自治区考研计算机大纲解读](https://img.taocdn.com/s3/m/6b2e05f064ce0508763231126edb6f1aff0071cf.png)
宁夏回族自治区考研计算机大纲解读计算机科学与技术是一个快速发展的领域,对于追求高等教育的学生来说,考研是迈向更高层次学习的重要途径。
在宁夏回族自治区,考研计算机专业的大纲解读对准备考研的同学来说至关重要。
本文将根据宁夏回族自治区考研计算机大纲的要求,进行详细的解读与分析,以帮助考生更好地备战考试。
一、考研计算机专业概述宁夏回族自治区考研计算机专业的大纲主要包括以下几个方面:计算机组成原理、计算机网络、操作系统、数据库系统原理、数据结构与算法分析、软件工程、计算机图形学等。
这些内容涵盖了计算机学科的核心知识,考生应该对这些内容进行深入的学习和理解。
二、计算机组成原理计算机组成原理是计算机专业的基础课程之一,主要涉及计算机的硬件组成和运行原理。
在考研大纲中,重点包括计算机系统基本组成、指令系统、微程序控制以及计算机体系结构等内容。
考生需要熟悉计算机各个部件的功能和相互之间的协作关系,了解指令的执行过程和计算机的层次结构。
三、计算机网络计算机网络是计算机科学与技术领域的重要内容之一。
在宁夏回族自治区考研计算机大纲中,计算机网络的要求主要包括网络体系结构、网络协议、局域网和广域网、网络安全等方面。
考生需要掌握计算机网络的基本概念和主要协议,了解网络的组织结构和工作原理,同时也要了解网络安全的基本知识。
四、操作系统操作系统是计算机科学与技术专业的核心课程之一。
大纲要求考生掌握操作系统的基本概念和功能,了解进程管理、内存管理、文件系统等方面的知识,并能够了解与操作系统相关的其他内容,如多媒体操作系统、分布式操作系统等。
五、数据库系统原理数据库系统原理是考研计算机专业中的重要课程,大纲要求考生了解数据库的基本概念和组成部分,熟悉关系模型、数据模型以及数据库管理系统的基本操作和功能。
此外,还需要了解数据库查询语言、事务管理以及数据库设计等方面的知识。
六、数据结构与算法分析数据结构与算法分析是计算机科学与技术专业的核心内容之一。
2010宁夏回族自治区C高级
![2010宁夏回族自治区C高级](https://img.taocdn.com/s3/m/6661fc994431b90d6d85c701.png)
1、二叉树的层次遍历序列的第一个结点是二叉树的根。
实际上,层次遍历序列中的每个结点都是“局部根”。
确定根后,到二叉树的中序序列中,查到该结点,该结点将二叉树分为“左根右”三部分。
若左、右子树均有,则层次序列根结点的后面应是左右子树的根;若中序序列中只有左子树或只有右子树,则在层次序列的根结点后也只有左子树的根或右子树的根。
这样,定义一个全局变量指针R,指向层次序列待处理元素。
算法中先处理根结点,将根结点和左右子女的信息入队列。
然后,在队列不空的条件下,循环处理二叉树的结点。
队列中元素的数据结构定义如下:typedef struct{ int lvl; //层次序列指针,总是指向当前“根结点”在层次序列中的位置int l,h; //中序序列的下上界int f; //层次序列中当前“根结点”的双亲结点的指针int lr; // 1—双亲的左子树 2—双亲的右子树}qnode;BiTree Creat(datatype in[],level[],int n)//由二叉树的层次序列level[n]和中序序列in[n]生成二叉树。
n是二叉树的结点数{if (n<1) {printf(“参数错误\n”); exit(0);}qnode s,Q[]; //Q是元素为qnode类型的队列,容量足够大init(Q); int R=0; //R是层次序列指针,指向当前待处理的结点BiTree p=(BiTree)malloc(sizeof(BiNode)); //生成根结点p->data=level[0]; p->lchild=null; p->rchild=null; //填写该结点数据for (i=0; i<n; i++) //在中序序列中查找根结点,然后,左右子女信息入队列if (in[i]==level[0]) break;if (i==0) //根结点无左子树,遍历序列的1—n-1是右子树{p->lchild=null;s.lvl=++R; s.l=i+1; s.h=n-1; s.f=p; s.lr=2; enqueue(Q,s);}else if (i==n-1) //根结点无右子树,遍历序列的1—n-1是左子树{p->rchild=null;s.lvl=++R; s.l=1; s.h=i-1; s.f=p; s.lr=1; enqueue(Q,s);}else //根结点有左子树和右子树{s.lvl=++R; s.l=0; s.h=i-1; s.f=p; s.lr=1;enqueue(Q,s);//左子树有关信息入队列s.lvl=++R; s.l=i+1;s.h=n-1;s.f=p; s.lr=2;enqueue(Q,s);//右子树有关信息入队列}while (!empty(Q)) //当队列不空,进行循环,构造二叉树的左右子树{ s=delqueue(Q); father=s.f;for (i=s.l; i<=s.h; i++)if (in[i]==level[s.lvl]) break;p=(bitreptr)malloc(sizeof(binode)); //申请结点空间p->data=level[s.lvl]; p->lchild=null; p->rchild=null; //填写该结点数据if (s.lr==1) father->lchild=p;else father->rchild=p; //让双亲的子女指针指向该结点if (i==s.l){p->lchild=null; //处理无左子女s.lvl=++R; s.l=i+1; s.f=p; s.lr=2; enqueue(Q,s);}else if (i==s.h){p->rchild=null; //处理无右子女s.lvl=++R; s.h=i-1; s.f=p; s.lr=1; enqueue(Q,s);}else{s.lvl=++R; s.h=i-1; s.f=p; s.lr=1; enqueue(Q,s);//左子树有关信息入队列s.lvl=++R; s.l=i+1; s.f=p; s.lr=2; enqueue(Q,s); //右子树有关信息入队列}}//结束while (!empty(Q))return(p);}//算法结束2、二叉树的层次遍历序列的第一个结点是二叉树的根。
数据结构(宁夏大学)智慧树知到课后章节答案2023年下宁夏大学
![数据结构(宁夏大学)智慧树知到课后章节答案2023年下宁夏大学](https://img.taocdn.com/s3/m/fddc82d5541810a6f524ccbff121dd36a22dc443.png)
数据结构(宁夏大学)智慧树知到课后章节答案2023年下宁夏大学宁夏大学第一章测试1.在数据结构中,从逻辑上可以把数据结构分成()。
A:动态结构和静态结构 B:紧凑结构和非紧凑结构 C:线性结构和非线性结构 D:内部结构和外部结构答案:线性结构和非线性结构2.算法分析的两个主要方面是()。
A:时间复杂度和空间复杂度 B:数据复杂性和程序复杂性 C:可读性和文档性 D:正确性和简单性答案:时间复杂度和空间复杂度3.计算机算法必须具备输入、输出和()等5个特性。
A:易读性、稳定性和安全性 B:确定性、有穷性和稳定性 C:可行性、确定性和有穷性 D:可行性、可移植性和可扩充性答案:可行性、确定性和有穷性4.数据结构是研究数据的()以及它们之间的相互关系。
A:物理结构,逻辑结构 B:理想结构,物理结构 C:抽象结构,逻辑结构 D:理想结构,抽象结构答案:物理结构,逻辑结构5.数据结构中,与所使用的计算机无关的是数据的()结构。
A:逻辑 B:物理 C:物理和存储 D:存储答案:逻辑6.组成数据的基本单位是()。
A:数据项 B:数据变量 C:数据元素 D:数据类型答案:数据元素7.设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是()。
A:图型结构 B:线性结构 C:树型结构 D:集合答案:图型结构8.下面程序的时间复杂为()for(i=1,s=0; i<=n; i++) {t=1;for(j=1;j<=i;j++) t=t*j;s=s+t;} A:O(n2) B:O(n3) C:O(n4) D:O(n)答案:O(n2)9.程序段s=i=0;do {i=i+1; s=s+i;}while(i<=n);的时间复杂度为()。
A: O(n2) B:O(n) C:O(n3/2) D:O(nlog2n)答案:O(n)10.算法指的是()A:计算机程序 B:排序算法 C:解决问题的有限运算序列 D:解决问题的计算方法答案:解决问题的有限运算序列11.算法就是程序。
2010宁夏回族自治区JAVA版数据结构考试重点和考试技巧
![2010宁夏回族自治区JAVA版数据结构考试重点和考试技巧](https://img.taocdn.com/s3/m/5fb8f06d1711cc7931b716c6.png)
26、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->next
C)p=p->nexe->next D)p->next=p
s +=B[i][j];
sum = s ;
A) O(n2) B) O(n)
C) O(m*n) D)O(1)
18、设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主存储,a??11为第一个元素,其存储地址为1,每元素占1个地址空间,则a85的地址为( B )。
for( i =0; i<n; i++)
for(j=0;j<n;j++)
s +=B[i][j];
sum = s ;
A) O(n2) B) O(n)
C) O(m*n) D)O(1)
33、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( D )。
27、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
28、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构
22、设有一个栈,元素的进栈次序为A, B, C, D, E,下列是不可能的出栈序列是( C )。
A) A, B, C, D, E
2010年宁夏回族自治区数据库入门加强
![2010年宁夏回族自治区数据库入门加强](https://img.taocdn.com/s3/m/ae2e4a2331126edb6f1a1032.png)
1、设一棵二叉树的结点结构为 (LLINK,INFO,RLINK),ROOT为指向该二叉树根结点的指针,p 和q分别为指向该二叉树中任意两个结点的指针,试编写一算法ANCESTOR(ROOT,p,q,r),该算法找到p和q的最近共同祖先结点r。
2、已知有向图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的拓扑排序的结果。
G拓扑排序的结果是:V1、V2、V4、V3、V5、V6、V73、有一个带头结点的单链表,每个结点包括两个域,一个是整型域info,另一个是指向下一个结点的指针域next。
假设单链表已建立,设计算法删除单链表中所有重复出现的结点,使得info域相等的结点只保留一个。
#include <stdio.h>typedef char datatype;typedef struct node{datatype data;struct node * next;} listnode;typedef listnode* linklist;/*--------------------------------------------*//* 删除单链表中重复的结点 *//*--------------------------------------------*/linklist deletelist(linklist head){ listnode *p,*s,*q;p=head->next;while(p){s=p;q=p->next;while(q)if(q->data==p->data){s->next=q->next;free(q);q=s->next;}else{ s=q; /*找与P结点值相同的结点*/q=q->next;}p=p->next;}return head;}4、根据二叉排序树中序遍历所得结点值为增序的性质,在遍历中将当前遍历结点与其前驱结点值比较,即可得出结论,为此设全局指针变量pre(初值为null)和全局变量flag,初值为true。
2010年宁夏回族自治区数据结构习题集答案(C语言版严蔚敏)_图文(必备资料)
![2010年宁夏回族自治区数据结构习题集答案(C语言版严蔚敏)_图文(必备资料)](https://img.taocdn.com/s3/m/e8a742ec941ea76e58fa0477.png)
C.对数据有哪些运算 D.所用的编程语言实现这种结构是否方便。
29、由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它 53
30、G是一个非连通无向图,共28条边,则该图至少有( )个顶点
A 顺序表 B单链表 C 双链表 D单循环链表
40、在以下的叙述中,正确的是 B 。
A.线性表的顺序存储结构优于链表存储结构
B.二维数组是其数据元素为线性表的线性表
C.栈的操作方式是先进先出
D.队列的操作方式是先进后出
C.分析算法的效率以求改进 C.分析算法的易读性和文档性
(2)A.空间复杂度和时间复杂度 B.正确性和简明性
C.可读性和文档性 D.数据复杂性和程序复杂性
8、在一个单链表HL中,若要向表头插入一个由指针p指向的结点,则执行( )。
A. HL=ps p一>next=HL
26、算法分析的目的是 C ,算法分析的两个主要方面是 A 。
(1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系
C.分析算法的效率以求改进 C.分析算法的易读性和文档性
(2)A.空间复杂度和时间复杂度 B.正确性和简明性
C.可读性和文档性 D.数据复杂性和程序复杂性
1、数据结构在计算机内存中的表示是指 A 。
A.数据的存储结构 B.数据结构 C.数据的逻辑结构 D.数据元素之间的关系
2、由权值分别为3,8,6,2,5的叶子结点生成一棵哈夫曼树,它的带权路径长度为( )。
A.24 B.48
C. 72 D. 53
C.数据元素之间的关系 D.数据的存储方法
21、在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。
数据结构与算法习题册参考答案
![数据结构与算法习题册参考答案](https://img.taocdn.com/s3/m/0a844c725acfa1c7aa00ccd2.png)
数据结构与算法习题册(课后部分参考答案)《数据结构与算法》课程组目录目录课后习题部分第一章绪论 (1)第二章线性表 (3)第三章栈和队列 (5)第四章串 (8)第五章数组和广义表 (10)第六章树和二叉树 (13)第七章图 (16)第九章查找 (20)第十章排序 (23)第一章绪论一. 填空题1. 从逻辑关系上讲,数据结构的类型主要分为集合、线性结构、树结构和图结构。
2. 数据的存储结构主要有顺序存储和链式存储两种基本方法,不论哪种存储结构,都要存储两方面的内容:数据元素和数据元素之间的关系。
3. 算法具有五个特性,分别是有穷性、确定性、可行性、输入、输出。
4. 算法设计要求中的健壮性指的是算法在发生非法操作时可以作出处理的特性。
二. 选择题1. 顺序存储结构中数据元素之间的逻辑关系是由 C 表示的,链接存储结构中的数据元素之间的逻辑关系是由 D 表示的。
A 线性结构B 非线性结构C 存储位置D 指针2. 假设有如下遗产继承规则:丈夫和妻子可以相互继承遗产;子女可以继承父亲或母亲的遗产;子女间不能相互继承。
则表示该遗产继承关系的最合适的数据结构应该是B 。
A 树B 图C 线性表D 集合3. 算法指的是 A 。
A 对特定问题求解步骤的一种描述,是指令的有限序列。
B 计算机程序C 解决问题的计算方法D 数据处理三. 简答题1. 分析以下各程序段,并用大O记号表示其执行时间。
(1) (2)i=1;k=0; i=1;k=0;While(i<n-1) do{ {k=k+10*i; k=k+10*i;i++; i++;} }while(i<=n)⑴基本语句是k=k+10*i,共执行了n-2次,所以T(n)=O(n)。
⑵基本语句是k=k+10*i,共执行了n次,所以T(n)=O(n)。
2. 设有数据结构(D,R),其中D={1, 2, 3, 4, 5, 6},R={(1,2),(2,3),(2,4),(3,4),(3,5),(3,6),(4,5),(4,6)}。
宁夏回族自治区考研计算机应用技术复习资料数据库原理概要
![宁夏回族自治区考研计算机应用技术复习资料数据库原理概要](https://img.taocdn.com/s3/m/5e50bdabf80f76c66137ee06eff9aef8941e488c.png)
宁夏回族自治区考研计算机应用技术复习资料数据库原理概要计算机应用技术是近年来发展迅速的一个领域,它与现代社会的信息化程度密切相关。
在宁夏回族自治区考研中,计算机应用技术作为一个重要的考试科目,数据库原理是考生们需要重点掌握的内容之一。
本文将从数据库的定义和分类、数据库管理系统的概念、数据库设计和数据模型、数据查询分析以及数据库安全和性能优化等方面,为准备参加宁夏回族自治区考研计算机应用技术的考生提供相关复习资料和知识概要。
一、数据库的定义和分类数据库是指存储有组织的数据集合的一种技术和系统,它具有数据的持久性、独立性和共享性等特点。
根据数据的组织方式和处理功能,数据库可以分为层次数据库、网状数据库和关系数据库等不同类型。
在实际应用中,关系数据库被广泛采用,由于其使用方便、具备较高的数据处理能力和灵活性,因此在考试中也是重点内容。
二、数据库管理系统的概念数据库管理系统(DBMS)是一种用于管理和操作数据库的软件系统,它提供了数据的存储、检索、修改和删除等功能。
DBMS可以分为层次结构和网络结构两种类型,采用不同的数据模型和结构组织方式。
在计算机应用技术考试中,需要了解DBMS的基本概念、体系结构以及其与操作系统之间的关系。
三、数据库设计和数据模型数据库设计是指按照一定的原则和方法,将现实世界的实体和关系转化为数据库中的数据结构和关联规则。
常用的数据模型有层次模型、网状模型和关系模型等,其中关系模型是最常用的一种。
在数据库设计过程中,需要考虑实体、属性、关系和完整性约束等概念,采用ER图来表示。
四、数据查询分析数据查询是指通过结构化查询语言(SQL)等方式,从数据库中提取所需的数据信息。
在考试中,需要掌握SQL的基本语法和常用操作,包括数据的查询、插入、更新和删除等。
此外,还需要了解查询优化和索引设计等相关知识,以提高查询效率和减少资源消耗。
五、数据库安全和性能优化数据库安全是指保护数据库不被非法访问、篡改和丢失的一种措施和技术。
2015宁夏回族自治区数据结构(C++)最新考试试题库
![2015宁夏回族自治区数据结构(C++)最新考试试题库](https://img.taocdn.com/s3/m/b474d24a804d2b160b4ec077.png)
14、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( B )。
A)3,2,5,6,4,1 B)1,5,4,6,2,3
C)2,4,3,5,1,6 D)4,5,3,6,2,1
23、串的逻辑结构与( D )的逻辑结构不相同。
A)线性表 B)栈
C)队列 D)集合
24、广义表head(((a,b),(c,d)))的运算结果为( A )。
A)(a,b) B)(c,d)
15、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
16、在一个单链表中,已知q结点是p结点的前趋结点,若在q和p之间插入s结点,则须执行( A ) 。
A)q->next=s; s->next=p; B)s->next=p->next; p->next=s;
C)顺序队列 D)链队列
35、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->next
C)p=p->nexe->next D)p->next=p
7、线索二叉树中某结点D,没有左孩子的条件是( B )。
A)D->Lchild=Null B) D->ltag=1
C) D->Rchild=Null D) D->ltag=0
8、广义表head(((a,b),(c,d)))的运算结果为( A )。
2010年宁夏回族自治区学习数据库摘要
![2010年宁夏回族自治区学习数据库摘要](https://img.taocdn.com/s3/m/660ffd5a852458fb770b56ea.png)
{Pi,Pi+1,…,Pm-1}可唯一确定二叉树的右子树 。
5、假设以邻接矩阵作为图的存储结构,编写算法判别在给定的有向图中是否存在一个简单有向回路,若存在,则以顶点序列的方式输出该回路(找到一条即可)。(注:图中不存在顶点到自己的弧)
设中序序列为S1,S2,…,Sm,后序序列是P1,P2,…,Pm。因后序序列最后一个元素Pm是根,则在中序序列中可找到与Pm相等的结点(设二叉树中各结点互不相同)Si(1≤i≤m),因中序序列是由中序遍历而得,所以Si是根结点,S1,S2,…,Si-1是左子树的中序序列,而Si+1,Si+2,…,Sm是右子树的中序序列。
(1)A和D是合法序列,B和C 是非法序列。
(2)设被判定的操作序列已存入一维数组A中。
int Judge(char A[])
//判断字符数组A中的输入输出序列是否是合法序列。如是,返回true,否则返回false。
{i=0; //i为下标。
{
lklist *p,*q,*t;
for(p=ha,hc=0;p!=0;p=p->next)
{ for(q=hb;q!=0;q=q->next) if (q->data==p->data) break;
if(q!=0){ t=(lklist *)malloc(sizeof(lklist)); t->data=p->data;t->next=hc; hc=t;}
if(i==start) printf(“\n”); else Print(i,start);break;}//if
2010宁夏回族自治区计算机等级考试二级试题及答案
![2010宁夏回族自治区计算机等级考试二级试题及答案](https://img.taocdn.com/s3/m/52c8970255270722192ef7e6.png)
1、设有下列二叉树:图见书P46对此二叉树中序遍历的结果为(B)A. ABCDEFB. DBEAFCC. ABDECFD. DEBFCA2、下面不属于软件工程的3个要素的是(D)A. 工具B. 过程C. 方法D. 环境3、数据的存储结构是指(B)A. 数据所占的存储空间量B. 数据的逻辑结构在计算机中的表示C. 数据在计算机中的顺序存储方式D. 存储在外存中的数据4、下列工具中属于需求分析常用工具的是(D)A. PADB. PFDC. N-SD. DFD5、算法的空间复杂度是指(D)A. 算法程序的长度B. 算法程序中的指令条数C. 算法程序所占的存储空间D. 算法执行过程中所需要的存储空间6、在软件开发中,下面任务不属于设计阶段的是(D)A. 数据结构设计B. 给出系统模块结构C. 定义模块算法D. 定义需求并建立系统模型7、下面对对象概念描述错误的是(A)A. 任何对象都必须有继承性B. 对象是属性和方法的封装体C. 对象间的通讯靠消息传递D. 操作是对象的动态性属性8、对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为(B) 注:要牢记A. N+1B. NC. (N+1)/2D. N/29、数据库系统的核心是(B)A. 数据模型B. 数据库管理系统C. 软件工具D. 数据库10、下列叙述中正确的是(C)A.数据库是一个独立的系统,不需要操作系统的支持B.数据库设计是指设计数据库管理系统C.数据库技术的根本目标是要解决数据共享的问题D.数据库系统中,数据的物理结构必须与逻辑结构一致11、以下数据结构中不属于线性数据结构的是(C)A. 队列B. 线性表C. 二叉树D. 栈12、算法一般都可以用哪几种控制结构组合而成(D)A. 循环、分支、递归B. 顺序、循环、嵌套C. 循环、递归、选择D. 顺序、选择、循环13、程序流程图(PFD)中的箭头代表的是(B)A. 数据流B. 控制流C. 调用关系D. 组成关系14、信息隐蔽的概念与下述哪一种概念直接相关(B)A.软件结构定义B. 模块独立性C. 模块类型划分D. 模拟耦合度15、数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
2010宁夏回族自治区数据库入门入门
![2010宁夏回族自治区数据库入门入门](https://img.taocdn.com/s3/m/18bf6224eefdc8d376ee32ae.png)
1、#define maxsize 栈空间容量void InOutS(int s[maxsize])//s是元素为整数的栈,本算法进行入栈和退栈操作。
{int top=0; //top为栈顶指针,定义top=0时为栈空。
for(i=1; i<=n; i++) //n个整数序列作处理。
{scanf(“%d”,&x); //从键盘读入整数序列。
if(x!=-1) // 读入的整数不等于-1时入栈。
if(top==maxsize-1){printf(“栈满\n”);exit(0);}else s[++top]=x; //x入栈。
else //读入的整数等于-1时退栈。
{if(top==0){printf(“栈空\n”);exit(0);}else printf(“出栈元素是%d\n”,s[top--]);}}}//算法结2、请设计一个算法,要求该算法把二叉树的叶子结点按从左到右的顺序连成一个单链表,表头指针为head。
二叉树按二叉链表方式存储,链接时用叶子结点的右指针域来存放单链表指针。
分析你的算法的时、空复杂度。
3、设T是一棵满二叉树,编写一个将T的先序遍历序列转换为后序遍历序列的递归算法。
4、假设以I和O分别表示入栈和出栈操作。
栈的初态和终态均为空,入栈和出栈的操作序列可表示为仅由I和O组成的序列,称可以操作的序列为合法序列,否则称为非法序列。
(15分)(1)下面所示的序列中哪些是合法的?A. IOIIOIOOB. IOOIOIIOC. IIIOIOIOD. IIIOOIOO(2)通过对(1)的分析,写出一个算法,判定所给的操作序列是否合法。
若合法,返回true,否则返回false(假定被判定的操作序列已存入一维数组中)。
5、请编写一个判别给定二叉树是否为二叉排序树的算法,设二叉树用llink-rlink法存储。
6、矩阵中元素按行和按列都已排序,要求查找时间复杂度为O(m+n),因此不能采用常规的二层循环的查找。
2010新疆维吾尔自治区数据结构(必备资料)
![2010新疆维吾尔自治区数据结构(必备资料)](https://img.taocdn.com/s3/m/69e6632543323968011c9220.png)
1、线性表的链接实现有利于( A )运算。
A)插入 B)读元素C)查找 D)定位2、n个顶点的强连通图至少有( A )条边。
A)n B)n+1 C)n-1 D)n(n-1)3、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。
A)4 B)5C)6 D)74、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面5、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;C)p=p->next->next; D) p->next=p;6、队列的操作的原则是( A )。
A)先进先出 B) 后进先出C) 只能进行插入 D) 只能进行删除7、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。
A)4 B)5C)6 D)78、已知栈的最大容量为4。
若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。
A) 5,4,3,2,1,6 B) 2,3,5,6,1,4C) 3,2,5,4,1,6 D) 1,4,6,5,2,39、以下属于顺序存储结构优点的是( A )。
A) 存储密度大B) 插入运算方便C)删除运算方便D)可方便地用于各种逻辑结构的存储表示10、在数据结构中,从逻辑上可以把数据结构分为( C )。
A)动态结构和静态结构 B)紧凑结构和非紧凑结构C)线性结构和非线性结构 D)内部结构和外部结构11、队列的操作的原则是( A )。
A)先进先出 B) 后进先出C) 只能进行插入 D) 只能进行删除12、已知栈的最大容量为4。
若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C) s->next=hs; hs=s; D) s->next=hs; hs=hs->next;
3、下列序列中,执行第一趟快速排序后得到的序列是( A )。
22、已知栈的最大容量为4。若进栈序列为1,2,3,4,5,6,且进栈和出栈可以穿插进行,则可能出现的出栈序列为( C )。
A) 5,4,3,2,1,6 B) 2,3,5,6,1,4
C) 3,2,5,4,1,6 D) 1,4,6,5,2,3
23、二叉树第i(i≥1)层上至多有( C )结点。
31、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A) 单链表 B) 仅有头指针的单循环链表
C) 双链表 D) 仅有尾指针的单循环链表
32、在一个链队列中,假定front和rear分别为队首和队尾指针,则插入一个结点的操作为( B )。
A)上三角矩阵 B) 稀疏矩阵
C) 对角矩阵 D) 对称矩阵
16、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
A)3 B)4 C)5 D)1
17、下面程序段的时间复杂度是( A )。
C) rear=front->next; D) front=rear->next ;
8、数据结构研究的内容是( D )。
A)数据的逻辑结构 B)数据的存储结构
C)建立在相应逻辑结构和存储结构上的算法 D)包括以上三个方面
27、有一个有序表{1,4,6,10,18,35,42,53,67,71,78,84,92,99}。当用二分查找法查找键值为84的结点时,经( B )比较后查找成功。
A) 4 B)3 C)2 D)12
28、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
A)顺序栈 B)循环队列
C)顺序队列 D)链队列
7、在一个链队列中,假定front和rear分别为队首和队尾指针,则删除一个结点的操作为( B )。
A) rear=rear->next; B) front=front->next;
A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]
C) [g,a,e,c,b]f[d,h] D) [a,b,c,d,]f[e,g,h]
4、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( D )。
A)上三角矩阵 B) 稀疏矩阵
A)front=front->next; B) rear=rear->next;
C) rear=front->next; D) front=rear->next ;
33、线性表的链接实现有利于( A )运算。
A)插入 B)读元素
C) 对角矩阵 D) 对称矩阵
5、设一数列的顺序为1,2,3,4,5,6,通过栈结构不可能排成的顺序数列为( B )。
A)3,2,5,6,4,1 B)1,5,4,6,2,3
C)2,4,3,5,1,6 D)4,5,3,6,2,1
6、( C )在进行插入操作时,常产生假溢出现象。
A)顺序表示法 B)单字符为结点的单链表表示法
C)等量分块表示法 D)不等量分块表示法
26、若一棵二叉树具有10个度为2的结点,5个度为1的结点,则度为0的结点的个数是( B )。
A)9 B)11 C)15 D)不能确定
A)p->next=p->next->next B)p=p->next
C)p=p->nexe->next D)p->next=p
19、线性表的链接实现有利于( A )运算。
A)插入 B)读元素
C)查找 D)定位
A)一个数量级别 B)一个平均值
C)一个最大值 D)一个均方值
11、下面程序段的时间复杂度是( A )。
s =0;
for( i =0; i<n; i++)
for(j=0;j<n;j++)
s +=B[i][j];
sum = s ;
A) O(n2) B) O(n)
s =0;
for( i =0; i<n; i++)
for(j=0;j<n;j++)
s +=B[i][j];
sum = s ;
A) O(n2) B) O(n)
C) O(m*n) D)O(1)
18、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
35、在一棵度为3的树中,度为3的结点个数为2,度为2的结点个数为1,则度为0的结点个数为( C )。
A)4 B)5
C)6 D)7
36、n个顶点的图的最小生成树必定( D ),是不正确的描述
A)不唯一 B)权的总和唯一
A)2i B)2i C)2i-1 D)2i-1
24、采用链结构存储线性表时,其地址( B )。
A)必须是连续的 B)连续不连续都可以
C)部分地址必须是连续 D)必须是不连续的
25、倘若在对串的插入、删除运算中,期望运算速度最快,则应采用( C )。
13、如果结点A有3个兄弟,而且B为A的双亲,则B的度为( B )。
A)3 B)4 C)5 D)1
14、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
15、若采用邻接矩阵法存储一个n个顶点的无向图,则该邻接矩阵是一个( D )。
A) Head(Head(Tail(Tail(L))))
B) Tail(Head(Head(Tail(L))))
C) Head(Tail(Head(Tail(L))))
D)Head(Tail(Head(Tail(Tail(L)))))
9、若某线性表最常用的操作是存取任一指定序号的元素和在最后进行插入和删除运算,则利用( D )存储方式最节省时间。
A)顺序表 B)双链表 C)带头结点的双循环链表 D)单循环链表
10、设给定问题的规模为变量n,解决该问题的算法所需时间为Tn=O(f(n)),Tn表示式中记号O表示( A )。
1、下列序列中,执行第一趟快速排序后得到的序列是( A )。
A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]
C) [g,a,e,c,b]f[d,h] D) [a,b,c,d,]f[e,g,h]
2、向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( D )。
C)不含回路 D)有n条边
37、设单链表中指针p指着结点A,若要删除A之后的结点(若存在),则需要修改指针的操作为( A )。
A)p->next=p->next->next B)p=p->next
C)p=p->nexe->next D)p->next=p
C)队列 D)树
29、串的逻辑结构与( D )的逻辑结构不同。
A)线性表 B)栈
C)队列 D)树
30、已知广义表L=((x,y,z),a,(u,t,w)),从L 表中取出原子项t 的操作是( D )。
C) O(m*n) D)O(1)
12、设单链表中指针p指向结点m,若要删除m之后的结点(若存在),则需修改指针的操作为( A )。
A)p->next=p->next->next; B) p=p->next;
C)p=p->next->next; D) p->next=p;
20、二叉树第i(i≥1)层上至多有( C )结点。
A)2i B)2i C)2i-1 D)2i-1
21、以下属于顺序存储结构优点的是( A )。
A) 存储密度大 B) 插入运算方便
C)删除运算方便 D)可方便地用于各种逻辑结构的存储表示
C)查找 D)定位
34、下列序列中,执行第一趟快速排序后得到的序列是( A )。
A)[d,a,e,d,b]f[h,g] B) [c,e,a,d]f[h,g,b]
C) [g,a,e,c,b]f[d,h] D) [a,b,c,d,]f[e,g,h]
38、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个元素,则采用( D )存储方式最节省运算时间。
A) 单链表 B) 仅有头指针的单循环链表
C) 双链表 D) 仅有尾指针的单循环链表