线性表基本概念

线性表/线性结构

线性表(linear list)是若干个数据元素的有限序列,每个数据元素可由若干数据项组成;
线性的特点有:在数据元素的非空有限集中,
  • 存在唯一的称之为“第一个”和“最后一个”元素;
  • 除“第一个”元素(first/front)外,每一个元素有且仅有一个直接前驱(predecessor)
  • 除“最后一个”元素(last/rear)外,每一个元素有且仅有一个直接后继(successsirr)

抽象数据类型/ADT

ADT提供多种方法,用于设计与语言无关的新型数据类型;设计ADT时,着重于利用数据实现什么,忽略如何表示数据于操作数据等底层细节(设计与实现剥离),ADT是一种向用例隐藏内部表示的数据类型;

线性表在计算机中的应用


静态数据结构(static data structure)/顺序存储结构/密集表(dense list):将有序列表通过连续分配空间来存储;
  • 随机存取简单,读取修改数据简单,时间复杂度为O(1) 
  • 删除/增加数据时,需要移动大量数据,时间复杂度为O(n) 
  • 内存分配在编译时已确定,容易造成内存浪费;
动态数据结构(dynamic data structure)/链表结构(linked list,简称链表):将数据通过不连续存储空间来存储;
  • 指针类型是典型,逻辑上相邻的元素物理上不必要相邻;
  • 数据插入/删除,时间复杂度为O(1) —>查找数据时必须按照顺序查找,时间复杂度为O(n) 
  • 内存分配在程序执行时发生,不需要事先声明(静态数据结构);


posted on 2017-03-28 22:27  yzwall  阅读(785)  评论(0编辑  收藏  举报

导航