`

线性表概述

阅读更多
线性表是最基本、最简单、也是最常用的一种数据结构。线性表中数据元素之间的关系是一对一的关系,即除了第一个和最后一个数据元素之外,其它数据元素都是首尾相接的。线性表的逻辑结构简单,便于实现和操作。因此,线性表这种数据结构在实际应用中是广泛采用的一种数据结构。

在实际应用中,线性表都是以栈、队列、字符串、数组等特殊线性表的形式来使用的。由于这些特殊线性表都具有各自的特性,因此,掌握这些特殊线性表的特性,对于数据运算的可靠性和提高操作效率都是至关重要的。   线性表是一个线性结构,它是一个含有n≥0个结点的有限序列,对于其中的结点,有且仅有一个开始结点没有前驱但有一个后继结点,有且仅有一个终端结点没有后继但有一个前驱结点,其它的结点都有且仅有一个前驱和一个后继结点。一般地,一个线性表可以表示成一个线性序列:k1,k2,…,kn,其中k1是开始结点,kn是终端结点。

基本特征

线性结构的基本特征为:   
1.集合中必存在唯一的一个“第一元素”;   
2.集合中必存在唯一的一个 “最后元素” ;   
3.除最后一个元素之外,均有 唯一的后继(后件);   
4.除第一个元素之外,均有 唯一的前驱(前件)。   
由n(n≥0)个数据元素(结点)a1,a2,…,an组成的有限序列。   
数据元素的个数n定义为表的长度。   当n=0时称为空表。  
 常常将非空的线性表(n>0)记作:   (a1,a2,…an)   数据元素ai(1≦i≦n)只是一个抽象的符号,其具体含义在不同的情况下可以不同。   
线性表的基本操作   
1)Setnull(L) 置空表   
2)Length(L) 求表长度;求表中元素个数   
3)Get(L,i) 取表中第i个元素(1≤i≤n)   
4)Prior(L,i) 取i的前趋元素   
5)Next(L,i) 取i的后继元素  
6)Locate(L,x) 返回指定元素在表中的位置   
7)Insert(L,i,x)插入元素   
8)Delete(L,x) 删除元素   
9)Empty(L) 判别表是否为空。


在实现线性表数据元素的存储方面,一般可用顺序存储结构和链式存储结构两种方法。




栈(stack)在计算机科学中是限定仅在表尾进行插入或删除操作的线性表。   
栈是一种数据结构,是只能在某一端插入和删除的特殊线性表。它按照后进先出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。   
栈是允许在同一端进行插入和删除操作的特殊线性表。允许进行插入和删除操作的一端称为栈顶(top),另一端为栈底(bottom);栈底固定,而栈顶浮动;栈中元素个数为零时称为空栈。插入一般称为进栈(PUSH),删除则称为退栈(POP)。
栈也称为后进先出表(LIFO--Last IN First Out表)。   
栈可以用来在函数调用的时候存储断点,做递归时要用到栈!



队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。
进行插入操作的端称为队尾,进行删除操作的端称为队头。
队列中没有元素时,称为空队列。   
在队列这种数据结构中,最先插入在元素将是最先被删除;反之最后插入的元素将最后被删除,因此队列又称为“先进先出”(FIFO—first in first out)的线性表。   
队列空的条件:
front=rear   
队列满的条件:
rear = MAXSIZE


 串是零个或多个字符组成的有限序列。一般记S=‘a1a2....an ’其中,S是串名,单引号括起的字符序列是串值;ai(1〈=i〈=n)可以是字母,数字或其它字符;串中所包含的字符个数为该串的长度。长度为零的串称为空串,它不包含任何字符。   串中任意个连续的字符组成的子序列称为该串的子串。包含子串的相应地称为主串。通常,把子串在主串中第一次出现时,子串的第一次字符在主串中的序号,定义为子串在主串中的序号。   称两个串是相等的,当且仅当这两个串的值相等。也就是说,只有当两个串的长度相等,并且各个对应位置的字符都相等时才相等。   值得一提的是,串值必须用一对单引号括起来,但单引号本身不属于。

注意:此处特别提到匹配算法:朴素算法和kmp改进型算法。具体参见例子



分享到:
评论

相关推荐

    一般线性表

    #### 一、线性表概述 - **定义**:线性表是一种基本的数据结构,它是由n(n≥0)个相同类型的数据元素构成的有限序列。每个元素都有一个直接前驱和一个直接后继,除了第一个元素没有前驱,最后一个元素没有后继。 - ...

    2.1线性表的概述

    根据王红梅教材《数据结构》C++版,第二章线性表的第一讲。主要介绍线性表的基本知识,如线性表逻辑结构特点、线性表的存方法、线性表的抽象数据定义等概念性知识。

    数据结构-线性表

    #### 一、线性表概述 线性表作为最基础的数据结构之一,在计算机科学领域扮演着极其重要的角色。它不仅简单直观,而且是许多高级数据结构的基础。 ##### 1. 线性表定义与特征 线性表是由一系列数据元素组成的有序...

    数据结构线性表实验源代码

    ### 一、线性表概述 线性表是数据结构中最基本的一种线性结构,它是由相同类型的元素组成的有限序列。在这个序列中,除了第一个元素外,每个元素都有一个唯一的前驱;除了最后一个元素外,每个元素都有一个唯一的...

    数据结构线性表实验

    ### 一、线性表概述 线性表是一种常见的数据结构,其特点是每个数据元素(除了第一个和最后一个)有且仅有一个直接前驱和一个直接后继。线性表可以采用多种存储方式,如顺序存储和链式存储等。本次实验主要关注顺序...

    线性表的运算

    ### 线性表概述 线性表是数据结构中最基本的一种逻辑结构,它由一系列具有相同特性的数据元素组成,并且这些数据元素之间存在一种线性的关系。线性表中的每个元素都有一个直接前驱和一个直接后继(除了第一个元素...

    8579 链式线性表的基本操作

    #### 一、链式线性表概述 链式线性表是一种常见的数据结构,在计算机科学中被广泛应用于存储和处理一系列元素。与顺序表不同,链式线性表通过指针链接的方式实现元素之间的逻辑顺序,每个节点包含两部分:一部分...

    关于线性表知识的讲解

    #### 一、线性表概述 线性表是一种基本且常用的数据结构,用于表示线性结构。在线性结构中,数据元素间存在着一对一的关系,即每个元素都有可能与另一个元素直接关联。具体而言: - 在数据元素的非空有限集中存在...

    数据结构线性表c描述

    ### 一、线性表概述 线性表是计算机科学中最基本的数据结构之一,它是由n个相同类型的元素组成的一个有限序列。这里的n可以为零,即线性表可以为空。在实际应用中,线性表经常采用顺序存储或链式存储两种方式来实现...

    【数据结构课件】 第二章 线性表

    #### 一、线性表概述 线性表是数据结构中最基础也是最重要的数据组织形式之一。它是由相同类型的若干数据元素构成的序列,其中每个元素都有一个直接前驱和一个直接后继,除了第一个元素没有前驱,最后一个元素没有...

    数据结构线性表

    #### 一、线性表概述 线性表是数据结构中最基本也是最常见的一种线性结构。它通过一系列相同类型的数据元素来表示信息,这些元素之间存在着先后顺序的关系。在线性表中,每个元素都有唯一的前驱和后继,除了第一个...

    数据结构 线性表

    #### 一、线性表概述 线性表是数据结构中最基础也是最重要的数据类型之一,它是由n(n≥0)个相同类型的数据元素构成的有限序列。线性表中的每个元素都有且仅有一个直接前驱和一个直接后继,除了第一个元素没有直接...

    数据结构(Java语言描述) 单元设计_单元2 线性表.doc

    1. 线性表概述,介绍线性表的基本概念和特性。 2. 顺序表及其基本操作,包括创建、插入、删除和遍历等操作。 3. 单链表及其基本操作,讲解链表节点的定义、链表的创建和各种操作。 4. 循环链表和双向链表,讨论这两...

    线性表实现

    #### 一、线性表概述 线性表是数据结构中最基本且最常见的数据组织形式之一,它是由相同类型的若干数据元素构成的序列。线性表中的每个元素都有唯一的前驱和后继(除了第一个元素没有前驱,最后一个元素没有后继)...

    数据结构C语言实现系列.docx

    #### 二、线性表概述 线性表是一种常见的线性数据结构,其中的数据元素之间存在一种一对一的关系。在C语言中,线性表可以采用顺序存储或链式存储的方式。本文档关注的是顺序存储结构下的线性表实现。 #### 三、...

    数据结构课件

    #### 一、线性表概述 **1.1 线性表的定义** 线性表是最简单、最常用的一种数据结构,它由一系列数据元素组成,这些数据元素之间存在着一对一的关系。线性表可以被定义为:一个线性表是由n (n≥0)个数据元素组成的...

    数据结构数据结构课件

    #### 一、线性表概述 线性表作为数据结构中最基础也是最重要的一部分,其概念与应用极为广泛。在软件开发和算法设计中,线性表是处理一系列有序数据的基本工具。本文将详细介绍线性表的相关知识点,包括其概念、...

    《数据结构教程与题解》课本电子版

    #### 一、线性表概述 线性表作为数据结构中最基础且最常见的形式之一,对于理解复杂的数据组织和处理至关重要。本章节将围绕线性表这一主题展开深入探讨,内容包括线性表的基本概念、顺序表与链表两种主要的存储...

    东北大学数据结构实验报告.doc

    线性表概述 - **定义**:线性表是一种最基本、最简单、也是最常用的数据结构之一。它由一组具有相同特性的数据元素组成,这些数据元素之间存在着先后关系,即每个数据元素都有一个前驱和一个后继(除了第一个元素...

    算法预习报告.docx

    ### 一、线性表概述 线性表是数据结构中最基础且重要的概念之一,它由一系列具有相同特性的数据元素组成,这些元素按照一定的顺序排列。线性表的长度表示其中包含的元素数量,记为 \( n \),\( n \geq 0 \)。 ####...

Global site tag (gtag.js) - Google Analytics