欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    数据结构练习试题和答案解析Word下载.docx

    • 资源ID:22663713       资源大小:227.64KB        全文页数:87页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据结构练习试题和答案解析Word下载.docx

    1、数据结构主要研究数据的逻辑结构、存储结构和算法(或运算) 3个方面的内容。数据结构被定义为(D, R),其中D是数据的有限集合, R是D上的关系 有限集合。算法是一个有穷指令 的集合。算法效率的度量可以分为事先估算法和事后 。一个算法的时间复杂度是算法 输入规模 的函数。算法的空间复杂度是指该算法所耗费的存储空间 ,它是该算法求解问题规模的 n的函数。若一个算法中的语句频度之和为 T(n)=6n+3nlog 2n,则算法的时间复杂度为 0 ( nlog 2n)若一个算法的语句频度之和为 T(n)=3n+nlog 2+n2,则算法的时间复杂度为 0(n2) 。数据结构是一门研究非数值计算的程序问

    2、题中计算机的操作对象及它们1之间的关系和运算的学 科。选择题数据结构通常是研究数据的( A)及它们之间的相互关系。A. 存储结构和逻辑结构 B 存储和抽象 C 联系和抽象 D 联系与逻辑在逻辑上可以把数据结构分成(C)。A. 动态结构和静态结构 B 紧凑结构和非紧凑结构 C .线性结构和非线性结构 D .内部结构和外部结构。数据在计算机存储内表示时,物理地址和逻辑地址相同并且是连续的,称之为( C)。A.存储结构 B .逻辑结构 C .顺序存储结构 D .链式存储结构非线性结构中的每个结点(D)。A.无直接前驱结点. B .无直接后继结点.C. 只有一个直接前驱结点和一个直接后继结点 D.可能

    3、有多个直接前驱结点和多个直接后继结点5. 链式存储结构所占存储空间( A)。A. 分两部分,一部分存放结点的值,另一个部分存放表示结点间关系的指针。B. 只有一部分,存放结点的值。 C .只有一部分,存储表示结点间关系的指针。D. 分两部分,一部分存放结点的值,另一部分存放结点所占单元素6. 算法的计算量大小称为算法的(C)。A.现实性 B .难度 C .时间复杂性D.效率数据的基本单位(B)。A.数据结构 B .数据元素 C .数据项.文件每个结点只含有一个数据兀素,所有存储结点相继存放在一个连续的存储空间里,这种存储结构称为(A)结构。A.顺序结构 B 链式结构 C .索引结构.散列结构每

    4、一个存储结点不仅含有一个数据兀素,还包含一组指针,该存储方式是(B)。A.顺序 B .链式 C .索引.散列以下任何两个结点之间都没有逻辑关系的是( D)。A.图形结构 B .线性结构 C .树形结构.集合在数据结构中,与所使用的计算机无关的是( C)。A.物理结构 B .存储结构 C .逻辑结构.逻辑和存储结构下列4种基本逻辑结构中,数据兀素之间关系最弱的是(A.集合 B .线性结构 C .A)。 树形结构.图形结构与数据兀素本身的形式、内容、相对位置、个数无关的是数据的(A。A.逻辑结构 B .存储结构 C .逻辑实现.存储实现每一个存储结点只含有一个数据兀素,存储结点存放在连续的存储空间

    5、,另外有组指明结点存储位置的表,该存储方式是(C)存储方式。A.顺序 B.链式 C .算法能正确的实现预定功能的特性称为算法的( A)。A.正确性 B.易读性 C .健壮性.咼效性.算法在发生非法操作时可以作出相应处理的特性称为算法的(C)。.卜列时间复杂度中最坏的是(D)。A. 0( 1) B.O(n) C.O( log2n)D.O(n2).下列算法的时间复杂度是(D)。for(i=0;i n;i+)for(j=o;i prior-next=p-next ;pnextprior=pprior20. a和b的两个结点,则可用语在如图所示的链表中,若在指针 P所在的结点之后插入数据域值为句 S-

    6、next-next 和 P- next=S ;来实现该操作。B. P-fro nt= =L C.P= =NULL D.P-rear= =L7. 两个指针P和Q分别指向单向链表的两个元素, P所指元素是Q所指元素前驱的条件是( B )A P-next= =Q-next B.P-next= =Q C.Q-next= =P D.P=Q8. 用链表存储的线性表,其优点是( C )。A .便于随机存取 B .花费的存储空间比顺序表少C. 便于插入和删除 D 数据元素的物理顺序与逻辑顺序相同9. 在单链表中,增加头结点的目的是( C )。A 使单链表至少有一个结点 B 标志表中首结点的位置C.方便运算的实

    7、现 D 说明该单链表是线性表的链式存储结构10. 下面关于线性表的叙述中,错误的是( D )关系。A 顺序表必须占一片地址连续的存储单元 B.顺序表可以随机存取任一元素C.链表不必占用一片地址连续的存储单元 D.链表可以随机存取任一元素11. L 是线性表,已知 LengthList(L) 的值是 5,经 DelList(L , 2)运算后,LengthList(L) 的值是(C )。A12.单向链表的示意图如下:pA . 2 B . 3 C . 4 D . 5指向链表Q结点的前驱的指针是(B )。A. L B . P C . Q D . R13. 设p为指向单循环链表上某结点的指针,则 *p

    8、的直接前驱(C )。A.找不到 B .查找时间复杂度为 0( 1)C.查找时间复杂度为 0(n) D.查找结点的次数约为 n14. A. n B.(n-1)/2 C.n/2 D.(n+1)/215. 在下列链表中不能从当前结点出发访问到其余各结点的是(A.双向链表 B.16. 在顺序表中,只要知道(A.基地址 B.C 单循环链表 C. 单向链表D ),就可以求出任一结点的存储地址。结点大小D.双向循环链表17. 在双向链表中做插入运算的时间复杂度为(A. 0( 1) B.0 ( n)18. 链表不具备的特点是(A )。A.随机访问 B.不必事先估计存储空间19. 以下关于线性表的论述,不正确的

    9、为(C.CC. 0(n向量大小D. 基地址和结点大小D.0( log插入删除时不需要移动元素 D.所需空间与线性表成正比)。A.线性表中的元素可以是数字、字符、记录等不同类型 B.线性顺序表中包含的元素个数不是任意的C.线性表中的每个结点都有且仅有一个直接前驱和一个直接后继D.存在这样的线性表,即表中没有任何结点20.在(B )的运算中,使用顺序表比链表好。A.插入 B. 根据序号查找 C. 删除 D.根据元素查找等概率情况下,在有 n个结点的顺序表上做插入结点运算,需平均移动结点的数目为( 8 )。栈是运算受限制的线性表。在栈空的情况下,不能作出栈操作,否则产生下溢。栈一定是顺序存储的线性结

    10、构。栈的特点是“后进先出” 。空栈就是所有元素都为 0的栈。在C (或C+)语言中设顺序栈的长度为 MAXLEN则top=MAXLEN寸表示栈满。链栈与顺序栈相比,其特点之一是通常不会出现栈满的情况。一个栈的输入序列为: A, B, C, D,可以得到输出序列: C, A, B, Do (X)递归定义就是循环定义。将十进制数转换为二进制数是栈的典型应用之一。在栈结构中,允许插入、删除的一端称为 栈顶 。在顺序栈中,当栈顶指针 top=-1时,表示 栈空 。在有n个元素的栈中,进栈操作时间复杂度为 0 (1) 。在栈中,出栈操作时间复杂度为 O (1) 。已知表达式,求它的后缀表达式是 栈 的典

    11、型应用。在一个链栈中,若栈顶指针等于 NULL则表示 栈空 。向一个栈顶指针为top的链栈插入一个新结点*p时,应执行p-next=top;top=p ;操作。顺序栈S存储在数组S-data0MAXLEN-1中,进栈操作时要执行的语句有: S-top+。(或S-top+1)S-dataS-top=x链栈LS,指向栈顶元素的指针是 LS-next。从一个栈删除元素时,首先取出 栈顶元素 ,然后再移动栈顶指针。由于链栈的操作只在链表的头部进行,所以没有必要设置 头 结点。已知顺序栈S,在对S进栈操作之前首先要判断 栈是否满 。已知顺序栈S,在对S出栈操作之前首先要判断 栈是否空 。若内在空间充足,

    12、 链 栈可以不定义栈满运算。链栈LS为空的条件是 LS-next=NULL 。链栈LS的栈顶元素是链表的 元素。同一栈的各元素的类型 相同 。若进栈的次序是 A B C、D E,执行3次出栈操作以后,栈顶元素为 BA+B/C-D*E的后缀表达式是 ABC/+DE*- 4个元素A B C D顺序进S栈,执行两次 Pop(S,x)运算后,x的值是 C 插入和删除操作只能在一端进行的线性表,称为( C )oA.队列 B .循环队列 C .栈 D .循环栈A. 1234 B . 12431324 D . 1423B )oC 必须判别栈元素类型D )D .栈可不做任何判别设有编号为1, 2。3, 4的4

    13、辆列车,顺序进入一个栈结构的站台,下列不可能的出站顺序为(如果以链表作为栈的存储结构,则出栈操作时( A.必须判别栈是否满 B 必须判别栈是否为空元素A、B C D依次进栈以后,栈顶元素是(A. A顺序栈存储空间的实现使用( B )存储元素。A.链表 B.数组 C.循环链表.变量6. 在C (或C+)语言中,一个顺序栈一旦被声明,其占用空间的大小(A.已固定 B.不固定 C.可以改变.动态变化7.带头结点的链栈 LS的示意图如下,栈顶兀素是(LS.DA. A B . B C链栈与顺序栈相比,有一个比较明显的优点是(A.插入操作更加方便 从一个栈顶指针为A . x=top;top-n ext;C

    14、.x=top-data;在一个栈顶指针为A.HS- next=SBB.通常不会出现栈满的情况 top的链栈中删除一个结点时,用B.top=top-x=top-dataD.x=top-top=top-n extHS的链栈中,将一个 S指针所指的结点入栈,应执行下列(B.S- next=HS- next;HS- next=S;.CC.不会出现栈空的情况 D.删除操作更加方便 x保存被删除的结点,应执行下列(d 。命令。B )命令。C.S-HS=S; D.S- next=HS=HS- next4元素按元素A、A B C D顺序进S栈,执行两次Pop(S, x)运算后,栈顶元素的值是(B . B CB

    15、 C D依次进栈以后,栈底元素是(.B C再执行经过下列栈的运算后,In itStack(s);Push(sA. a B.bIni tStack(s)A. a,a); Push(s ,C.1x的值是(B(初始化栈);B.b C.1ReadTop(s)的值是( b);Pob(s);D.0 Push(sb); ReadTop(s)Pob(s,x);InitStack(s) (初始化栈);Push(s,a); Pob(s , x); Push(s,b); Pob(sA.a B.b C.1 D.0经过下列栈的运算后,SEmpty(s)的值是(C )。Ini tStack(s) (初始化栈);A.a B

    16、.b C.1向顺序栈中输入元素时(B )。A.先存入元素,后移动栈顶指针C.谁先谁后无关紧要初始化一个空间大小为A. 0 B设有一个入栈的次序 A、A. EDCBA B设有一个顺序栈 S,元素A,则栈的容量至少应是(A. 3 B5的顺序栈.-1B C D、,x);.先移动栈顶指针,后存入元素 .同时进行top 的值是(B )。C .不再改变则栈不可能的输出序列是(C . DCEABS后,E,.DECBAA、B C D.4D .动态变化 C )。D . ABCDEE、F依次进栈,如果6个元素出栈的顺序是B、D、C F、E、第4章队列队列是限制在两端进行操作的线性表。判断顺序队列为空的标准是头指针

    17、和尾指针都指向同一个结点。在链队列上做出队操作时,会改变 front指针的值。在循环队列中,若尾指针 rear大于头指针front,其元素个数为rear-front 。在单向循环链表中,若头指针为 h,那么p所指结点为尾结点的条件是 p=h。链队列在一定范围内不会出现队满的情况。在循环链队列中无溢出现象。栈和队列都是顺序存储的线性结构。在队列中允许删除的一端称为队尾。顺序队和循环队关于队满和队空的判断条件是一样的。在队列中存取数据应遵循的原则是 先进先出 。队列 是被限定为只能在表的一端进行插入运算,在表的另一端进行删除运算线性表。在队列中,允许插入的一端称为 队尾 。在队列中,允许删除的一端

    18、称为 队首(或队头)。队列在进行出队操作时,首先要判断队列是否为 空 。顺序队列在进行入队操作时,首先在判断队列是否为 满 。顺序队列初始化后,初始化后, fron t=rear= -1 。解决顺序队列“假溢出”的方法是采用 循环队列 。循环队列的队指针为 front,队尾指针为rear,则队空的条件为 front= =rear 。链队列 LQ为空时,LQ-front-next= NULL 。设长度为n的链队列用单循环表表示,若只设头指针,则入队操作的时间复杂度为 0(n) 。设长度为n的链队列用单循环表表示,若只设尾指针,则入队操作的时间复杂度为 0(1) 。在一个链队列中,若队首指针与队尾

    19、指针的值相同,则表示该队列为 空。设循环队列的头指针 front指向队首元素,尾指针 rear指向队尾元素后的一个空闲元素,队列的最大空间为 MAXLEN则队满标志为 front= =(rear+1)%MAXLEN 。在一个链队列中, 若队首指针为front,队尾指针为rear,则判断队列只有一个结点的条件为 front=rear 或 front!。向一个循环队列中插入元素时,首先要判断 队尾指针,然后再向指针所指的位置写入新的数据。读队首元素的操作 不改变或不影响队列元素的个数。设循环队列的容量为 40 (序号039),现经过一系列的入队和出队的运算后, front=11 , rear=19

    20、 ,则循环队列中还有 8 个元素。队列 Q,经过下列运算:InitQueue(Q)( 初始化队列);InQueue(Q,a) ; InQueue(Q,b) ; OutQueue(Q,x); ReadFront(Q,x) ; QEmpty(Q);后的值是 _8 。队列 Q经过 InitQueue(Q)(初始化队列); ReadFront(Q,x)后,x 的值 是 a 。队列是限定在(D)进行操作的线性表。A.中间者 B.队首队尾端点队列中的兀素个数是(B)。A.不变的 B.可变的任意的冋一队列内的各兀素的类型(A.必须一致 B. 不能一致 C. 可以不一致 D. 不限制4. 队列是一个(C)线性表结构。A.不加限制的 B. 推广了的 C. 加了限制的 D. 非5. 当利用大小为n的数组顺序存储一个队列时,该队列的最后一个元素的下标为( B)。A.n-2


    注意事项

    本文(数据结构练习试题和答案解析Word下载.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

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

    收起
    展开