首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏学习

    【数据结构和队列专题

    前言 上篇博客我们讨论了和队列的有关结构,本篇博客我们继续来讨论有关栈和队列习题 这些题算是经典了 个人主页:小张同学zkf ⏩ 文章专栏:数据结构 若有问题 评论区见 思路已给出,代码如下 对于c语言来说,注意先把写好,写好后再调用的函数,后续c++就不用这么麻烦了 2.用队列实现 这道题就是给你两个队列,通过队列实现一个,我们都知道是后进先出的原则,而队列是先进先出的原则 q2,然后再将还在q1的元素通过出队的方式实现出,若继续入,此刻元素都在q2那么就用q2实现入操作,然后出时,按照上面的操作来回导入就可以了。 ,此刻为空 代码如下 3.用实现队列 两个队列可以实现,那两个如何实现队列那 队列是先进先出原则,那对于来说,后进先出,若两个,将第一个的所有元素全部导入第二个,此刻我们想想比如第一个原本 1,2,3,4,现在导入第二个此刻是不是就是4,3,2,1,此刻第二个若出的话正好符合了队列的先进先出 我们可以在画图看一下 其实对于两个,将第一个导入另一个,原本第一个的元素是后进先出的原则

    28410编辑于 2024-09-25
  • 来自专栏构建FFmpeg Android播放器

    专题结构

    在工作中由于时间关系,写得比较匆忙,想对代码进行整理和完善,自己也一直想能写点东西.所以有了写一个关于ffmpeg专题的想法, 同时对播放器进行完善, 使自己实现的播放器能和MediaPlayer简单切换 专题分为5个部分: 1 播放器基础知识 2 Android基础知识,主要是Android MediaPlayer会涉及到的一些知识 3 Android MediaPlayer的框架流程,代码分析 4 ffmpeg

    36930发布于 2020-04-17
  • 来自专栏sukuna的博客

    数据结构–线性结构专题

    数据结构–线性结构专题 于2020年11月25日由Sukuna发布 1 基础 1.数据,数据元素,数据对象,数据项,数据结构的概念 什么是基本单位,什么是最小单位,什么是所有能输入到计算机中并被计算机程序处理的符号总称 2.结构的分类? 逻辑结构:集合,线性表,树,图 物理结构:顺序存储结构,物理存储结构,索引存储结构,哈希存储结构 3.引用参数:&:可以扩展为指针 4.算法的五个特征 (1)有穷性 (2)可读性 (3)健壮性 (4)可行性 newbase==NULL) return OVERFLOW; //扩充失败 L.elem=newbase; L.listsize+=LISTINCREMENT; } 9. 3.1 1.先进后出 2.顶和底的定义 3.顶的几个定义法: 和 的上一个单元:空时分别对应-1和0 4.进展顺序判断:第二斯特林数,溢出和下溢的判断 5.符号表达式和代替递归函数 6

    60730编辑于 2022-12-08
  • 来自专栏学习

    算法专题十: +BFS

    , 如果是+, - 则直接入, 如果是*, / 则运算到顶元素上, 如果为字符则更新字符 第三步: 将数字一一提取出来, 然后直接运算即可. 示例1: 输入: root = [1,3,2,5,3,null,9] 输出: [1,3,9] 示例2: 输入: root = [1,2,3] 输出: [1,3] 提示: 二叉树的节点个数的范围是 [0,104] -231 <= Node.val <= 231 - 1 算法思路 依旧是利用层序遍历,但是这⼀次队列里面不单单存结点信息,并且还存储当前结如果在数组中存储所对应的下标(在我们学习数据结构 但是没有问题,因为 • 我们数据的存储是⼀个环形的结构; • 并且题目说明,数据的范围在 int 这个类型的最大值的范围之内,因此不会超出⼀圈; • 因此,如果是求差值的话,我们无需考虑溢出的情况。 总结 使用和广度优先搜索(BFS)算法都是常见的图形和树形结构遍历方法, 希望本文对大家有帮助~

    23210编辑于 2024-10-31
  • 来自专栏开源部署

    结构

    1、概述 是一种==“先进后出”==的一种数据结构,有压两种操作方式。 可以把这种数据结构理解成是手枪的弹夹。 压就好比是往弹夹中压子弹。 弹就好比是往子弹中退出子弹。 2、数据结构的代码体现 用LinkedList模拟的数据结构 public class MyStack { private LinkedList link; public MyStack() { link = new LinkedList(); } //压 //每次压倒顶 public void add(Object obj) { link.addFirst (obj); } //弹 //每次从顶取出 public Object get() { // return link.getFirst(); return link.removeFirst

    39920编辑于 2022-09-14
  • 来自专栏全栈程序员必看

    Java结构_java

    大家好,又见面了,我是你们的朋友全君。 Java结构 概念 典型的结构如下图所示:结构只能在一端操作,该操作端叫做顶,另一端叫做底。 结构按照“后进先出”(Last In First Out, LIFO)的方式处理结点数据。 的特点: 其实结构是一种受限制的线性数据结构。 其限制是仅允许在表的一端进行插入和删除运算。 向一个插入新元素又称作进、入或压,它是把新元素放到顶元素的上面,使之成为新的顶元素; 从一个删除元素又称作出或退,它是把顶元素删除掉,使其相邻的元素成为新的顶元素。 所以当前的顺序是: 顶A->B->C->D顶 D执行完, 弹出. C/B/A依次弹出. 所以我们有函数调用的称呼, 就来自于它们内部的实现机制. (通过来实现的) 清楚了上面这个调用流程就应该知道的重要性了吧。在Java中已经跟我们封装好了 Stock类就是结构 的应用 首先了解一下中的常用方法?

    87110编辑于 2022-10-04
  • 来自专栏C++信息学奥赛

    杨校老师课堂备战C++之数据结构结构专题训练题讲解

    校验:遇到右括号就检查顶左括号是否匹配,匹配则出,不匹配则直接判定错误。通过顶指针top(也就是数组的下标)管理元素的入、出操作。 【讲解步骤】整体解题分为3个核心步骤:我们采用数组模拟的方式实现括号匹配数组stack对应的存储空间,每个元素存储左括号[或(变量top作为“顶指针”,存储当前顶的下标初始“结构”构建(左括号入 调度规则:车厢从A→C后不能回A,从C→B后不能回C,本质是“的入不可逆、出不可逆”【讲解步骤】这个题目详细讲解“遍历目标序列a,通过的入/出操作,验证能否依次匹配每个目标车厢”。 top]=c++实现入:先将top上移(顶位置更新),再把当前待入的车厢c存入,最后c自增(指向下一节待调度的车厢)。 出操作——匹配成功,驶出到B当顶stack[top]等于目标a[i]时,说明车站C最前面的车厢正是需要驶出到B的车厢,执行出:用--top实现出:将top下移(顶位置更新,相当于移除顶元素,

    9100编辑于 2026-03-29
  • 来自专栏sukuna的博客

    数据结构–查找专题

    数据结构–查找专题 于2020年11月9日2020年11月9日由Sukuna发布 查找表: 由同一类型的数据元素(记录)组成的集合。 小的往左走,大的往右走,遇到NULL就插入 ASL计算:同查找树 存储结构:跟二叉树一样 查找算法:大的往右,小的往左,找到了返回,遇到NULL就失败 插入算法: 删除算法:在二叉排序树中删除一个结点时

    72720编辑于 2022-12-08
  • 来自专栏叽叽西

    数据结构-结构

    后进者先出,先进者后出,这就是典型的“结构。 从的操作特性上来看,是一种“操作受限”的线性表,只允许在一端插入和删除数据。 如何实现一个“”? 主要包含两个操作,入和出,也就是在顶插入一个数据和从顶删除一个数据。理解了的定义之后,我们来看一看如何用代码实现一个。 实际上,既可以用数组来实现,也可以用链表来实现。 用数组实现的,我们叫作顺序,用链表实现的,我们叫作链式。 不管是顺序还是链式,我们存储数据只需要一个大小为 n 的数组就够了。 在表达式求值中的应用 我们再来看的另一个常见的应用场景,编译器如何利用来实现表达式求值。 为了方便解释,我将算术表达式简化为只包含加减乘除四则运算,比如:34+13*9+44-12/3。 this.backStack.isEmpty(); } } 内容小结 我的代码实现 https://gitee.com/kaiLee/struct/tree/master/src/main/java/com/s3 是一种操作受限的数据结构

    64610编辑于 2022-05-17
  • 来自专栏笔记分享

    线性结构-

    的操作只能在线性表的表尾进行,这个标为被称为顶top,相应的表头被称为底bottom 的数据必须从顶进入,也必须从顶取出,先入的数据在后入的数据下面。 中不含有任何数据时的状态叫作空,此时顶top等于底bottom。 的定义 前面说过,作为一个线性结构既可以用数组实现,也可以用链表实现。 在大多数情况下,我们用数组来实现。 ("There are no elements in stack"); return -111; } return stack[--top]; } 与所有数据结构一样,在执行增删操作之前 当top==0时,内没有元素,pop的操作将是非法的,所以需要返回一个无效值ERROR_ELEM_VALUE,在介绍“线性结构-数组”中,有一道“删除重复元素”的题目,当时将重复元素赋值为-111,也是同样的道理 来两道题 二/十进制转换 利用结构将二进制数转换为十进制数 利用的FILO特点,方便位权运算 首先将二进制数从高位到低位顺序入。然后从顶依次取出每一个元素。

    51120编辑于 2023-07-08
  • 结构(详解)

    中的数据元素遵守后进先出LIFO(Last In First Out)的原则。         压的插入操作叫做进/压/入,入数据在顶。          出的删除操作叫做出。出数据也在顶 2.结构的特点: 后进先出(LIFO):的最显著特点是后进先出的数据访问方式。 而在链式存储中,每个元素都有一个指向下一个元素的指针,形成了一个链式结构。 常见应用:在计算机科学中有着广泛的应用,包括函数调用、表达式求值、语法分析、内存管理等方面。 在算法和数据结构中,也是解决许多问题的重要工具。 内存管理:内存储在程序的运行时空间中,由编译器或解释器负责管理。入和出操作通常比较高效,并且不会导致内存碎片化。          总的来说,是一种简单但功能强大的数据结构,它的后进先出特性使其在许多领域都有着重要的应用。         结构通常是用顺序表来实现的,如果学会了顺序表和链表再来实现结构就行显得简单的多。

    36910编辑于 2025-11-15
  • 来自专栏sukuna的博客

    数据结构–排序专题

    数据结构–排序专题 于2020年11月18日2020年11月18日由Sukuna发布 1.插入排序 算法基本思想 将待排序的记录插入到已排序的子文件中去,使得插入之后得到的子文件仍然是有序子文件 快速排序需要一个空间来实现递归。 若每次划分均能将文件均匀分割为两部分,则的最大深度为|log_2n|+1,所需空间为O(log_2n),即空间复杂度 S(n)= O (log2n)快速排序是不稳定的。 接着再取出,按照0-9的顺序,接着是十位,接着是百位 /* 基数排序 - 次位优先 */ /* 假设元素最多有MaxDigit个关键字,基数全是同样的Radix */ #define MaxDigit

    66920编辑于 2022-12-08
  • 来自专栏QT

    【数据结构】-- 链表专题

    前面我们实现了单链表,单链表只是链表的一种。可以根据以下几个标准来判断链表的类型:

    14710编辑于 2025-12-30
  • 来自专栏木杉の小屋

    线性结构-

    中,无论是存还是取,都必须遵循"先进后出原则" ==>是一种只能从表的一端存取数据,且遵循"先进后出"原则的线性存储结构和出:将数据存储到站里面 出:将数据从中间取出 的实现方法 :"特殊"的线性存储结构 1 顺序表 ==> 顺序(顺序存储结构) 2 链表 ==> 链(链式存储结构) 的应用 例: 撤销,返回功能 …等等 二.顺序: // **元素入 // 参数: 存储结构, 顶指针, 数据 // 返回值: 顶指针(需要知道结束入之后顶的位置) int pushElem(int* arr, int top, int val top; } 完整代码+测试: #include // **元素入 // 参数: 存储结构, 顶指针, 数据 // 返回值: 顶指针(需要知道结束入之后顶的位置) int pushElem **元素出 // 参数: 存储结构, 顶指针 // 返回值: 顶指针 int popElem(int* arr, int top); 三.链 一般将链表的头部作为顶 入: // **添加元素

    41940发布于 2021-04-02
  • 来自专栏智能生信

    【NeurIPS】四篇好文简读-专题9

    Language models enable zero-shot prediction of the effects of mutations on protein function 论文摘要:

    67630编辑于 2022-05-23
  • 来自专栏Hank’s Blog

    (9)Python循环结构

    45010发布于 2020-09-16
  • 来自专栏智能生信

    【AAAI】四篇好文简读-专题9

    三 论文题目: Self-Supervised Pre-Training for Protein Embeddings Using Tertiary Structures 论文摘要: 蛋白质的三级结构在很大程度上决定了它与其他分子的相互作用 尽管在各种与结构相关的任务中非常重要,但完全监督的数据获取起来往往既耗时又昂贵。现有的预训练模型大多侧重于氨基酸序列或多序列比对,而结构信息尚未被充分利用。 本文提出了一种用于从蛋白质三级结构中学习结构嵌入的自监督预训练模型。天然蛋白质结构受到随机噪声的干扰,预训练模型的目的是估计扰动3D结构上的梯度。 作者在两个下游任务:蛋白质结构质量评估(QA)和蛋白质-蛋白质相互作用(PPI)位点预测上展示了该预训练模型的有效性。提取层次结构嵌入以增强相应的预测模型。 大量实验表明,这种结构嵌入一致地提高了两个下游任务的预测精度。

    52920编辑于 2022-05-23
  • 来自专栏g歌德a

    数据结构树的专题

    void createBT(BiTree *&b, char *s) //用括号表示法的字符串s生成二叉树b { BiTree *st[100], *t; //st存放树结点的 就是以树的根结点为轴心,将整棵树顺时针旋转一定角度,使之结构层次分明。 将左孩子结点的右孩子结点、右孩子结点的右孩子结点……都作为该结点的孩子结点,将该结点与这些右孩子结点用线连接起来; (2)删除原二叉树中所有结点与其右孩子结点的连线; (3)整理(1)和(2)两步得到的树,使之结构层次分明

    55320发布于 2019-12-02
  • 来自专栏Data分析

    python程序的分支结构专题

    python程序的分支结构 前言 程序的分支结构分为三种,分别是单分支结构,二分支结构,多分支结构。同时需要掌握条件判断及组合,程序的异常处理。 在Python的舞台上,分支结构以清晰简洁的语法展现,让你能够以一种直观的方式控制程序的流程。本篇技术博客将引导你深入探索Python程序中的分支结构,为你揭开这个编程世界中的一道神秘面纱。 无论你是初学者还是经验丰富的开发者,理解和灵活运用分支结构是提高代码可读性和功能性的关键一步。我们将深入研究条件语句、循环结构和异常处理,为你呈现一个全面的分支结构指南。 准备好迎接这场代码之旅,让我们一同揭示分支结构的精妙之处,掌握Python编程的更高层次。 一、单分支结构 根据判断条件结果而选择不同向前路径的运行方式。 无论是简单的条件语句,还是复杂的循环结构,每一行代码都是一次选择,每一个分支都是一次决策。通过理解和运用这些分支结构,我们能够使程序在不同的情境下表现出多样性和强大的适应性。

    74310编辑于 2024-01-30
  • 来自专栏学习

    【数据结构】链表专题3

    前言 本篇博客我们继续来讨论链表专题,今天的链表算法题是经典中的经典 个人主页:小张同学zkf ⏩ 文章专栏:数据结构 若有问题 评论区见 欢迎大家点赞收藏⭐文章 1.判断链表是否有环 第三步尾插新链表,将拷贝在原链表的节点尾插新链表,并返回新链表的头结点 代码如下 这道题整体代码如下 相当于三个while嘛,一个while循环一步 结束语 链表有关算法题也就总结完了,从链表专题

    21110编辑于 2024-09-25
领券