七大数据结构精简总结

本文概述了线性数据结构,包括链表、数组、栈和队列,深入讲解了链表的双向链表特性及优缺点。接着介绍了哈希表的快速访问优势。此外,文章还触及了图的树形结构,如堆和二叉查找树,分析了它们的特性和操作效率。
摘要由CSDN通过智能技术生成

A. 线性数据结构

1. 链表

  • 特点:数据分散存储,每个数据都有一个“指针”pointer,指向下一个数据的内存地址。
  • 优点:添加和删除数据只需要改变该位置前后的指针指向,时间复杂度为O(1)。
  • 缺点:线性查找要从链表的头部开始,顺着指针的指向往下做顺序访问,时间复杂度为O(n)。
双向链表
  • 优点:可以从前往后和从后往前遍历数据
  • 缺点:添加和删除数据时需要改变更多指针的指向

2. 数组

  • 特点:数据按顺序存储在内存的连续空间内,每个数据的内存地址都可以通过数组下标算出
  • 优点:访问目标数据可以借助数组下标直接计算内存地址(“随机访问”),时间复杂度为O(1)。
  • 缺点:添加和删除数据,需要将后面的元素后移或前移,时间复杂度为O(n)。
访 问 添加、删除
链表
数组

3. 栈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值