DS冲刺整理做题定理(二)线性表、栈、队列的套路

继续归纳套路,做题练习非常重要,王道的基本上足够了,学有余力可以做一下数据结构1800~


DS冲刺整理做题定理(一)二叉树专题icon-default.png?t=N7T8https://blog.csdn.net/jsl123x/article/details/134949736?spm=1001.2014.3001.5501

目录

一.线性表的定义和基本操作

二.线性表的顺序表示

三.线性白表的链式表示

四.栈

五.队列

六.数组和特殊矩阵

七.应用


  • 线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的(注意,这句话只适用大部分线性表,而不是全部。比如,循环链表逻辑层次上也是一种线性表(存储层次上属于链式存储,但是把最后一个数据元素的尾指针指向了首位结点)。
  • 堆栈又名栈(stack),它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。
  • 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。 

一.线性表的定义和基本操作

1.表中的元素具有逻辑上的顺序性,表中元素也有其先后次序~表中元素具有抽象性,即仅讨论元素间的逻辑关系,而不考虑元素究竟表示什么内容~

2.王道版的基本操作(运算),传入方式均为引用类型“&”

3.初始动态分配语句

  • C语言:L.data=(ElemType*)malloc(sizeof(ELemType)*InitSize)~
  • C++:L.data=new ElemTpye[InitSize]~

二.线性表的顺序表示

1.顺序表的插入与删除,时间复杂度均为n

2.顺序表易于随机存取,不易于插入删除

(代码有机会的话,单独总结~)

三.线性白表的链式表示

1.链表通过【链】建立起数据元素之间的逻辑关系,因此插入和删除操作不需要移动元素,而只需要修改指针,但也会失去顺序表可随机存取的优点~

2.单链表的头结点起到辅助的作用~(头指针和头结点是两回事!

3.创建链表、查找元素的时间复杂度均为n,插入、删除结点的复杂度均为1~

4.双链表增加了一个指针域,可以通过后继寻找前驱

5.循环链表允许尾节点的指针指向头结点~

6.静态链表:借助数组来描述线性表的链式存储结构,与链表的不同的是这里的指针均为相对地址

四.栈

1.单向的顺序表,栈顶为允许插入删除的一端,而栈底为固定的,不允许进行插入删除的另一端~

五.队列

1.另一种受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除~

2.FIFO:先进先出

3.循环队列:在逻辑上将存储队列的表视为一个环~

4.双端队列:两端均可以插入元素~

六.数组和特殊矩阵

(有许多线性代数的东西,不是重点,要学会用二维数组存储矩阵的元素~)

七.应用

  • 栈:用于括号匹配
  • 栈:表达式求值
  • 栈:递归中的应用
  • 队列:层次遍历、计算机系统

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/242419.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

复旦微固化流程

生成boot.bin 如图所示,psoc下的create boot image,选择文件配置路径output bif,任意命名 点击右侧add,分别添加三部分 1.编译FSBL工程后SDK\system_platform\FSBL\Debug\Exe路径下的FSBL.out 2.PL侧的bit文件 3.编译工程后SDK\sy…

1.【Multisim仿真】数电模电学习,仿真软件的初步使用

学习计划路径: >Multisim电路仿真软件熟练掌握 >数字电路基础课程 >逻辑电路设计与应用 >熟练掌握存储器、脉冲波形发生器、D/A和A/D转换器原理 >基本元器件熟练掌握 >晶体管放大电路及负反馈放大电路 >集成运算放大器设计 >电压变电流电路…

Springboot整合阿里巴巴SMS

前提条件 要确保用户有这个权限 还要确保组要有这个权限 讲反了要先保证组有这个权限然后保证用户有这个权限,然后就可以使用这个用户的权限的key来调取api了 申请资质、签名等 申请资质 点击这个进入声请就可以了然后等2个小时左右就可以通过了 申请签名 这个是为…

实操Nginx(4层代理+7层代理)+Tomcat多实例部署,实现负载均衡和动静分离

目录 前言 一、tomcat多实例部署 步骤一:先安装jdk,设置jdk的环境变量,验证是否安装完成(192.168.20.8) 步骤二:安装tomcat(192.168.20.18) 步骤三:安装tomcat多实例…

Python数据科学视频讲解:Python保留字与标识符

2.6 Python保留字与标识符 视频为《Python数据科学应用从入门到精通》张甜 杨维忠 清华大学出版社一书的随书赠送视频讲解2.6节内容。本书已正式出版上市,当当、京东、淘宝等平台热销中,搜索书名即可。内容涵盖数据科学应用的全流程,包括数据…

VPN 在网络安全中的应用

虚拟专用网络(Virtual Private Network,VPN)是指利用不安全的公共网络如 Internet 等作为传输媒介,通过一系列的安全技术处理,实现类似专用网络的安全性能,保证重要信息的安全传输的一种网络技术。 1&#…

【网络通信原理之套接字】

目录 概念 分类 数据报套接字:使用传输层UDP协议 流套接字:使用传输层TCP协议 原始套接字 Socket编程注意事项 前言:本文主要介绍了在什么是套接字及在Java中套接字是什么,和在套接字编程的注意事项。 概念 Socket套接…

轮转数组00

题目链接 轮转数组 题目描述 注意点 使用空间复杂度为 O(1) 的 原地 算法解决这个问题 解答思路 本题有多种思路,一种是复制nums数组,然后将k个位置后的值赋值给当前位置即可,但是空间复杂度为O(n)还有一种思路是先将整个数组进行翻转&a…

参数学习——糖果问题(人工智能期末复习)

之前看了好久都不知道这题咋写,后来看了这篇机器智能-高频问题:糖果问题,大概看明白了,其实主要围绕着这两个公式 光看公式也看不懂,还是要结合题目来 己知有草莓味和酸橙味两种类型的糖果,分别放入5种不同…

【FPGA/verilog -入门学习10】verilog 查表法实现正弦波形发生器

0,需求 用查找表设计实现一个正弦波形发生器 寻址的位宽是10位,数据量是1024个,输出的数据是16位 1,需求分析 数据量是1024个: x linspace(0,2*pi,1024) 输出数据是16位: y范围:0~2^16 -1 0~65535…

Docker部署Mysql5.7x和Myslq8.x

Docker部署Mysql5.7x和Myslq8.x 文章目录 1.部署mysql5.7.x2.部署mysql8.x3.创建用户授权及远程登录3.1 mysql5.7创建用户授权及远程登录3.2 mysql8创建用户授权及远程登录 4.总结 1.部署mysql5.7.x 在D盘下的mysql目录下新建如下目录: D:\mysql\conf\my.cnf内容如下…

8GB内存的 MacBook Pro够用吗?苹果高管回应:完全够用

苹果 2023 年 M3 芯片款 MacBook Pro 运行内存为 8GB 起步,因此招致了外界广泛的批评,外媒 MacRumors 日前评价了配备相关运行内存的 MacBook Pro,认为 8GB RAM 在“专业和创意工作中”不够用,只适合“网页浏览、文档编辑、播放影…

java实现局域网内视频投屏播放(四)投屏实现

代码链接​​​​​​​​​​​​​​​​​​​​​ 设备发现 上一篇文章说过,设备的发现有两种情况,主动和被动,下面我们来用java实现这两种模式 主动发现 构建一个UDP请求发送到239.255.255.250:1900获取设备信息,UDP包的…

对比学习学习记录1

对比学习学习记录 SimCLR Framework 关键在于定义正负样本判断异同相同的就是正例不同的就是负例让模型学到其中的规律 通过encoder对图像提取特征得到一个向量这里的encoder可以是resnet还需要定义相似度的函数计算正负样本之间的距离 对于上面的图片首先对图片进行两种随机的…

zabbix——实现高效网络监控

在当今的数字化时代,网络和服务器的健康状况对于企业的正常运营至关重要。为了及时发现和解决潜在的问题,许多企业选择使用网络监控工具来追踪服务器的性能和网络参数。其中,Zabbix是一个功能强大且开源的网络监控工具,被广泛应用…

环境搭建及源码运行_java环境搭建_mysql安装

1、介绍 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,属于 Oracle旗下产品。MySQL是最流行的关系型数据库管理系统之一 1、源码中涉及到的表:mysql 表:订单、意见反馈、用户基础信息、商品、购物车等表 2、订单属于…

虚拟现实三维电子沙盘数字沙盘开发教程第5课

虚拟现实三维电子沙盘数字沙盘无人机倾斜摄影全景建模开发教程第5课 设置system.ini 如下内容 Server122.112.229.220 userGisTest Passwordchinamtouch.com 该数据库中只提供 成都市火车南站附近的数据请注意,104.0648,30.61658 在鼠标指定的位置增加自己的UI对象&…

Java听潮阁(SpringCloud项目)

一、简介 本网站是不凉域网络技术工作室的后台管理网站和旗下的网站(目前只有Java听潮阁),后台管理网站具有统计旗下所有网站的数据功能,并且能直接对旗下所有网站进行管理。 Java听潮阁网站是一个Java书籍网站,名字…

力扣40. 组合总和 II(java 回溯法)

Problem: 40. 组合总和 II 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 在使用回溯之前我们首先可以明确该题目也是一种元素存在重复但不可复用的组合类型问题。而此题目可以参考下面一题的大体处理思路: Problem: 90. 子集 II 具体的: 1.首…

2023-12-13 树的层次遍历和树的反转以及树的对称

二叉树的层次遍历、翻转二叉树和对称二叉树 102. 二叉树的层序遍历 核心:BFS广度优先遍历,就是维护一对队列去遍历!队列先进先出,符合一层一层遍历的逻辑。 # Definition for a binary tree node. # class TreeNode: # def …