常见数据结构种类
常见数据结构种类
数据存储的常用结构有:栈、队列、数组、链表和红黑树
a.队列(queue)
– 先进先出,后进后出。
– 场景:各种排队。叫号系统。
– 有很多集合可以实现队列。
b.栈(stack)
– 后进先出,先进后出
– 压栈 == 入栈
– 弹栈 == 出栈
– 场景:手枪的弹夹。
c.数组
– 数组是内存中的连续存储区域。
– 分成若干等分的小区域(每个区域大小是一样的)
– 元素存在索引
– 特点:查询元素快(根据索引快速计算出元素的地址,然后立即去定位)
增删元素慢(创建新数组,迁移元素)
d.链表
– 元素不是内存中的连续区域存储。
– 元素是游离存储的。每个元素会记录下个元素的地址。
– 特点:查询元素慢
增删元素快(针对于首尾元素,速度极快,一般是双链表)
e.红黑树
二叉树:binary tree 永远只有一个根节点,是每个结点不超过2个节点的树(tree) 。
查找二叉树,排序二叉树:小的左边,大的右边,但是可能树很高,性能变差。
为了做排序和搜索会进行左旋和右旋实现平衡查找二叉树,让树的高度差不大于1
红黑树(就是基于红黑规则实现了自平衡的排序二叉树):
树尽量的保证到了很矮小,但是又排好序了,性能最高的树。红黑树的增删查改性能都好!!!
树->二叉树->二叉排序树(二叉查找树)->平衡二叉树->红黑树
这些结构,其实Java早就通过代码实现了,我们要知道有这些结构即可!
相关文章:
常见数据结构种类
常见数据结构种类 数据存储的常用结构有:栈、队列、数组、链表和红黑树 a.队列(queue) – 先进先出,后进后出。 – 场景:各种排队。叫号系统。 – 有很多集合可以实现队列。 b.栈(stack) – …...
linux高级---k8s中的五种控制器
文章目录 一、k8s的控制器类型二、pod与控制器之间的关系三、状态与无状态化对特点四、Deployment1、Deployment的资源清单文件2、在配置清单中调用deployment控制器3、镜像更新4、金丝雀发布5、删除Deployment 五、Statefulset六、DaemonSet1、daemonset的资源清单文件2、在配…...
记一次udp服务性能优化经历
目录 概述磁盘io网络io减少重复计算减少内存复制减少互斥锁 概述 手上有个go项目,接收udp信息(主要是syslog和snmp trap)并查询设备信息,将信息结构化(设备ip名称,匹配了什么规则之类的)后发送…...
uniapp和VueI18n多语言H5项目语言国际化功能搭建流程
uniapp多语言项目国家化功能搭建流程 说明:uniapp多语言项目功能搭建分为应用部分和框架部分。 应用部分,即开发者自己的代码里涉及的界面部分的语言翻译。框架部分,即uni-app内置组件和API涉及界面的部分的语言翻译。 功能的搭建是需要un…...
C# | 凸包算法之Jarvis,寻找一组点的边界/轮廓
C#实现凸包算法之Jarvis 文章目录 C#实现凸包算法之Jarvis前言示例代码实现思路测试结果结束语 前言 这篇关于凸包算法的文章,本文使用C#和Jarvis算法来实现凸包算法。 首先消除两个最基本的问题: 什么是凸包呢? 凸包是一个包围一组点的凸多…...
SpringBoot接收请求参数的方式
【方式一】原始方式 因为SpringBoot封装了Servlet,所以也允许使用HttpServletRequest类中的方法来获取 /*** 【方式一】原始方式*/RequestMapping("/demo01")public String demo01(HttpServletRequest request) {// 参数名要与页面提交的参数名一致Strin…...
MKS SERVO4257D 闭环步进电机_系列5 CAN指令说明
第1部分 产品介绍 MKS SERVO 28D/35D/42D/57D 系列闭环步进电机是创客基地为满足市场需求而自主研发的一款产品。具备脉冲接口和RS485/CAN串行接口,支持MODBUS-RTU通讯协议,内置高效FOC矢量算法,采用高精度编码器,通过位置反馈&am…...
安捷伦E4440A(Agilent) e4440a 3HZ-26.5G频谱分析仪
Agilent E4440A、Keysight E4440A、HP E4440A频谱分析仪,3 Hz - 26.5 GHz(PSA 系列) Agilent / Keysight PSA 系列 E4440A 高性能频谱分析仪提供强大的一键式测量、多功能功能集和前沿技术,可满足您的项目和需求。选项可供您选…...
华为OD机试真题 Java 实现【最长子字符串的长度】【2022Q4 100分】,附详细解题思路
一、题目描述 给你一个字符串s,字符串s首尾相连组成一个环形,请你在环形中找出‘o’字符出现了偶数次最长子字符串的长度。 二、输入描述 输入一串小写字母组成的字符串。 三、输出描述 输出一个整数。 四、解题思路 题目要求在给定的环形字符串中找出字符’o’出现了…...
【iOS】--对象的底层结构
源码 先转一下源码 //#import <Foundation/Foundation.h> #import <objc/runtime.h>interface LGPerson : NSObject property (nonatomic, strong) NSString *KCName; endimplementation LGPersonendint main(int argc, const char * argv[]) {autoreleasepool {…...
高并发内存池设计_内存池
高并发内存池设计 1. 常用的内存操作函数2. 高性能内存池设计_弊端解决之道弊端一弊端二弊端三弊端四3. 弊端解决之道内存管理维度分析内存管理组件选型4. 高并发内存管理最佳实践内存池技术内存池如何解决弊端?高并发时内存池如何实现?5. 高效内存池设计和实现实现思路 (分而…...
给编程初学者的一封信
提醒:以下内容仅做参考,具体请自行设计。 随着信息技术的快速发展,编程已经成为一个越来越重要的技能。那么,我们该如何入门编程呢?欢迎大家积极讨论 一、自学编程需要注意什么? 要有足够的时间、精力等…...
【无功优化】基于改进教与学算法的配电网无功优化【IEEE33节点】(Matlab代码时候)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
数据在内存中的存储(超详细讲解)
目录 浮点数家族 浮点数类型在内存中的存储 一.为什么说整型和浮点数在内存中存储方式不同(证明) 二.浮点数的存储规则 浮点数在计算机内部的表示方法 1.对于M的存储和取出规则 2.对于E的存储和取出时的规则 对前面代码结果进行解释: …...
log4cplus使用示例
1、l4jlog.h封装头文件 #pragma once#include <iostream> #include <log4cplus/logger.h> #include <log4cplus/loggingmacros.h> #include <log4cplus/fileappender.h> #include <log4cplus/layout.h> #include <log4cplus/configurator.h&…...
人工智能学习07--pytorch20--目标检测:COCO数据集介绍+pycocotools简单使用
如:天空 coco包含pascal voc 的所有类别,并且对每个类别的标注目标个数也比pascal voc的多。 一般使用coco数据集预训练好的权重来迁移学习。 如果仅仅针对目标检测object80类而言,有些图片并没有标注信息,或者有错误标注信息。…...
learnOpenGL-深度测试
深度测试:OpenGL将一个片段的深度值与深度缓冲的内容进行对比。执行一个深度测试,测试通过则深度缓冲将会更新为新的深度值。测试失败则片段被丢弃。 深度测试片段着色器及模版测试之后执行。 片段着色器中内置变量gl_FragCoord的z值即为深度值。 提前深…...
阿里云服务器数据盘是什么?系统盘和数据盘区别
阿里云服务器系统盘和数据盘有什么区别?系统盘类似Windows电脑的C盘,数据盘相当于其他盘符,数据盘可以有多个而系统盘只能有一个,数据盘可有可无而云服务器系统盘是必须要有的。阿里云服务器网来详细说下阿里云服务器数据盘和系统…...
linux常用命令精选
参考文章: Top 60 Linux Interview Questions and Answers - howtouselinux 在管理和维护Linux系统时,有一些常用的命令可以帮助您进行系统初始化和配置。这些命令涵盖了各种任务,包括系统设置、用户管理、软件安装和网络配置等。 本文将为…...
人体行为足力特征分析及其应用研究_kaic
第一章 绪论 随着社会现代化的发展和科技的不断进步,我国航天事业蓬勃发展,与此同时产生了很多亟待解决的难题,康复医疗成为航天医学和康复领域的重要课题之一。载人航天实践证明,失重对航天员生理功能有很大影响,这不…...
模拟电路经典设计解析与工程实践
1. 模拟电路设计的艺术:那些令人拍案叫绝的经典设计在模拟电路设计的浩瀚海洋中,总有一些电路设计能让人眼前一亮,它们或简洁优雅,或构思巧妙,或性能卓越。作为一名从业十余年的模拟电路工程师,我想分享几个…...
实战指南|OpenWrt磁盘扩容全流程解析与避坑技巧
1. 为什么需要给OpenWrt扩容? 很多朋友第一次接触OpenWrt时都会遇到一个尴尬的问题:系统默认分配的存储空间太小了。我自己刚开始用OpenWrt时也踩过这个坑,当时想装个Docker跑点服务,结果发现连最基本的镜像都拉不下来。这就像给…...
实测美胸-年美-造相Z-Turbo:一键部署,效果超乎想象
实测美胸-年美-造相Z-Turbo:一键部署,效果超乎想象 1. 镜像简介与核心特点 美胸-年美-造相Z-Turbo是基于Xinference框架部署的文生图模型服务,专为快速生成高质量图像而设计。这个镜像继承了Z-Image-Turbo的优秀基因,并针对特定…...
8款AI论文写作工具(含爱毕业aibiye)推荐及新手快速上手方法
人工智能技术在学术研究领域的深度整合为论文撰写流程带来了革命性变革,通过8款核心智能工具的协同应用——包括文献智能分析系统、自动化内容生成引擎以及文本精准优化平台——研究者能够实现从数据挖掘到学术表达的全程智能化,显著提升文献处理效率与学…...
Sulpho-Methyltetrazine-NHS ester,磺化甲基四嗪-琥珀酰亚胺酯的结构特点与功能
Sulpho-Methyltetrazine-NHS ester 是一种结合了磺酸基团、甲基四嗪和 NHS 酯三大功能模块的化学试剂,在生物化学和药物研发等领域具有广泛应用。以下是对其详细介绍:一、基本信息英文名称:Sulpho-Methyltetrazine-NHS ester(或 S…...
BilibiliDown:让B站视频下载变得简单高效
BilibiliDown:让B站视频下载变得简单高效 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/BilibiliDo…...
ChatGLM3-6B企业实操:离线环境下的技术问答机器人部署
ChatGLM3-6B企业实操:离线环境下的技术问答机器人部署 1. 项目概述 在当今企业环境中,数据安全和响应速度是技术问答系统的核心需求。传统的云端AI服务虽然方便,但存在数据泄露风险、网络依赖性强、响应延迟高等问题。特别是对于金融、医疗…...
QKeyMapper:Windows终极按键映射工具,无需重启立即生效
QKeyMapper:Windows终极按键映射工具,无需重启立即生效 【免费下载链接】QKeyMapper [按键映射工具] QKeyMapper,Qt开发Win10&Win11可用,不修改注册表、不需重新启动系统,可立即生效和停止,新增虚拟游戏…...
Phi-4-mini-reasoning开源大模型教程:免配置镜像+128K长文本推理实战
Phi-4-mini-reasoning开源大模型教程:免配置镜像128K长文本推理实战 1. 模型简介 Phi-4-mini-reasoning是一个轻量级开源大语言模型,专注于高质量推理任务。作为Phi-4模型家族成员,它具备以下核心特点: 推理能力突出࿱…...
鱼鱼刘怀旧手游|武林外传十年之约:同福灯火未熄,江湖老友归来
鱼鱼刘怀旧手游是国内人气老牌怀旧游戏专属平台,汇聚多款经典正版授权复刻手游,严格遵循端游原版设定匠心 1:1 还原复刻。本次特意为广大新手玩家准备了详细游戏攻略指南 ——岁月辗转,一晃十年。当年七侠镇的青石板还留着脚步,同…...
