摘要:数据结构课程中数据的逻辑结构分为线性结构和非线性结构。数据结构中线性结构指的是数据元素之间存在着“一对一”的线性关系的数据结构。
相对应于线性结构,非线性结构的逻辑特征是一个结点元素可能对应多个直接前驱和多个后驱。
关键字:线性表,树,图。
1.引言。数据元素相互之间的关系称为结构。
有四类基本结构:集合、线性结构、树形结构、图状结构(网状结构)。树形结构和图形结构全称为非线性结构。
集合结构中的数据元素除了同属于一种类型外,别无其它关系。线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。在图形结构中每个结点的前驱结点数和后续结点数可以任意多个。
2.数据结构分类。
数据结构中,逻辑上(逻辑结构:数据元素之间的逻辑关系)可以把数据结构分成线性结构和非线性结构。线性结构的顺序存储结构是一种随机存取的存储结构,线性表的链式存储结构是一种顺序存取的存储结构。
线性表若采用链式存储表示时所有结点之间的存储单元地址可连续可不连续。逻辑结构与数据元素本身的形式、内容、相对位置、所含结点个数都无关。数据结构的形式定义为:
数据结构是一个二元组: data-structure=(d,s) 其中:d是数据元素的有限集,s是d上关系的有限集。
数据结构不同于数据类型,也不同于数据对象,它不仅要描述数据类型的数据对象,而且要描述数据对象各元素之间的相互关系。 数据类型是一个值的集合和定义在这个值集上的一组操作的总称。不同的数据结构其操作集不同,但下列操作必不可缺:
1,结构的生成; 2.结构的销毁; 3,在结构中查找满足规定条件的数据元素; 4,在结构中插入新的数据元素; 5,删除结构中已经存在的数据元素; 6,遍历。
线性结构是一种最简单而且最常用的数据结构,线性结构的实例,在我们的现实生活中经常遇见,例如排队买票的队列、图书卡片目录的编排等,而线性表则是一种点型的线性结构。
栈和队列也是两种十分重要的线性结构,它们的逻辑结构和前面介绍的线性表完全相同,只是对其操作运算有一定的限制,故又称它们为操作受限的线性表。栈和队列结构在各种程序设计中被广泛应用。
树形结构是一类重要的非线性数据结构,树中结点之间具有明确的层次关系,并且结点之间有分支,它非常类似于真正的树。树形结构在客观世界中大量存在,如行政组织机构和人类社会的家谱等都可用树形结构形象地表示。在计算机应用领域中树结构也被广泛地应用。
例如在编译程序中,用树结构来表示源程序的语法结构;在数据库系统中,用树结构来组织信息;在计算机图形学中,用树结构来表示图象关系等。
图(graph)是一种复杂的非线性结构。**性结构中,数据元素之间满足唯一的线性关系,每个数据元素(除第一个和最后一个外),只有一个直接前趋和一个直接后继;在树形结构中数据元素之间有着明显的层次关系,并且每个元素只与上一层中一个元素(双亲结点)及下一层中多个元素(孩子结点)相关,而在图形结构中,结点之间的关系可以是任意的,图中任意两个元素之间都可能相关,因此,图比线性表和树形结构更为复杂。而图结构在人工智能,工程,数学,物理,化学,计算机科学等领域中,有着广泛的应用。
3.应用。数据结构(data structure)是指互相之间存在着一种或多种关系的数据元素的集合。
在任何问题中,数据元素之间都不会是孤立的,在它们之间都存在着这样或那样的关系,这种数据元素之间的关系称为结构。根据数据元素间关系的不同特性,通常有下列四类基本的结构: ⑴集合结构。
该结构的数据元素间的关系是“属于同一个集合”。 线性结构。该结构的数据元素之间存在着一对一的关系。
⑶树型结构。该结构的数据元素之间存在着一对多的关系。 ⑷图形结构。
该结构的数据元素之间存在着多对多的关系,也称网状结构。 从上面所介绍的数据结构的概念中可以知道,一个数据结构有两个要素。一个是数据元素的集合,另一个是关系的集合。
在形式上,数据结构通常可以采用一个二元组来表示。 数据结构的形式定义为:数据结构是一个二元组 data_structure =(d,r) 其中,d是数据元素的有限集,r是d上关系的有限集。
线性结构的特点是数据元素之间是一种线性关系,数据元素“一个接一个的排列”。在一个线性表中数据元素的类型是相同的,或者说线性表是由同一类型的数据元素构成的线性结构。在实际问题中线性表的例子是很多的,如学生情况信息表是一个线性表:
表中数据元素的类型为学生类型; 一个字符串也是一个线性表:表中数据元素的类型为字符型,等等。 线性表是最简单、最基本、也是最常用的一种线性结构。
线性表是具有相同数据类型的n(n>=0)个数据元素的有限序列,通常记为: (a1,a2,… ai-1,ai,ai+1,…an) 其中n为表长, n=0 时称为空表。 它有两种存储方法:
顺序存储和链式存储,它的主要基本操作是插入、删除和检索等。
线性结构与非线性结构
数据结构 逻辑结构 存储结构。逻辑结构分为四种 数据元素间没有任何关系 集合。数据元素间有线性关系 线性结构。所谓线性关系 除第一个元素外,其他元素有且只有一个前驱 除最后一个元素外,其他元素有且只有一个后继!数据元素间有层状关系 树结构。数据元素间有网状关系 图结构。非线性结构。传统文本 例如书籍...
非线性 非线性结构分析
非线性结构的定义。在日常生活中,会经常遇到结构非线性。例如,无论何时用钉书针钉书,金。属钉书钉将永久地弯曲成一个不同的形状。看图1 1 a 如果你在一个木。架上放置重物,随着时间的迁移它将越来越下垂。看图1 1 b 当在。汽车或卡车上装货时,它的轮胎和下面路面间接触将随货物重量的啬而变化。看图1 1...
非线性1 非线性结构分析
基本过程。第1页。非线性结构分析。非线性结构的定义。在日常生活中,会经常遇到结构非线性。例如,无论何时用钉书针钉书,金。属钉书钉将永久地弯曲成一个不同的形状。非线性结构分析非线性1 非线性结构分析ansys非线性分析指南基本过程第1页非线性结构分析非线性结构的定义在日常生活中,会经常遇到结构非线性。...