ImageVerifierCode 换一换
格式:DOCX , 页数:11 ,大小:54.22KB ,
资源ID:8833471      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8833471.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构期末练习题.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构期末练习题.docx

1、数据结构期末练习题1.数据的不可分割的基本单位是 ( A )。A元素B结点C数据类型D数据项2.计算机处理数据的最小单位是( D )。A元素B结点C数据类型D数据项3.算法是指 ( C )。A计算方法B排序方法C解决问题的有限运算步骤D查找方法4.顺序存储结构中数据元素之间的逻辑关系是由( C )表示的 A 线性结构 B 非线性结构 C 存储位置 D 指针 5.单循环链表的主要优点是( B )。 A 不再需要头指针了 B 从表中任一结点出发都能扫描到整个链表;C 已知某个结点的位置后,能够容易找到它的直接前趋; D 在进行插入、删除操作时,能更好地保证链表不断开。 6.此题的解决步骤是如果出现

2、一个三元素顺序是a、b、c,且acb,则为不可能序列一个栈的入栈序列是1,2,3,4,5,则栈的不可能的输出序列是( C )。 A 54321 B 45321 C 43512 D 12345 7.常对数组进行的两种基本操作是( B )A建立和删除 B 索引和修改 C插入和修改 D插入和索引8.算法分析的两个主要方面是( A )。A空间性能和时间性能 B正确性和简明性 C 可读性和文档性 D 数据复杂性和程序复杂性 在解决计算机主机与打印机之间速度不匹配问题时通常设置一个打印缓冲区, 该缓冲区应该是一个( B )结构。 (1)s-next=p-next;(2)p-next=s;(3)s=p-ne

3、xt;分别代表什么含义1) 把p的下一个节点接到s的下一个节点上2) 把s接到p的下一个节点上3) 把p的一下个节点赋值给s当深度(高度)为h时,结点数n满足:,可知,所以其深度h为向下取整+1取出一个点作为一个无向图,其余点作为另一个无向图,则其点连线最多,使用的点最少,共需9个点键盘中输入并初始化字符串Scanner sc=new Scanner;StringBuffer s=new StringBuffer();2. 定义一个变量char ch; 定义一个变量int i;3. 加密过程对字符串中每个字符的ASCII值+1 for(i=0;i();i+)* ch=(i); ch=(char

4、)(int)(ch)+1); (i,ch); 4.输出加密之后的结果加密之后的字符串是:+s);5.解密过程对加密串中每个字符的ASCII值执行-1操作for(i=0;i();i+)% ch=(i); ch=(char)(int)(ch)-1); (i,ch); 6.输出加密之后的结果解密之后的字符串是:+s);1.写出利用栈,将非负的十进制整数M转化为基于N的N进制数的算法。1.定义变量int m,n,e,i;| 定义栈SeqStack s=new SeqStack();2.从键盘获取非负的十进制整数 请输入要转换的十进制正数 :); Scanner sc=new Scanner; m=()

5、;3.获取转化为基于N的N进制数 请输入要转换的数制:); n=();4.用M除N,得到商数和余数,将余数放入栈中;;当商数不为0,继续用商数除N,得到新的商数和余数,余数入栈。当商数为0,循环结束。while(m!=0) e=m%n; (e); m=m/n; 5.输出转化结果,若N为16时则按照如下规则输出结果转化结果为:);while()!=true) i=(); if(n=16) if(i=10) A+); else if(i=11) B+); else if(i=12) C+); else if(i=13) D+); else if(i=14) E+);: else if(i=15)

6、F+); else ); else ); 2.写出利用栈和队列,判断一个字符串是否是回文串的算法。1.取出字符串中的一个字符,分别入栈和入队列。!boolean pal(String str)for(i=0;iAn-1max(A,n-1):An-1);3.结束算法求数组中的最小值1.定义递归函数int min(int A, int n)2.判断n是否为1若n为1则返回结果A0跳转至3若n不为1则执行递归体并跳转至2& if(n=1) return A0; else return (min(A,n-1)An-1min(A,n-1):An-1);3.结束算法求数组平均值1.定义递归函数double

7、 avg(int A,int n)2.判断n是否为1若n为1则返回结果A0跳转至3若n不为1则执行递归体并跳转至2: if(n=1) return A0; else return (An-1+avg(A,n-1)*(n-1)/n);3.结束算法6.写出判断字符串是否是回文串的递归算法。1.定义递归函数boolean palindrome(StringBuffer s)2.判断s的长度是否为0或为1若s的长度为0或为1则返回结果true并跳转至3若s的头尾不相等则返回false并跳转至3;若s的头尾相等则判断原来的字符串去掉头尾字符之后剩余的部分并跳转至2if()=0 | ()=1 ) retu

8、rn true; else if(0)!=()-1) return false;else return palindrome(new StringBuffer(1,()-1); 3.结束算法输出字符串是否为回文串7.8.写出实现字符串的逆转操作的递归算法。1.定义递归函数String reverseString(String s)2.判断字符串是否为空串,或者字符串中只有一个字符,若是跳转至4if() return s;3. 将字符串头尾字符交换;并交换字符串去掉头尾字符之后的字串后跳转至2。return reverseString(1)+(0);4.结束算法并输出s三问答题1.2.什么是数据

9、结构数据的结构指的是数据元素之间存在的关系,一个数据结构是由n(n0)个数据元素组成的有限集合,数据元素之间具有某种特定的关系。数据结构概念包括三个方面:数据的逻辑结构、数据的存储结构和对数据的操作。3.什么是逻辑结构数据的逻辑结构分为几类数据的逻辑结构就是来表示数据之间的逻辑关系的。逻辑结构有四种基本类型:集合结构、线性结构、树状结构和图状结构4.什么是存储结构数据的存储结构有哪些数据的逻辑结构在计算机中的表示。主要分顺序存储结构和链式存储结构两种。5.顺序存储结构和链式存储结构的优缺点顺序表中的数据元素是如何存储的链表中的数据元素是如何存储的在什么情况下使用顺序表和链表比较好链式存储结构:

10、;(1)占用额外的空间以存储指针(浪费空间) (2)存取某个元素速度慢(3)插入元素和删除元素速度快 (4)没有空间限制,存储元素的个数无上限,基本只与内存空间大小有关. 顺序存储结构: (1)空间利用率高 (2)存取某个元素速度快 (3)插入元素和删除元素存在元素移动,速度慢,耗时 (4)有空间限制,当需要存取的元素个数可能多于顺序表的元素个数时,会出现溢出问题.当元素个数远少于预先分配的空间时,空间浪费巨大.顺序存储占用物理地址连续的一块空间来存储元素,元素之间的关系就是相邻元素间的关系;链式存储占用的物理地址可连续可不连续,所以要找到某个元素的后继必须用指针来指示。#以查找为主用顺序表,

11、以插入为主用链表。6.什么是算法算法的五大特性是什么怎么描述算法1.有穷性,算法是执行时候运行的有穷性,程序只是一段实现算法的代码2.确定性,算法对于特定的输入有特定的输出,程序提供了确定算法结果的平台3.可行性,算法需要考虑设计的可能,程序则具体是实现算法上的设计4.输入,算法有输入,算法的输入依靠程序的平台提供5.输出,算法的输出也靠代码的支持。可以用伪代码,用自然语言也可以描述算法的方法有多种,常用的有自然语言、结构化流程图、伪代码和PAD图等,其中最普遍的是流程图。7.栈是什么请描述栈的操作特性,并画图说明。:栈是一种特殊的线性表,其插入和删除操作只允许在线性表的一段进行。允许操作的一

12、段称为栈顶,不允许操作的一段称为栈底。操作特性为:后进先出8.队列是什么队列的操作特性队列是一种特殊的线性表,特殊之处在于它只允许在表的前端进行删除操作,而在表的后端进行插入操作。先进先出9.请阐述栈和队列的异同点。栈是限定只能在表的一端进行插入和删除操作的线性表。队列是限定只能在表的一端进行插入和在另一端进行删除操作的线性表。从数据结构的角度看,它们都是线性结构,即数据元素之间的关系相同。但它们是完全不同的数据类型。除了它们各自的基本操作集不同外,主要区别是对插入和删除操作的限定。栈和队列是在程序设计中被广泛使用的两种线性数据结构,它们的特点在于基本操作的特殊性,栈必须按后进先出的规则进行操

13、作,而队列必须按先进先出的规则进行操作。和线性表相比,它们的插入和删除操作受更多的约束和限定,故又称为限定性的线性表结构。.10.什么是递归递归的两个基本要素是什么请阐述递归程序和非递归程序的优缺点。序和非递归程序的优缺点。递归:就是一个函数直接或间接的调用函数本身,这就是递归。递归的两个基本要素:递归体和递归出口。递归程序和非递归程序优缺点递归程序:1.结构清晰过程简洁明了,程序体较小2.堆栈占用内存较大,递归算法的运行效率较低。非递归:1.过程更加有条理 2.程序体较大11.请阐述线性结构和树状结构的异同点。同:都是逻辑结构异:线性结构是一对一的结构,是最简单的结构.它只有一个没有前驱、只

14、有后继的结点,叫着首结点;只有一个没有后继、只有前驱的结点,叫着尾结点;其余的结点都只有一个直接前驱和一个直接后继.树形结构是一对多的结构,是比较复杂的非线性结构.它只有一个没有前驱、只有后继的结点,叫着根结点;可有多个没有后继、只有前驱的结点,叫着叶子结点;其余的结点都只有一个直接前驱和多个直接后继.12.二叉树的五种形态个结点空二叉树个结点,根结点3.由根结点和左子树组成,根的右子树为空4.由根结点和右子树组成,根的左子树为空5.由根结点,左子树右子树组成13.简述顺序查找算法和折半查找算法的优缺点和各自的适用范围。顺序查找的效率很低,但是对于待查的结构没有任何要求,而且算法非常简单,当待查表中的记录个数较少时,采用顺序查找较好.折半查找法的平均查找长度小,查找速度快,但是它要求表中的记录是有序的,且只能用于顺序存储结构。若表中的记录经常变化,为保持表的有序性,需要不断进行调整,这在一定程度上要降低查找效率。因此,对于不常变动的有序表,采用折半查找是比较理想的。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1