还剩4页未读,继续阅读
文本内容:
数据结构与算法课程考试复习资料
1、填空题A卷ArrayList类在.Net框架的System.Collections命名空间中A、B卷C#语言中,数组的基类是ArrayA、B卷C#语言中提供了两种类分别用来表示栈和队列,它们是Stack类和Queue类A卷查找指定字符的方法是substringA卷C#中提供了两种操作字符串的方式,分别是String和StringBuilder类A卷常用的查找算法有顺序查找和折半查找A卷假设一个栈里面没有任何元素存在,我们称之为空栈A卷在插入和选择排序中,若初始数据基本正序,则选用插入;若初始数据基本反序,则选用选择B卷栈是一种线性结构B卷可变字符串默认的容量大小是16B卷在C#语言中,System.Collections命名空间中定义了队列类QueueB卷链表结构中的每个节点都是由两部分组成的,即一个用来存储数据一个用来存储下一个节点的引用B卷StringBuilder类表达的值为可变字符序列的类似字符串的对象A、B卷负载系统指标比较重要,对应Hashtable而言,负载系数越小,其性能越好A、B卷图有邻接矩阵、邻接表等存储结构B卷遍历图有深度优先搜索遍历、广度优先搜索遍历等方法单选题A、B卷下列选项中,哪个选项表示数组所有维数内元素的总数量(A)A、LengthB、CountC、GetLengthD、RankA、B卷下列哪个方法是不属于ArrayList类的?DA、AddB、CapacityC、CountD、LengthA、B卷下列哪个方法用于向ArrayList中添加一个元素?AA、AddB、Insert C、AddRangeD、ItemA、B卷下列排序方法中,哪种排序效率最高?AA、选择排序B、冒泡排序C、插入排序D、归并排序A、B卷下列排序算法中,哪一种排序比较适合大数据集合?DA、选择排序B、冒泡排序C、插入排序D、希尔排序A、B卷在实现插入排序过程中,一般通过B循环来实现?A、一层B、二层C、三层D、四层A、B卷下列哪个结构属于非线性结构?(D)A、队列B、栈C、数组D、二叉树A卷下列哪些不属于栈的基础操作?(D)A、判断栈是否为空B、判断栈是否已满C、退栈D、删除栈A、B卷下列哪个转义字符表示的是换行?(A)A、\nB、\tC、\rD、\hrA、B卷下列哪个属性表示的是字符串的长度?(A)A、LengthB、CapatityC、SizeD、MaxA、B卷下列哪些类不能使用于字符串操作?(D)A、stringB、stringBuliderC、RegExD、SqlconnectionA卷下列哪些方法不属于常用的字典类型操作方法?(A)A、New方法添加新数据B、Item方法取值C、Remove方法移除值D、Clear方法清除值A卷对于字典数据类型而言,它是通过去匹配值的?(A)A、键B、索引C、序号D、默认顺序A卷在C#底层框架中,提供了一个按照分类顺序且基于键值对的形式存储数据的数据结构DA、stringB、stringBuliderC、RegExD、SortedListA卷散列结构不主要应用于下列哪些场景?(B)A、快速的插入数据B、快速的查找数据C、快速的删除数据D、快速清除数据A卷下列哪种实例化Hashtable类是错误的?(D)A、Hashtableht1=newHashtable;B、Hashtableht2=newHashtable50;C、Hashtableht3=newHashtable
202.0f;D、Hashtableht4=newHashtable“1””AA”;A卷链表是被称为节点类的对象集合的群集每一个链表节点通过一个引用链接到列表内的后继节点在这些节点中需要包含哪些部分?(C)A、数据和索引B、数据和超链接C、保存数据及指向下一节点的属性D、数据和数据变量A卷下列哪些是不属于链表的改进方案(C)A、单向链表B、双向链表C、循环链表D、递归链表A卷非空二叉树的先序遍历序列与后序遍历序列正好相反,则该二叉树一定满足?(D)A、所有的结点无左孩子B、所有的结点无右孩子C、是任意一二叉树D、只有一个叶子结点A、B卷在ArrayList类中,用于返回指定数据项首次出现的索引的方法是?BA、Insert方法B、IndexOf方法C、RemoveAt方法D、Reverse方法B卷下列哪些符号不能表示正则表达式数量词?DA、+B、C、*D、B卷下列排序算法中,哪一种排序比较适合大数据集合?DA、选择排序B、冒泡排序C、插入排序D、希尔排序B卷对于集合{53746821},进行第一趟排序后变成{35467218}请问是通过下列哪个排序算法实现的?(B)A、选择排序B、冒泡排序C、插入排序D、归并排序B卷下列哪些类不能使用于字符串操作?(D)A、stringB、stringBuliderC、RegExD、SqlconnectionB卷下面哪个选项表示的是空字符串?(C)A、””B、””C、string.EmptyD、NullB卷下列代码向Hashtable中添加了几个值Hashtableht=newHashtable30;ht.AddempNameangus;ht.AddempAge27;ht.AddempSalary8000;(B)A、30B、3C、2;D、4B卷下列哪个特性不是属于面向对象思想(D)A、封装B、继承C、多态D、实例化B卷利用二叉链表存储树,则根结点的右指向是(B)A、指向最左节点B、指向最右节点C、空D、非空B卷对于序列{15,9,7,8,20,-1,4}进行排序,进行一趟后数据的排列变为{4,9,-1,8,20,7,15};则采用的是(D)排序A、选择B、快速C、希尔D、冒泡多选题A卷下列哪个方法是属于ArrayList类的?(ABC)A、AddB、CapacityC、CountD、LengthA卷下列描述中不正确的是()A、字符型数组中可以存放字符串B、可以对字符型数组进行整体输入、输出C、可以对整型数组进行整体输入、输出D、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值A卷下列哪个方法不是用于向ArrayList中添加一个元素的?(CD)A、AddB、Insert C、AddRangeD、ItemA卷下列哪些参数是用来描述算法性能的?(AB)A、时间复杂度B、空间复杂度C、程序执行次数D、实现算法的代码量A卷下列哪些方法属于RegEx类?(CD)A、ReplaceB、SplitC、JionD、OpenB卷常见的图结构包含下列哪些图?(AB)A、无向图B、有向图C、带权图D、位图B卷在一个图中,所有顶点的度数之和等于所有边数的多少倍?(C)A、
0.5B、1C、2D、4B卷如果要快速地对序列进行稳定的排序,则不应选择下列的哪些算法?(ACD)A、快速排序B、归并排序C、冒泡排序D、二分法插入排序B卷下列哪些是属于链表的改进方案(BCD)A、单向链表B、双向链表C、循环链表D、递归链表B卷下列哪个特性属于面向对象思想?(ABC)A、封装B、继承C、多态D、实例化判断题A卷数组是非线性结构(N)A卷多维数组就是多个一维数组组成的(Y)A卷在基础排序算法中,选择排序是这三种算法中效率最高的,其次便是冒泡排序和插入排序(Y)A卷关键字是指数据序列(或记录)中某个数据项的值,用以标识一个数据元素(或记录)(Y)A、B卷在队列结构中,向队列中插入元素的过程称为出栈(N)A、B卷当栈中元素的个数n=0时,则称之为空栈(Y)A卷C#语言中字符串定义为字符的序列,它可以是字母、数字和其他符号的组合(Y)A卷在初始化StringBuilder的实例时没有指定容量或最大容量,则使用特定于实现的默认值(Y)A卷在C#语言中,要使用正则表达式,必须先从底层框架中引用RegEx类该类位于System.Text.RegularExpression命名空间(Y)A、B卷存储在字典结构中的键值项是通过DictionaryEntry对象来进行存储的(Y)B卷栈又被称为后进先出LastInFirstOut的线性表,简称LIFO线性表(Y)B卷String类的Split方法用于把一个字符串分解成一个序列片段,并且把它们放入到一个Stirng类型的数组里面(Y)B卷StringBuilder对象的MaxCapacity属性返回当前对象实例中可以允许的最大字符串数目(Y)B卷在C#
2.0以后的版本还提供了泛型的SortedList类,使用它之前需要引用System.Collections.Generic(Y)B卷二叉树是最多只有两个子树且两个子树有左右之分的有序树(Y)B卷邻接表由结点表和边表两部分组成(Y)B卷Queue类的Enqueue方法用于将对象添加到Queue的结尾(Y)名称解释部分A卷数组结构数组是一种数据结构,它包含若干相同类型的变量,是一组可以被索引的数据集合A卷冒泡排序排序算法的得名是由于数值“像气泡一样”从集合的一端浮动到另一端假如现在要把一列数据按照从小到大的方式进行排序,那么较大的数值浮动到数列的右边,较小的数值浮动到数列的左边这种冒泡的效果可以通过多次遍历集合,并且比较相邻元素的数值,根据数值大小进行位置交换A卷查找关键字是指数据序列(或记录)中某个数据项的值,用以标识(识别)一个数据元素(或记录)A卷队列结构队列queue也是一种特殊的线性表,但是它允许在表的一端进行插入操作,而在表的另一端进行删除操作一般允许删除的一端称之为队头,允许插入的一端则称之为队尾不含任何元素的空列表则称为空队列B卷正则表达式正则表达式中还有一个重要性的概念就是元字符,它是一种特殊的字符,用于表示重复、替换或者分组B卷散列结构散列是一种非常有用的数据存储结构,它可以迅速的操作数据插入、查找等散列采用的数据结构我们通常称之为散列表B卷Hashtable结构Hashtable类是Dictionary对象的一种特殊数据类型,它存储的数据项为键值对B卷链表结构链表是被称为节点类的对象集合的群集每一个链表节点通过一个引用链接到列表内的后继节点问答题A卷简述Array类与ArrayList的区别?Array类是数组基类,ArrayList表示的一个可变数组A卷定义一个字符串数组,分别通过for及foreach语句进行循环遍历输出?string[]stuInfo=newString[]{水果蔬菜玉米};//使用for语句循环遍历数组forinttemp=0;tempstuInfo.Length;temp++{Console.WriteLinestring.FormatTheValueis{0}!stuInfo[temp];}Console.WriteLine.PadLeft20=;//使用foreach语句循环遍历数组foreachstringstrTempinstuInfo{Console.WriteLinestring.FormatTheValueofstuInfois{0}!strTemp;}A、B卷简述插入排序实现原理及执行过程每一数据比较都将一个待排序的数据元素,按照其关键字的大小,插入到已经排序的数据序列中,使插入后的数据序列仍然是有序的,直到全部数据序列元素插入完毕为止B卷定义一个多维数组,该数组用于代表学生成绩信息,且数组中每位同学有4科成绩,定义该结构并算出每位学员的平均分数?int[]stuGrades=new[]{{075857993}{189908779}{270836890}{378968473}{480706584}};//学生平均分floataverageGrade=
0.0f;intlast_stu=stuGrades.GetUpperBound0;intlast_grade=stuGrades.GetUpperBound1;intintTotal;forintnumRow=0;numRow=last_stu;numRow++{intTotal=0;forintnumColumn=0;numColumn=last_grade;numColumn++{intTotal+=stuGrades[numRownumColumn];}averageGrade=intTotal/last_grade;Console.WriteLinestring.FormatTheAverageScoreof{0}is{1}!numRowaverageGrade;}B卷数组结构与链表结构的区别是什么?链表结构优势有哪些?对于数组而言,有序数组对于查找效率好高很多但是链表结构的执行效率更高。