线性结构的特点是:在数据元素的非空有限集中,(1)存在唯一的被称作'第一个元素'的数据元素;(2)存在唯一的一个被称作'最后一个'的数据元素;(3)除第一个之外,集合中的每个数据元素均只有一个前驱;(4)除最后一个之外,集合中的每个元素均只有一个后继。1.线性表的类型定义一个线性表是n个数据元素的有限序列。在复杂的线性表中,一个数据元素可以由若干个数据项组成,在这种情况下,常把数据元素称为记录,含有大量记录的线性表又称文件。线性表中的数据元素可以是各种各样的,但同一线性表中的元素必定是具有相同特性的,即属于同一数据对象,相邻数据元素之间存在着序偶关系。   2.线性表的顺序表示和实现线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素。顺序存储的链表的插入和删除的时间复杂度都是O(n),求链表长和求某个元素的时间复杂度为O(1)。3.线性表的链式表示和实现前面讨论中可见,线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻,因此可以随机存取表中的任一元素,它的存储位置可以用一个简单,直观的公式表示。然后,从另外一方面来看,这个特点也成了这种存储结构的落弱点:在做插入或删除的时候,需要移动大量的元素。链式存储结构,由于它不要求逻辑上相邻的元素在物理位置上也相邻,因此它没有顺序存储结构所具有的弱点,但同时也失去了顺序表可随机存取的优点。1.线性链表线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素(可以是连续的,也可以是非连续的)。因此,为了表示每个数据元素ai与其直接后继数据元素ai+1之间的逻辑关系,对数据元素ai来说,除了存储本身的信息之外,还需存储一个指示其直接后继的信息。这两部分信息组成的数据元素ai的存储映象称为结点(node)。它包括两个域:其中存储数据元素的信息的域称为数据域;存储直接后继存储位置的域称为指针域。指针域中的信息被称为指针或者链。n个结点链结成一个链表。由于此链表的每个结点只包含一个指针域,故又称为线性表或单链表。用线性链表表示线性表的时候,数据元素之间的逻辑关系是由结点中的指针指示的。换句话说,指针为数据元素之间的逻辑关系映像,则逻辑上相邻的两个数据元素其存储的物理位置不要求相邻,由此,这种存储结构为非顺序映像或链式映像。有时候我们在单链表的第一个结点之前附设一个结点,称之为头结点。头结点的数据域可以不存储任何信息,也可以存储如线性表的长度等附加信息,头结点的指针域存储指向第一个结点的指针。在线性表的顺序存储结构中,由于逻辑上相邻的两个元素在物理位置上相邻,则每个元素的存储位置都可以从线性表的起始位置计算得到。而在单链表中,任何两个元素的存储位置之间没有固定的联系。 循环链表:特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。双向链表:在双向链表的结点中有两个指针域,其一指向直接后继,另一指向直接前驱。4.一元多项式的表示及相加

2.数据结构 --- 线性表相关推荐

  1. 数据结构-线性表之用队列实现栈用栈实现队列

    文章目录 **********用队列实现栈 一:思路 二:实现 (1)结构体定义 (2)初始化和销毁 (3)进"栈" (4)出"栈" 三:代码 ******** ...

  2. 数据结构-线性表之带头结点的双向循环链表

    文章目录 前言 实现 (1)结构定义 (2)基本函数 (3)操作实现 测试 代码 前言 链表的类型有很多种(根据带头或不带头,循环或非循环等等),但是我们重点研究的只有两种,一种结构非常简单是无头单向 ...

  3. 数据结构摧毁线性表用c语言,[简述]数据结构-线性表(c语言实现)

    [简述]数据结构-线性表(c语言实现)second60 20180422 1. 线性表的定义 线性表是具有相同特性的数据元素的一个有限序列. 2. 线性表抽象数据类型描述 ADT  List { 数据 ...

  4. 王道数据结构线性表:有读者认为直接去掉p结点会造成断链?

    王道数据结构线性表:有读者认为直接去掉p结点会造成断链? 我用图解的方式来说明一下,文字有点多,看起来比较眼疼,但是内容不多,希望能对你有帮助. 书上的代码 解释 (ps:对上面解释的一点补充↓)

  5. 数据结构——线性表(三)

    数据结构--线性表(三) 作者:黑衣侠客 一.线性表的定义 线性表,从名字来看,可以发现,是具有像线一样性质的表 线性表:零个或多个数据元素的有限序列. 首先,它是一个序列,也就是说,元素之间是有顺序 ...

  6. 数据结构-线性表(严书代码实现)

    数据结构-线性表的顺序表示代码 //头文件内容实现 #ifndef SEQLIST_H_INCLUDED #define SEQLIST_H_INCLUDED #include<string.h ...

  7. 数据结构-线性表-思维导图+小结

    数据结构-线性表思维导图+小结 1 数据结构-第二章-线性表-思维导图 2 数据结构-第二章-线性表-习题小结 2.1 概念性习题小结 2.2 操作性习题小结 1 数据结构-第二章-线性表-思维导图 ...

  8. 数据结构线性表基本操作

    数据结构线性表基本操作 基本内容 线性表的顺序表示和实现 线性表的顺序存储表示 顺序表中基本操作的实现 1.顺序表的初始化 2.取值 3.查找 4.插入 5.删除 线性表的链式表示和实现 单链表的定义 ...

  9. c语言构造一个空线性表l,数据结构线性表顺序结构的定义与实现C语言-Go语言中文社区...

    大家好,今天给大家总结了一下数据结构里面的线性表的顺序结构,顺序表表示的是用一组地址连续的存储单元依次存储线性表的数据元素,所以顺序结构的实现一般采用数组的方式来实现,存储空间也采用动态分配的方式.在 ...

  10. 数据结构——线性表(2)

    上接 数据结构--线性表(1) 上文中介绍了线性表的顺序存储结构和单链表的介绍与代码实现,接下来,继续介绍线性表的链式存储 循环链表   在座的各位都很年轻,不会觉得日月如梭.可上了点年纪的人,比如我 ...

最新文章

  1. 2021年春季学期-信号与系统-第十四次作业参考答案
  2. 第八届蓝桥杯决赛 图书排列
  3. ionic安装及入门示例
  4. HDU多校1 - 6955 Xor sum(字典树+贪心)
  5. 转:MAC 下安装PHONEGAP开发环境
  6. lingo逻辑运算符
  7. 64 win10位系统上编译出的32位的可执行程序到其他机器上无法运行_MoreThanJava计算机系统概述...
  8. 【android开发】:android真机测试
  9. Hibernate中Cascade和Inverse
  10. I/O多路复用之select
  11. 饿汉式单例模式,懒汉式单例模式
  12. 盛大易宝只是陈天桥的梦而已
  13. 迅捷fw313r服务器无响应,FAST迅捷FW313R路由器的固件更新教程
  14. 数据分析EXCEL常用统计函数
  15. 油田生产数据选取进展22.2.11——2.17——2.26
  16. 责任编辑-www.saierhaowaigua.net
  17. JavaScript 常用事件大全
  18. 键盘 连击 测试软件测,87自学单片机第六十篇:按键双击和多击检测
  19. 一维卷积Conv1D
  20. 无人机刚体运动学方程

热门文章

  1. 希望是一个全新的开始
  2. c/c++ linux 进程 fork wait函数
  3. android:模拟水波效果的自己定义View
  4. Eclipse打开javadoc框
  5. 几个北大和南开学霸公众号,值得学习
  6. 掌握好数据分析,99%的企业都不会拒绝你
  7. [PHP开发必备] -- 小巧强悍的MYSQL-Front中文版使用教程,附最新版下载地址
  8. mysql工具——mysqlcheck(MYISAM)
  9. 创建一个Django项目
  10. 网络环境未能通过安全验证,请稍后再试