您的位置:首页 > 理论基础 > 数据结构算法

数据结构第二章线性表总结

2014-12-24 10:08 295 查看
第二章我们学习了很长时间,主要学习了线性表的逻辑结构,物理结构和算法实现。
         线性表是一种数据元素有序的逻辑结构,通常采用顺序存储结构和链式存储结构。线性表采用顺序存储结构时,有利用线性表长度的计算、线性表数据元素的存取和数据元素的遍历,同时也从物理结构上反映了线性表数据元素的逻辑结构,有点类似于c语言中的数组,但是采用顺序存储结构时,插入和删除数据元素时,要移动较多的数据元素;采用链表结构存储的线性表,克服了插入和删除数据元素时要移动较多元素的缺点,其只要寻找到需要插入和删除的数据元素处,处理相应的指针就可以实现数据元素的插入和删除,同时也和顺序存储的线性表一样方便遍历,但是其不利于计算线性表的长度,线性表的链表存储结构有以下几种常见类型:采用带头指针和头结点的单链表、采用仅带头指针的单链表、带头指针和头结点的循环链表、带头指针和尾结点的循环链表、双向链表等形式。在实际应用中,结合顺序表易于计算表长和链表易于插入和删除的特点,实际一般采用两者结合的一种单链表,其链表类型为带有头指针(含头结点)和尾指针,以及含有线性表长度的分量,在一元多项式的运算中采用的就是这种链式存储结构。

        总而言之,线性表是非常重要的数据结构的基础。后面一章的栈和队列,也可以说是操作受限的线性表,因此学好线性表对于学好后面的章节有很大的意义。

知识点:线性表的基本运算有:

  1)InitList(L),构造空表,即表的初始化;

  2)ListLength(L),求表的结点个数,即表长;

  3)GetNode(L,i),取表中第i个结点,要求1≤i≤ListLength(L);

  4)LocateNode(L,x)查找L中值为x的结点并返回结点在L中的位置,有多个x则返回首个,没有则返回特殊值表示查找失败。

  5)InsertList(L,x,i)在表的第i个位置插入值为x的新结点,要求1≤i≤ListLength(L)+1;

  6)DeleteList(L,i)删除表的第i个位置的结点,要求1≤i≤ListLength(L);

线性结构的特点:(1)非空集中,有唯一的第一个元素;

                            (2)非空集中,有唯一的最后一个元素;

                            (3)除第一个元素外,每个元素均只有一个前驱;

(4)除第后一个元素外,每个元素均只有一个后继;

2.1 线性表的类型定义

      线性表:常见的一种数据结构,在同一线性表中的数据元素具有相同特性,相邻数据元素之间存在着序偶关系;

     线性表抽像数据类型基本操作:构造空的线性表、销毁线性表、置空线性表、判断表是否为空、求线性表的长度、

                                                      获取第i个数据元素的值、求满足特定关系的位序、求数据元素的前驱、求后继元素的后继、

                                                      插入、删除、遍历等12个基本操作;

     线性表的应用实例:(1)求集合的并集;(2)求集合的归并;

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: