首页 > 编程语言 >数据结构与算法 第3天(栈和队列)

数据结构与算法 第3天(栈和队列)

时间:2024-08-29 20:51:06浏览次数:5  
标签:初始化 表尾 案例 队列 链栈 括号 算法 数据结构

栈和队列也是线性表,限制插入和删除的位置只能在端点

栈(stack)

后进先出 LIFO 表尾进入,表尾删除

一、案例

案例一:进制转换

例子
159转换成八进制
159/8=19...7
19/8=2...3
2/8=0...2
结果为237

案例二:括号匹配的检验

左括号先入栈,右括号有匹配的话与左括号一起出栈

案例三:表达式求值

算符优先算法

二、栈类型定义

三、栈的操作

初始化

销毁栈

判断栈是否为空

求栈的长度

清空栈

入栈Push

出栈Pop

四、链栈

链栈初始化

判断链栈是否为空

链栈的入栈

链栈的出栈

取栈顶元素

五、栈和递归

求n的阶乘

队列(queue)

先进先出  FIFO   表尾进入,表头删除

案例一:舞伴问题

一、存在的问题

       假上溢     

循环队列

让front变成零                %6

 

        判断队空队满

二、操作实现

初始化

求队列长度

入队

出队

取队头元素

三、链队的表示和实现

链队初始化

销毁

入队

出队

求队头元素

标签:初始化,表尾,案例,队列,链栈,括号,算法,数据结构
From: https://blog.csdn.net/2301_79600945/article/details/141683838

相关文章

  • python实现RC4加解密算法
    目录RC4算法简介RC4算法的加密和解密流程RC4算法的Python实现代码解释RC4算法的应用场景RC4的安全性分析总结RC4(RivestCipher4)是一种流加密算法,由RonRivest于1987年设计。RC4广泛应用于各种加密协议,如SSL/TLS和WEP/WPA等。RC4算法因其简单、高效的特点受到广泛关......
  • Python实现SM4加解密算法
    目录SM4算法简介SM4算法的加密和解密流程SM4算法的Python实现代码解释总结SM4算法是中国国家密码局设计的块密码算法,广泛应用于无线局域网标准和其他安全通信系统中。以下是SM4算法的详细介绍,包括加密解密流程和Python的完整实现。SM4算法简介SM4是一种对称分组......
  • Python实现等距映射(ISOMAP)降维算法
    目录Python实现等距映射(ISOMAP)降维算法的博客引言ISOMAP算法原理ISOMAP的优势与局限Python实现ISOMAP算法1.创建ISOMAP类2.在瑞士卷数据集上应用ISOMAP3.结果分析总结运行结果Python实现等距映射(ISOMAP)降维算法的博客引言在高维数据处理中,降维是一种常用的技......
  • 代码随想录算法训练营,29日 | 704. 二分查找,27. 移除元素,977.有序数组的平方,209.长度最
    数组基础文档讲解︰代码随想录(programmercarl.com)1.连续空间、相同类型元素2.元素只能覆盖3.二维数组的地址连续吗(C++连续,Java不连续)704.二分查找题目链接:704.二分查找文档讲解︰代码随想录(programmercarl.com)视频讲解︰二分查找日期:2024-08-29思路:第一反应是想到二分查......
  • 2023数据结构408程序题C语言
    如A=(0,5,5,3,5,7,5,5),则5为主元素;又如A=(0,5,5,3,5,1,5,7),则A中没有主元素。假设A中的n个元素保存在一个一维数组中,请设计一个尽可能高效的算法,找出A的主元素。若存在主元素,则输出该元素;否则输出-1。#include<stdio.h>#include<stdlib.h>//定义结构体数组S,其中的元......
  • Java算法之Gnome 排序
    简介Gnome排序,又称为双向插入排序或鸡尾酒排序,是一种改进的插入排序算法。它在每次迭代中不仅将最小的元素移动到前面,同时也将最大的元素移动到后面。这种排序算法在每次迭代中同时向两个方向进行移动,因此得名。算法步骤从数组的两端开始,向中间进行扫描。如果左侧元素大于......
  • Java算法之基数排序(Radix Sort)
    简介基数排序是一种非比较型整数排序算法,其原理是按照低位先排序,然后收集,再按照高位排序,再收集,依次类推,直到最高位。这种方法可以视为对每个位上的数字进行稳定的排序。算法步骤确定最大数的位数。对每一位进行排序:从最低位开始,使用稳定的排序算法(如计数排序)对当前位进......
  • Redisson分布式延迟队列
    Redisson是一个基于redis实现的Java驻内存数据网格,它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。Redisson除了提供我们常用的分布式锁外,还提供了一个分布式延迟队列RDelayedQueue,他是一种基于zset结构实现的延迟队列,其实现类是RedissonDelayedQu......
  • JDK延迟队列 DelayQueue
    DelayQueue是JDK提供的一个无界队列,我们可以看到,DelayQueue队列中的元素需要实现Delayed,它只提供了一个方法,就是获取过期时间。用户的订单生成以后,设置过期时间比如30分钟,放入定义好的DelayQueue,然后创建一个线程,在线程中通过while(true)不断的从DelayQueue中获取过期的数据。......
  • 30-物体检测算法R-CNN SSD YOLO
    1、R-CNN2、FastR-CNN3、FasterR-CNN4、MaskR-CNN5、SSD6、YOLO......