【数据结构】 第一章+第二章 课后习题概念+算法设计题

本文主要回顾了数据结构中的基本概念,如数据、元素、对象等,并详细讲解了逻辑结构(如顺序、链式、树形等)及其关系图。此外,文章重点介绍了链表操作,如合并有序链表、求交集与差集、排序链表、双向链表操作以及删除元素等算法设计,强调了空间效率。
摘要由CSDN通过智能技术生成

这是一个目录

数据结构概念题复习

第一章

概念简述题

1.简述下列概念:数据、数据元素、数据项、数据对象、数据结构、逻辑结构、存储结构、抽象数据类型。

在这里插入图片描述

2.试举⼀个数据结构的例⼦,叙述其逻辑结构和存储结构两个层次的含义及相互关系。

在这里插入图片描述

3.简述逻辑结构的四种基本关系并画出它们的关系图。

在这里插入图片描述

4.存储结构由哪两种基本的存储⽅法实现?

在这里插入图片描述

第二章

算法设计题

(1)将两个递增的有序链表合并为⼀个递增的有序链表。要求结果链表仍使⽤原来两个链表 的存储空间,不另外占⽤其他的存储空间。表中不允许有重复的数据。

在这里插入图片描述

在这里插入图片描述

(2)将两个⾮递减的有序链表合并为⼀个⾮递增的有序链表。要求结果链表仍使⽤原来两个 链表的存储空间,不另外占⽤其他的存储空间。表中允许有重复的数据。 (3)已知两个链表A和B分别表示两个集合,其元素递增排列。请设计⼀个算法,⽤于求 出A与B的交集,并存放在A链表中。

在这里插入图片描述

(3)已知两个链表A和B分别表示两个集合,其元素递增排列。请设计⼀个算法,⽤于求 出A与B的交集,并存放在A链表中。

在这里插入图片描述

(4)已知两个链表A和B分别表示两个集合,其元素递增排列。请设计算法求出两个集合A 和B的差集(即仅由在A中出现⽽不在B中出现的元素所构成的集合),并以同样的形式存储, 同时返回该集合的元素个数。

在这里插入图片描述

(5)设计算法将⼀个带头结点的单链表A分解为两个具有相同结构的链表B和C,其中B 表的结点为A表中值⼩于零的结点,⽽C表的结点为A表中值⼤于零的结点(链表A中的元素 为⾮零整数,要求B、C表利⽤A表的结点)。

在这里插入图片描述

在这里插入图片描述

(6)设计⼀个算法,通过⼀趟遍历确定⻓度为n的单链表中值最⼤的结点。 (7)设计⼀个算法,将链表中所有结点的链接⽅向“原地”逆转,即要求仅利⽤原表的存储空 间,换句话说,要求算法的空间复杂度为O(1)。

在这里插入图片描述

(7)设计⼀个算法,将链表中所有结点的链接⽅向“原地”逆转,即要求仅利⽤原表的存储空 间,换句话说,要求算法的空间复杂度为O(1)。

在这里插入图片描述

在这里插入图片描述

(8)设计⼀个算法,删除递增有序链表中值⼤于mink且⼩于maxk的所有元素(mink和maxk 是给定的两个参数,其值可以和表中的元素相同,也可以不同)。

在这里插入图片描述

(9)已知p指向双向循环链表中的⼀个结点,其结点结构为data、prior、next三个域,写出 算法change§,交换p所指向的结点及其前驱结点的顺序。

在这里插入图片描述
在这里插入图片描述

(10)已知⻓度为n的线性表A采⽤顺序存储结构,请写⼀个时间复杂度为O(n)、空间复杂 度为O(1)的算法,该算法可删除线性表中所有值为item的数据元素。

在这里插入图片描述

  • 9
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值