线性表——顺序表与单链表学习小结

author author     2022-12-20     507

关键词:

线性表
  • 线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串...
  • 线性表在逻辑上是线性结构,也就说是连续的一条直线。但是在物理结构上并不一定是连续的,线性表在物
    理上存储时,通常以数组和链式结构的形式存储。

    顺序表

  • 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。

    链表

  • 链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 。
  • 链表的结构非常多样,以下情况组合起来就有8种链表结构:
    单向、双向
    带头、不带头
    循环、非循环
  • 常用链表:
    1. 无头单向非循环链表:结构简单,一般不会单独用来存数据。实际中更多是作为其他数据结构的子结构,如哈希桶、图的邻接表等等。另外这种结构在笔试面试中出现很多。
    2. 带头循环单链表:结构较无头单向非循环链表简单。实际操作当中使用较少。
    3. 不带头双向循环链表:在Java的集合框架库中LinkedList底层实现就是不带头双向循环链表。

顺序表与链表的比较:

技术图片

经典面试题:

1.删除链表中等于给定值 val 的所有节点。
https://leetcode-cn.com/problems/remove-linked-list-elements
2.反转一个单链表。
https://leetcode-cn.com/problems/reverse-linked-list
3.查找链表中倒数第k个结点
https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId=13&&tqId=11167&rp=2&ru=/activity/oj&qru=/ta/coding-interviews/question-ranking
4.合并两个有序链表
https://leetcode-cn.com/problems/merge-two-sorted-lists
5.删除链表中重复结点
https://leetcode-cn.com/problems/remove-duplicates-from-sorted-list-ii
6.复制复杂链表
https://leetcode-cn.com/problems/copy-list-with-random-pointer

封装:

将线性表的一些基本功能(增删查改)写在一个类里。使用时只要创建一个对象,用 对象.方法 调用即可

线性表小结

...sp;  在数据结构这门课中,数据的逻辑结构会包括线性结构和非线性结构,线性表就是线性结构的一种。根据不同的存储结构,线性表可以分为顺序表和链表。链表包括单链表、循环链表、双向链表。下面是顺序表和单链... 查看详情

第二章学习小结

第2章学习小结我对本章内容的小结1.1.线性表的定义和实现 线性表可以用顺序存储和链式存储两种存贮结构实现。它们的表示分别为顺序表和链式表。 顺序表的基本操作如初始化,插入,查询,删除等的介绍也分别计算... 查看详情

学习总结《大话数据结构》-第3章-线性表

【学习总结】《大话数据结构》-总启示:线性表:零个或多个数据元素的有限序列。目录3.1开场白3.2线性表的定义3.3线性表的抽象数据类型3.4线性表的顺序存储结构3.5顺序存储结构的插入与删除3.6线性表的链式存储结构3.7单链... 查看详情

第七章学习小结

本章我们学习了对查找表的查找,查找表主要包括三种:线性表、树表和散链表。(1)线性表的查找,主要包括顺序查找、折半查找、分块查找。1)顺序查找算法简单,对表结构无任何要求,但查找效率较低,适用于不经常做... 查看详情

《数据结构》顺序表与链表(代码片段)

目录一、线性表线性表简介二、顺序表1.定义顺序表类2.功能实现:打印顺序表 在pos位置新增元素判定是否包含某个元素 查找某个元素对应的位置 获取pos位置的元素 给pos位置的元素设为value 删除第一次出现的关键字key ... 查看详情

单链表与顺序表的对比(代码片段)

时间复杂度的对比:操作链表顺序表访问元素O(n)O(1)从头部删除元素O(1)O(n)从尾部删除元素O(n)O(1)在中间插入元素O(n)O(n)总结:链表失去了顺序表随机读取的优点,同时链表由于增加了节点的指针域,空间开销比较大,但对存储空间使用... 查看详情

c数据结构单链表接口函数逻辑解析与代码实现(含详细代码注释)(代码片段)

...表与它的接口函数完成增删查改的功能。本文将继续介绍线性存储的内容,对单链表的概念进行了相关阐述并且给出了它的接口函数的C语言实现单链表及其接口函数顺序表的一些缺点:什么是单链表?链表的优点ÿ... 查看详情

数据结构:第七章学习小结

...中,主要是对查找这一操作的深入学习,主要操作对象为线性表、树表和散列表。    查找,主要有顺序查找、折半查找、分块查找。一、线性表查找   11、 顺序查找方法既适用于线性表的顺序存储结构,又适用千线... 查看详情

顺序表与链表

...表顺序表?顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。?线性表采用顺序存储的方式存储就称之为顺序表。顺序表是将表中的结点依次存放在计算机内存中... 查看详情

数据结构:线性表顺序表以及单链表详解(代码片段)

导航🚀⭐前言⭐线性表线性表的定义及基本表示线性表的定义基本操作顺序表顺序表的定义顺序表的基本操作增删查改线性表的链式表示单链表的定义链表的建立链表的操作插入节点删除结点⭐前言⭐本文将解析线性表中的... 查看详情

数据结构学习总结线性表之单链表(代码片段)

   一,回忆链表  链表,别名链式存储结构或单链表,用于存储逻辑关系为"一对一"的数据。与顺序表不同,链表不限制数据的物理存储状态,换句话说,使用链表存储的数据元素,其物理存储位置是随机的。&nbs... 查看详情

数据结构第二章小结

第二章主要围绕线性表进行学习。线性表有两种存储结构:顺序存储结构和链式存储结构。其中,顺序表的特点之一是地址连续;链式表分为单链表,循环链表和双向链表。在使用链式表的时候,要考虑是否要带有尾指针的结构... 查看详情

数据结构初阶:线性表(代码片段)

文章目录线性表1顺序表1.1顺序表的定义及结构顺序表结构体定义1.2动态顺序表的接口实现顺序表尾插尾删顺序表头插头删任意位置插入删除其他基本接口1.3数组面试题Example1移除元素思路1思路2思路3Example2数组去重Example3合并数... 查看详情

第二章学习小结

一、对本章内容的小结:  本章主要讲述了线性表的定义、特点、表示及实现,同时也说明了顺序表与链表之间的异同,让我们对顺序表和链表有了更深入的认识。学习本章知识后,我们  理解了线性表的基本性质。顺序表... 查看详情

线性表的链式存储——顺序表和单链表的对比分析

1,线性表两种实现:      1,顺序表;      2,单链表;      2,问题:      1,如何判断某个数据元素是否存在线性表中? &n 查看详情

数据结构与算法分析(线性表实现)(代码片段)

★线性表是一个序列(线性结构),具有一定的顺序★如果有多个元素,第一个元素没有前驱,最后一个元素没有后继★线性表强调是有限的一.线性表基本存储结构㈠.顺序表——把线性表的结点按逻辑顺序依次存放在一组地... 查看详情

数据结构:第二章学习小结

第二章学习小结内容:线性表的学习,顺序表以及链式表的实现心得体会:相较与第一章的学习,第二章的内容开始着手于程序的实现,使得学习难度有所加大。 1、顺序表和链式表的使用各有优势,比如,若是不需要插入... 查看详情

第二章学习小结

一.     本章内容小结线性表定义:由n(n>=0)个数据特性相同的元素构成的有限序列。线性表中元素的个数n定义为线性表长度,n=0时为空表。顺序表特点:逻辑上相邻的数据元素,其物理次序也是相邻的。... 查看详情