基础的数据结构

简介: 线性结构包括动态数组、链表、栈和队列,适用于顺序存储与操作。非线性结构如优先级队列、哈希表、红黑树、跳表和B+树,适用于复杂数据组织与高效查找。不同结构适用于不同场景,如HashMap适合快速查找,B+树用于数据库索引。

线性结构

动态数组:可以扩容,连续存储( ArrayList)

链表:不连续存储,有当前节点,才能找到相邻节点(linkedlist)

栈:先进后出,常用方法pop(出栈) push(入栈)peek(栈顶获取)linkedlist

队列:先进先出, linkedlist实现的是双端队列,常用方法:addfirst,addlast,标准队列off队尾添加。poll队头移除

非线性结构:

优先级队列: 保证优先级高的先出队,实现方式小顶堆(优先级小的都是根节点),或者大顶堆(优先级高的都是根节点)适合流式数据的处理(流式数据:无结束点,持续性)

hash表 key-value结构,根据key生成hash码存储数据value,适合数据的快速查找,实现有 HashMap(初始链表+数组,链表长度大于8数组长度大于64转化为红黑树,单线程首选),Hashtable(线程安全,效率低下)

红黑树:自平衡的二叉查找树,相对线性结构性能较好, TreeMap 属于红黑树

跳表:多级链表结构,链表上有多层索引,层级随机,比红黑树实现简单,性能差不多 。java 中的 ConcurrentSkipListMap 用跳表结构实现,redis 中的 SortedSet 也是用跳表实现

B+ 树:可以自平衡的 N 叉查找树。关系型数据库的索引常用 B+ 树实现

相关文章
|
Linux Python
LINUX These critical programs are missing or too old: compiler python
LINUX These critical programs are missing or too old: compiler python
1707 0
LINUX These critical programs are missing or too old: compiler python
|
8月前
|
人工智能 自然语言处理 机器人
保姆级教程:Mac本地搭建OpenClaw及阿里云上1分钟部署OpenClaw+飞书集成实战指南
OpenClaw(曾用名Clawdbot、Moltbot)作为2026年最热门的开源个人AI助手平台,以“自然语言驱动自动化”为核心,支持对接飞书、Telegram等主流通讯工具,可替代人工完成文件操作、日历管理、邮件处理等重复性工作。其模块化架构适配多系统环境,既可以在Mac上本地化部署打造私人助手,也能通过阿里云实现7×24小时稳定运行,完美兼顾隐私性与便捷性。
14335 21
|
6月前
|
人工智能 自然语言处理 数据可视化
白嫖7000万Tokens!阿里云百炼新用户专享,零成本玩转通义千问等70+大模型
阿里云百炼新用户专享:开通即赠超7000万Tokens!百炼官网:https://t.aliyun.com/U/fPVHqY 零门槛、免绑卡,可免费调用通义千问等70+主流大模型,支持AI编程、智能客服、内容创作等场景,价值数百元,有效期90天。
2080 2
|
10月前
|
存储 运维 NoSQL
架构稳、低运维、按需付- Dify x 阿里云 Tablestore 解锁百亿级索引
今天,Dify 正式适配阿里云 Tablestore 向量索引能力,并依托 阿里云计算巢 提供一键部署体验。企业无需重构现有架构,即可享受极简运维、按需付费的灵活成本,以及原生支持百亿级向量检索的扩展能力,从容应对AI应用的结构化数据增长。
579 3
架构稳、低运维、按需付- Dify x 阿里云 Tablestore 解锁百亿级索引
|
存储 机器学习/深度学习 人工智能
【AI系统】计算图优化架构
本文介绍了推理引擎转换中的图优化模块,涵盖算子融合、布局转换、算子替换及内存优化等技术,旨在提升模型推理效率。计算图优化技术通过减少计算冗余、提高计算效率和减少内存占用,显著改善模型在资源受限设备上的运行表现。文中详细探讨了离线优化模块面临的挑战及解决方案,包括结构冗余、精度冗余、算法冗余和读写冗余的处理方法。此外,文章还介绍了ONNX Runtime的图优化机制及其在实际应用中的实现,展示了如何通过图优化提高模型推理性能的具体示例。
1249 4
【AI系统】计算图优化架构
|
SQL Shell 数据库
MSSQL绕过微软杀毒提权案例
MSSQL绕过微软杀毒提权案例
863 0
|
自然语言处理 算法 物联网
【技术前沿】智能反向寻车解决方案:提升停车场用户体验与运营效率
本文介绍了一种智能反向寻车解决方案,通过集成物联网(IoT)、大数据分析及用户友好的移动应用,利用蓝牙信标或RFID标签实现车辆厘米级定位。车主仅需输入车牌号或停车位编号,即可获得最佳寻车路径。该方案不仅大幅缩短寻车时间,还提升了停车场运营效率。以合肥骆岗公园为例,应用后车主平均寻车时间从10分钟缩短至2分钟内,用户满意度显著提高。
1043 1
【技术前沿】智能反向寻车解决方案:提升停车场用户体验与运营效率
|
JavaScript 安全 前端开发
什么是同源策略
什么是同源策略
598 0
|
存储 安全 程序员
C语言中的共用体(Union)技术详解
C语言中的共用体(Union)技术详解
2077 0

热门文章

最新文章