IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> 软考中级(软件设计)----数据结构之线性结构(顺序表、链表、栈、队列) -> 正文阅读

[数据结构与算法]软考中级(软件设计)----数据结构之线性结构(顺序表、链表、栈、队列)

【原文链接】

1 线性结构

每个元素最多只有一个出度和一个入度,表现为一条线状,线性表按存储方式可分为顺序表和链表

2 线性表的存储结构

  • 顺序存储
    用一组地址连续的存储单元一次存储线性表中的数据元素,使得逻辑上相邻的元素物理上也相邻

  • 链式存储
    存储各数据元素的节点的地址并不要求实连续的,数据元素逻辑上相邻,物理上分开

3 顺序存储与链式存储的对比

在这里插入图片描述

  • 在空间方面,因为链表还需要存储指针,因此有空间浪费存在

  • 在时间方面,当需要对元素进行破坏性操作(插入、删除)时,聊表效率更高,因为其只需要修改指针的指向即可,二顺序表因为地址是连续的,因此当删除或者插入一个元素后,后面的其他节点位置都需要变动

  • 而当需要对元素及逆行不改变结果操作(读取),顺序表效率更高,因为其物理地址是连续的,如同数组一般,只需要按照索引号就可以快速定位,而链表需要从头开始,一个一个地查找下去

4 栈和队列

  • 队列是先进先出,分队头和队尾
  • 栈是先进后厨,只能栈顶进出
  • 循环队列
    • 设置循环队列Q的容量为MAXSIZE,初始队列时队列为空,且Q.rear和Q.front都等于0
    • 元素入队时修改队尾指针,即令Q.rear=(Q.rear+1)MAXSIZE
    • 元素出队时修改队头指针,即Q.front=(Q.front+1)%MAXSIZE
    • 根据队列操作的定义,当出队操作导致队列变为空时,有Q.rearQ.front,若入队操作导致队满,则Q.rearQ.front
    • 这里需要注意的是,队头Q.front永远指向第一元素,而队尾Q.rear永远指向最后一个元素的后一个元素,即指向的为最后一个元素后面的一个空元素
    • 在队列空和队列满的情况下循环队列的队头、队尾指针指向的位置是相同的,此时仅仅根据Q.rear和Q.front之间的关系无法断定队列的状态,为了区别队列空和满的情况,可以采用两种处理方式,其一就是设置一个标志,以区别队头和队尾指针的值相同队列是空还是满,其二就是牺牲一个存储单元,约定“队列的队尾指针所指位置的下一个位置是队头指针时”表示队列满,而头、尾指针的值相同的时候表示空指针

考试真题

  • 题目如下,答案为:A
    在这里插入图片描述

  • 题目如下,答案为:D
    在这里插入图片描述

解析:这里需要注意的是进栈的过程中也可以出栈,比如,进1,然后出1,然后进2,3,然后出,3,然后再进4,5等等,因此这个题目中最后一个出栈的是不确定的

  • 题目如下,答案为:D
    在这里插入图片描述

解析:这里其实是两个栈,因此这里需要满足e2在e1之前,e3在e3之前,因此D是对的

  • 题目如下,答案为:B
    在这里插入图片描述

解析:这里有两个注意点,一是问的是队尾元素的指针,不是队尾指针,因此按照之前理论应该是(Q.,front+Q.size-1)%M,第二个注意点时加一个M再对M取余没有任何影响,因此答案为B

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-05-09 12:59:06  更:2022-05-09 13:01:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 3:41:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码