数据结构-线性表
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个元素都是基本的单元素; ? 广义表中,这些元素不仅可以是单元素也可以是另一个广义表。 多重链表:链表中的节点可能同时隶属于多个链
以上是关于数据结构-线性表的主要内容,如果未能解决你的问题,请参考以下文章
数据结构学习笔记二线性表---顺序表篇(画图详解+代码实现)