常用数据结构:线性结构

这篇博客针对初学者详细介绍了线性结构,包括顺序表、链表(单链表、循环链表、双链表)以及栈和队列的概念和操作。通过实例解析结点的插入和删除,强调了线性结构在存储密度和时间性能上的特点,并提供了简单的Java实现示例。
摘要由CSDN通过智能技术生成

目录

2022最新为初学者而著!

顺序表

链表

单链表:

结点的删除:

结点的插入:

循环链表

双链表

结点的删除:

结点的插入:

队列


2022最新为初学者而著!

Java基础是初学者的起点,是帮助你从小白入门到精通必学基础课程!

B站最新录制Java300集>>>   适合准备入行开发的零基础员学习Java,基于最新JDK13、IDEA平台讲解的,视频中穿插多个实战项目。每一个知识点都讲解的通俗易懂,由浅入深。不仅适用于零基础的初学者,有经验的程序员也可做巩固学习。

配套学习:​2022年Java300集最新录制课程上线了>>>​ 

数据结构是计算机存储、组织数据的方式。常见的数据结构分类方式如下图:

常用的线性结构有:线性表,栈,队列,循环队列,数组。线性表中包括顺序表、链表等,其中,栈和队列只是属于逻辑上的概念,实际中不存在,仅仅是一种思想,一种理念;线性表则是在内存中数据的一种组织、存储的方式。

顺序表

顺序表将元素一个接一个的存入一组连续的存储单元中,在内存物理上是连续的。如下图:

顺序表存储密度较大,节省空间;但需要事先确定容量,在时间性能方面,读运算较快,时间复杂度为O(1);查找运算为O(n/2),和链表同样;插入运 算和删除运算如果要操作中间一个元素,比如3,那么就需要把3后面的元素全部进行移动,因此时间复杂度相对链表要大一些,插入时间复杂度最好为O(0)或 最坏为O(n);删除时间复杂度为O([n-1]/2);

链表

链表拥有很多结点,每个结点前半部分是数据域,后半部分是指针域,指针域指针指向下一个结点;链表可分为单链表、循环链表和双链表。

单链表:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值