2.数据结构 --- 线性表

	线性结构的特点是:在数据元素的非空有限集中,(1)存在唯一的被称作'第一个元素'的数据元素;(2)存在唯一的一个被称作'最后一个'的
  数据元素;(3)除第一个之外,集合中的每个数据元素均只有一个前驱;(4)除最后一个之外,集合中的每个元素均只有一个后继。

1.线性表的类型定义
	一个线性表是n个数据元素的有限序列。在复杂的线性表中,一个数据元素可以由若干个数据项组成,在这种情况下,常把数据元素称为记录,含有大量
  记录的线性表又称文件。
  	线性表中的数据元素可以是各种各样的,但同一线性表中的元素必定是具有相同特性的,即属于同一数据对象,相邻数据元素之间存在着序偶关系。	
	
2.线性表的顺序表示和实现
	线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的数据元素。

	顺序存储的链表的插入和删除的时间复杂度都是O(n),求链表长和求某个元素的时间复杂度为O(1)。

3.线性表的链式表示和实现
	前面讨论中可见,线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻,因此可以随机存取表中的任一元素,它的存储位置
  可以用一个简单,直观的公式表示。然后,从另外一方面来看,这个特点也成了这种存储结构的落弱点:在做插入或删除的时候,需要移动大量的元素。
  链式存储结构,由于它不要求逻辑上相邻的元素在物理位置上也相邻,因此它没有顺序存储结构所具有的弱点,但同时也失去了顺序表可随机存取的优点。

  1.线性链表
  	线性表的链式存储结构的特点是用一组任意的存储单元存储线性表的数据元素(可以是连续的,也可以是非连续的)。因此,为了表示每个数据元素ai与其
  直接后继数据元素ai+1之间的逻辑关系,对数据元素ai来说,除了存储本身的信息之外,还需存储一个指示其直接后继的信息。这两部分信息组成的数据元素
  ai的存储映象称为结点(node)。它包括两个域:其中存储数据元素的信息的域称为数据域;存储直接后继存储位置的域称为指针域。指针域中的信息被称为
  指针或者链。n个结点链结成一个链表。由于此链表的每个结点只包含一个指针域,故又称为线性表或单链表。

  	用线性链表表示线性表的时候,数据元素之间的逻辑关系是由结点中的指针指示的。换句话说,指针为数据元素之间的逻辑关系映像,则逻辑上相邻的两个
  数据元素其存储的物理位置不要求相邻,由此,这种存储结构为非顺序映像或链式映像。
  	有时候我们在单链表的第一个结点之前附设一个结点,称之为头结点。头结点的数据域可以不存储任何信息,也可以存储如线性表的长度等附加信息,头结点
  的指针域存储指向第一个结点的指针。
  	在线性表的顺序存储结构中,由于逻辑上相邻的两个元素在物理位置上相邻,则每个元素的存储位置都可以从线性表的起始位置计算得到。而在单链表中,任何
  两个元素的存储位置之间没有固定的联系。	

  	循环链表:
  		特点是表中最后一个结点的指针域指向头结点,整个链表形成一个环。

  	双向链表:
  		在双向链表的结点中有两个指针域,其一指向直接后继,另一指向直接前驱。

4.一元多项式的表示及相加

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值