logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Python面试宝典第2题:滑动窗口最大值

给定一个数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。滑动窗口每次只向右移动一位,你只可以看到在滑动窗口内的k个数字,请返回滑动窗口中的最大值。

文章图片
#python#面试#算法
C/C++数据结构之双向链表

想象一下一列火车,每节车厢就像双向链表中的一个节点。每节车厢都有前后两个连接点,通过这些连接点,车厢相互连接形成整列火车。我们可以从任意一节车厢出发,向前或向后移动到相邻的车厢,这与双向链表支持双向遍历的特点非常相似。

文章图片
#数据结构#c语言#c++
C/C++数据结构之动态数组

与前一篇文章中介绍的静态数组不同,动态数组允许我们在运行时根据需要调整其大小。这意味着,数组元素的个数不是在编译时就固定的,而是可以在运行时指定。另外,我们还可以在程序执行过程中动态地添加或删除元素,而无需预先确定数组的最大容量。这种灵活性,使得动态数组非常适合用于那些数据量不确定或会随时间变化的场景。

文章图片
#数据结构#c语言#c++
实战设计模式之桥接模式

与上一篇介绍的适配器模式一样,桥接模式也是一种结构型设计模式。它旨在将抽象部分与其实现部分分离,使它们可以独立变化。通过桥接模式,我们可以让一个类的功能模块化,并且可以在不修改其他模块的情况下进行扩展或修改。这种设计思路有助于创建更加灵活、易于维护的代码库。为了更好地理解桥接模式,我们以现实生活中的蜡笔和毛笔为例。假如我们需要大、中、小三种规格的蜡笔和毛笔,每种规格的笔需要支持红、黄、蓝三种颜色。

文章图片
#设计模式#桥接模式#软件工程 +2
超级好用的C++实用库之国密sm4算法

国密SM4算法,全称为国家密码管理局制定的SM4分组密码算法,是中国自主设计的商用密码算法标准之一,用于数据的对称加密。由于其国产化属性和安全性,SM4广泛应用于中国国内的金融、电子政务、网络安全、通信等多个领域。在国密HTTPS协议中,SM4用于数据的加密传输,确保网络通信的安全。除此之外,它还应用于无线互联网加密、智能卡、加密芯片、以及各种需要高强度数据保护的场景。

#c++#算法#开发语言
C/C++数据结构之栈基础

在食堂或自助餐厅中,清洁的餐盘通常会按照从下到上的顺序堆叠在一起。服务员或者顾客需要使用时,总是从最上面取一个盘子来用,而不是从最下面取一个盘子。为什么呢?因为这些盘子是“后放上去的先拿出来”。这其实就是我们今天要介绍的数据结构 —— 栈(Stack)。

文章图片
#c语言#c++#数据结构
C/C++数据结构之用数组实现栈

本文介绍了在C/C++中使用数组实现栈的方法。栈的基本操作包括Push(入栈)、Pop(出栈)、Top(查看栈顶)、IsEmpty(判空)和Size(获取大小)。通过动态数组实现可以灵活管理内存,当栈满时自动扩容。实现中使用了四个成员变量:存储元素的动态数组指针、容量、栈顶索引和元素数量。关键操作包括Push时检查扩容、Pop时检查空栈,以及实现动态扩容的Resize函数。完整代码展示了栈的初始化

文章图片
#c++#c语言#数据结构
C/C++数据结构之用链表实现栈

在前一篇文章中,我们已经用数组实现了栈。在本篇文章中,我们将使用链表来实现栈。使用链表的优点是:动态增长,扩容时更加平滑。缺点是:略微复杂,需要额外管理所有节点。栈相关的操作,仍然是下面5个接口。Push:向栈中添加一个元素。Pop:从栈中移除顶部元素,并返回该元素。Top:查看栈顶元素但不移除它。IsEmpty:检查栈是否为空。Size:获取栈中元素的数量。

文章图片
#数据结构#c语言#c++ +1
C/C++数据结构之队列基础

与前面几篇文章中介绍的栈不同,栈是后进先出,而队列是先进先出。队列最直观的例子就是:人们在银行、餐厅或售票窗口前排队等候服务。最早到达的人会最先得到服务,这与队列的操作原则基本一致。队列作为一种基础的数据结构,遵循先进先出(FIFO, 即First-In-First-Out)的原则。其核心概念主要包括如下三点。

文章图片
#c语言#c++#数据结构
C/C++数据结构之二叉树基础

二叉树是一种特殊的树形数据结构,其中每个节点最多只能有两个子节点:左子节点和右子节点。这种限制使得二叉树在处理数据时具有独特的性质,尤其是在搜索、排序和遍历操作方面。二叉树的基本组成元素包括:根节点、内部节点、叶子节点。根节点是树的顶端节点,没有父节点。内部节点至少有一个子节点,而叶子节点则是没有任何子节点的节点。二叉树可以为空,即不包含任何节点。

文章图片
#数据结构#c语言#c++
    共 50 条
  • 1
  • 2
  • 3
  • 4
  • 5
  • 请选择