数据结构-线性表

Posted liuxuelin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据结构-线性表相关的知识,希望对你有一定的参考价值。

1.数据结构的定义:
    数据结构是ADT(抽象数据类型Abstract Data Type)的物理实现。” 
    数据结构(data structure)是计算机中存储、组织 数据的方式。通常情况下,精心选择的数据结构可以 带来最优效率的算法。” 
    
2.算法定义:
    一个有限指令集
接受一些输入(有些情况下不需要输入);
    产生输出;
    一定在有限步骤之后终止;
    每一条指令必须:
        有充分明确的目标,不可以有歧义
        计算机能处理的范围之内
        描述应不依赖于任何一种计算机语言以及具体的实现 手段
    
3.线性表及其实现:
    “线性表(Linear List)”:由同类型数据元素构成有序序列的线性结构: ? 
        表中元素个数称为线性表的长度 ? 
        线性表没有元素时,称为空表 ? 
        表起始位置称表头,表结束位置称表尾 
    
4.线性表的抽象数据类型:
    类型名称:线性表(List) 
 
    数据对象集:线性表是 n (≥0)个元素构成的有序序列( a1, a2, ?,an ) 
 
    操作集:线性表L ? List,整数i表示位置,元素X ? ElementType,线性表基本操作主要有: 
        1、List MakeEmpty():初始化一个空线性表L; 
        2、ElementType FindKth( int K, List L ):根据位序K,返回相应元素 ; 
        3、int Find( ElementType X, List L ):在线性表L中查找X的第一次出现位置; 
        4、void Insert( ElementType X, int i, List L):在位序i前插入一个新元素X; 
        5、void Delete( int  i, List L ):删除指定位序i的元素; 
        6、int Length( List L ):返回线性表L的长度n。
        
5.线性表的顺序存储实现:
    利用数组的连续存储空间顺序存放线性表的各元素 
    链式存储实现:不要求逻辑上相邻的两个元素物理上也相邻;通过“链”建 立起数据元素之间的逻辑关系
    
6.广义表:
    广义表是线性表的推广 ? 
    对于线性表而言, n个元素都是基本的单元素;  ? 
    广义表中,这些元素不仅可以是单元素也可以是另一个广义表。 
    
多重链表:链表中的节点可能同时隶属于多个链 


    
    
    
    
    





    

 

以上是关于数据结构-线性表的主要内容,如果未能解决你的问题,请参考以下文章

线性表的插入和删除操作代码(C语言)

如何在android中的地图片段内中心线性布局?

数据结构学习笔记二线性表---顺序表篇(画图详解+代码实现)

数据结构学习笔记二线性表---顺序表篇(画图详解+代码实现)

数据结构线性表&&顺序表详解和代码实例

数据结构线性表(代码)