码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构-线性表

时间:2019-11-24 15:20:00      阅读:44      评论:0      收藏:0      [点我收藏+]

标签:物理   let   str   abstract   基本操作   data   int   长度   逻辑   

1.数据结构的定义:
    数据结构是ADT(抽象数据类型Abstract Data Type)的物理实现。” 
    数据结构(data structure)是计算机中存储、组织 数据的方式。通常情况下,精心选择的数据结构可以 带来最优效率的算法。” 
    
2.算法定义:
    一个有限指令集\r\n接受一些输入(有些情况下不需要输入);
    产生输出;
    一定在有限步骤之后终止;
    每一条指令必须:
        有充分明确的目标,不可以有歧义
        计算机能处理的范围之内
        描述应不依赖于任何一种计算机语言以及具体的实现 手段
    
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个元素都是基本的单元素;  ? 
    广义表中,这些元素不仅可以是单元素也可以是另一个广义表。 
    
多重链表:链表中的节点可能同时隶属于多个链 


    
    
    
    
    





    

 

数据结构-线性表

标签:物理   let   str   abstract   基本操作   data   int   长度   逻辑   

原文地址:https://www.cnblogs.com/liuxuelin/p/11922233.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!