远方的灯塔 - 专注于服务端技术分享 远方的灯塔 - 专注于服务端技术分享
首页
  • Java SE
  • Struts2
  • Hibernate
  • MyBatis
  • JAX-WS
  • 并发
  • 分布式
  • Git
  • 文章分类
  • 文章标签
  • 文章归档
  • 《C程序设计语言》
心情随笔
友情链接
给我留言 (opens new window)
关于我
GitHub (opens new window)

Terwer Green

一个后端老菜鸟
首页
  • Java SE
  • Struts2
  • Hibernate
  • MyBatis
  • JAX-WS
  • 并发
  • 分布式
  • Git
  • 文章分类
  • 文章标签
  • 文章归档
  • 《C程序设计语言》
心情随笔
友情链接
给我留言 (opens new window)
关于我
GitHub (opens new window)
  • JavaSE

    • Java_SE之Java_SE平台与JDK
    • Java_SE_第二讲:原生数据类型
    • Java_SE_第三讲:原生数据类型使用陷阱
    • Java_SE_第四讲:运算符
    • Java_SE_第五讲:运算符续
    • Java_SE_第六讲:流程控制语句
    • Java_SE_第七讲:流程控制续
    • Java_SE_第八讲:理解面向对象程序设计
    • Java_SE_第九讲:面向对象之封装
    • Java_SE_第十讲:面向对象之封装续
    • Java_SE_第十一讲:面向对象之封装续二
    • Java_SE_Lesson_1:面向对象高级
    • Java_SE_Lesson_2:多态与static和final关键字
    • Java_SE_Lesson_3:接口、单例模式、包与访问控制
    • Java_SE之Object类详解
    • Java_SE之String类及其源代码剖析
    • 包装类与数组
    • 冒泡排序、交换排序与快速排序
    • Java数组的查找方式及二分查找
    • 常量与Java集合框架简介
    • 常用的Java开发IDE
    • ArrayList深入分析
    • LinkedList源代码深入剖析
    • 数据结构中的基本结构分析
      • 数据结构
        • 线性表
        • 链表
        • 栈
    • 《Java语言新特性》

  • 开源框架

  • Linux

  • Struts2

  • Hibernate

  • Webservice

  • 分布式

  • 分布式框架

  • 后端开发
  • JavaSE
terwer
2022-10-25
目录

数据结构中的基本结构分析

# 数据结构

  • 一般将数据结构分为两大类:线性结构 和 非线性结构 。

    线性数据结构有 线性表、栈、队列、串、数组和文件;非线性数据结构有 树和图。

# 线性表

  • * 线性表的数据结构是 n 个数据元素的有限序列:
    
      $\left( {{{\rm{a}}_1},{a_2} \cdots {a_n}} \right)$
    * n 为线性表的长度($n \ge 0$), `n=0` 的表称为空表。
    
    1
    2
    3
    4
  • 数据元素呈线性关系。必存在唯一的一个称为 “第一个” 的数据元素;必须在唯一的一个称为 “最后一个” 的元素;除第一个元素外,每个元素都有唯一的一个先驱元素,除最后一个元素外,每个元素都有且只有一个后继元素。

  • 所有数据元素在同一个线性表中必须是相同的数据类型。

  • 线性表按照其存储结构可以分为 顺序表 和 链表 。

    用顺序存储结构存储的线性表称为 顺序表 。

    用链式存储结构存储的线性表称为 链表 。

  • 将线性表中的数据元素依次存储在某个区域中,所形成的表称为 顺序表 。一维数组就是用顺序方式存储的线性表。

# 链表

  • 单向链表

    ​

    插入

    ​

    删除

    ​

  • 循环链表

    ​

  • 双向循环链表

    ​

# 栈

  • 栈(Stack)也是一种特殊的线性表,是一种后进先出(LIFO)的结构。
  • 栈是限定仅在表尾进行插入和删除运算的线性表,表尾成为栈顶(top),表头成为栈底(bottom)。
  • 栈的物理存储可以用顺序存储结构,也可以用链式存储结构。

‍

编辑 (opens new window)
#线性表#元素#结构#存储#称为#数据#数据结构#data#data-structure#structure
上次更新: 2023/02/22, 13:47:25
LinkedList源代码深入剖析
版本历史

← LinkedList源代码深入剖析 版本历史→

最近更新
01
解决css部分border被圆角切掉之后圆角的边框消失问题
03-18
02
使用TypeScript开发一个自定义的Node-js前端开发脚手架
03-08
03
Github-Actions使用release-please实现自动发版
03-06
更多文章>
Theme by Vdoing | Copyright © 2011-2023 Terwer Green | MIT License | 粤ICP备2022020721号-1 | 百度统计
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式