数据结构上篇 - 线性数据结构

本文是数据结构系列的上篇,主要介绍线性结构,包括数组、链表、栈和队列。数组提供高效访问,但插入删除成本高;链表反之,且有单链表、双向链表等形式。栈遵循后进先出原则,而队列则是先进先出。
摘要由CSDN通过智能技术生成

本篇文章属于数据结构连载篇的其中之一,共分为上中下三篇。上篇主要介绍线性数据结构数组、链表、栈、队列;中篇介绍树和图;下篇介绍复合数据结构哈希表、跳表等。希望大家持续关注,谢谢。

1 简单介绍

我们所说的数据结构主要是指数据在内存中的存储结构,即程序运行时,我们通过将数据存入不同的容器,通过操作容器内的数据,以完成我们的业务逻辑。

数据结构在物理结构上一般分为顺序结构和链式结构。

所有的数据结构,本质是不是顺序结构就是链式结构,要么就是复合结构。

  • 顺序结构(在内存中是连续的地址空间)

  • 链式结构(在内存中是非连续的地址空间,通过存储下一个数据的地址指针(Java中就是对象变量)找到下一个数据)

数据结构的逻辑结构,也是我们数据结构系列文章的讲解顺序,下面我仅列出大纲

  • 线性结构
    • 数组
    • 链表
    • 队列
    • 二叉树
    • 非二叉树
  • 复合数据结构
    • 哈希表
    • 跳表
    • 线段树

2 数组

数组是顺序结构的代表,也是线性结构的代表,也是日常我们最常使用的一种数据结构,Java中的ArrayList就是对数组的一种封装,使其可以动态扩容,更方便的增删改查。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值