广义表名词解释

合集下载

古代汉语常考名词解释

古代汉语常考名词解释

古代汉语常考名词解释古代汉语常考名词解释包括:1. 六书:是汉代人对古文字构成规则的概括和归纳,包括象形、指事、会意、形声、转注、假借。

2. 象形:是通过描摹词所概括的客观实体来表达词义的造字法。

3. 指事:是用指示性符号来表现词所概括的客观事物或抽象概念造字法。

4. 会意:是组合两个或两个以上表意符号以表达新义的造字法。

5. 形声:是以声符表示词的读音、形符表示词义范畴的造字法。

6. 假借:是利用字的同音关系,借用别的词的书写形式以记录新词的用字法。

7. 古用今废词:是指词汇在新陈代谢中被历史抛弃了的词。

8. 古今通用词:是指在汉语史上生命力很强的、一直流传至今仍活跃在口语或书面语里的词。

9. 词的本义:就是词的本来的意义,是指与该词书写形式相应并有文献参证的最古的意义。

10. 词的引申义:就是由本义直接或间接引伸出来的意义。

11. 假借义:是从音同音近字的假借而产生的意义。

12. 单音词:是一个音节代表一个词,在书面语里是一个汉字记录一个词。

13. 复音词:具有两个或几个音节的词就是复音词。

14. 同义复词:由两个意义相同或相近的词素构成,其意义是一个词素的意义为主,另一个词素起辅助作用。

15. 偏义复词:是由两个意义相反或相互对举的词素组合而成,其中一个词素的的意义成为该复合词的意义,另一个词素只起陪衬作用。

16. 单纯复音词:从音节上说,它属于复音,而就结构上说,它又是具有一个词素的单纯词。

17. 合成复音词:由两个或几个词素按照一定的构词方式组合而成的复音词。

这些名词解释都是古代汉语学习中常见的知识点,理解和掌握这些名词解释对于深入理解古代汉语的语言结构和表达方式非常重要。

数据结构基础知识整理

数据结构基础知识整理

数据结构基础知识整理*名词解释1、数据:是信息的载体,能够被计算机识别、存储和加工处理。

*2、数据元素:是数据的基本单位,也称为元素、结点、顶点、记录。

一个数据元素可以由若干个数据项组成,数据项是具有独立含义的最小标识单位。

*3、数据结构:指的是数据及数据之间的相互关系,即数据的组织形式,它包括数据的逻辑结构、数据的存储结构和数据的运算三个方面的内容。

*4、数据的逻辑结构:指数据元素之间的逻辑关系,即从逻辑关系上描述数据,它与数据的存储无关,是独立于计算机的。

*5、数据的存储结构:指数据元素及其关系在计算机存储器内的表示。

是数据的逻辑结构用计算机语言的实现,是依赖于计算机语言的。

*6、线性结构:其逻辑特征为,若结构是非空集,则有且仅有一个开始结点和一个终端结点,并且其余每个结点只有一个直接前趋和一个直接后继。

*7、非线性结构:其逻辑特征为一个结点可能有多个直接前趋和直接后继。

*8、算法:是任意一个良定义的计算过程,它以一个或多个值作为输入,并产生一个或多个值作为输出;即一个算法是一系列将输入转换为输出的计算步骤。

*9、算法的时间复杂度T(n):是该算法的时间耗费,它是该算法所求解问题规模n趋向无穷大时,我们把时间复杂度T(n)的数量级(阶)称为算法的渐近时间复杂度。

*10、最坏和平均时间复杂度:由于算法中语句的频度不仅与问题规模n有关,还与输入实例等因素有关;这时可用最坏情况下时间复杂度作为算法的时间复杂度。

而平均时间复杂度是指所有的输入实例均以等概率出现的情况下,算法的期望运行时间。

*11、数据的运算:指对数据施加的操作。

数据的运算是定义在数据的逻辑结构上的,而实现是要在存储结构上进行。

*12、线性表:由n(n≥0)个结点组成的有限序列。

其逻辑特征反映了结点间一对一的关系(一个结点对应一个直接后继,除终端结点外;或一个结点对应一个直接前趋,除开始结点外),这是一种线性结构。

*13、顺序表:顺序存储的线性表,它是一种随机存取结构。

广义表的定义(精)

广义表的定义(精)
0 若g为原子 若g为空表 其他情况,subg为g的子表
f(g)=
1 MAX{f(subg)}+1
int GLDepth(GLNode *g) /*求带头结点的广义表g的深度*/ { int max=0,dep; if (g->tag==0) return 0; /*为原子时返回0*/ g=g->val.sublist; /*g指向第一个元素*/ if (g==NULL) return 1; /*为空表时返回1*/ while (g!=NULL) /*遍历表中的每一个元素*/ { if (g->tag==1) /*元素为子表的情况*/ { dep=GLDepth(g); /*递归调用求出子表的深度 */ /*max为同一层所求过的子表中深度的最大值*/ if (dep>max) max=dep; } g=g->link; /*使g指向下一个元素*/ } return(max+1); /*返回表的深度*/ }
C a b c d
C a b c d
广义表的存储结构
广义表的情况 :
g2 1

g1
1


*
*
*
*

*
*

第 1 个元素 (a)空表
第 2 个元素 (b)非空表
第 n 个元素
为原子的情况 :
g3 0 a

typedef struct lnode { int tag; union { ElemType data; /*结点类型标识*/
A()
A B e a b c d C A e
B(e)
D B a b c d C
C(a,(b,c,d))

第三章广义表

第三章广义表

void Creat(GLNode *&GL) 输入:(#),a,((b,c),d); 输入: { char ch; 1: cin>>ch; Creat(GL) Creat(GL-> sublist) sublist 2:if(ch==‘#’) GL=NULL; 1:ch=‘(’ 1:ch=‘#’ 3:else if( ch==‘(‘) { if( 2,3, 4, 2:GL=^ 4:GL=new GLNode; GL->tag=true; GL5: ① 8:ch=‘)’ 5:Creat(GL5:Creat(GL->sublist);// ① } else { 8: ch=‘,’ 9: Creat(GL-> next next) 6: GL=new GLNode; GL->tag=false; GL9: 1:ch=‘a’ 7: GL->data=ch; } GL10: ② 8: cin>>ch; 2,3,6,7, 9:if(GL==NULL) 9:if(GL==NULL) ; 8:ch=‘,’ 10:else if(ch==‘,’) Creat(GL->next);//② if(ch==‘,’) Creat(GL->next);//② 10: ② 11: else if((ch==‘)’)||(ch==‘;’)) GL->next=NULL; GL0 a } 1 ^
1:max=0 2,3, ①
4:dep=1 5:max=1 6:GL=70 2,3,6:GL=^
7:return 2
3、建立广义表 如:(a,(#),b,c,(d,(e))); 建立广义表时,字符的情况: 建立广义表时,字符的情况: (1)当碰到左括号时 表明它是一个表元素的开始, (1)当碰到左括号时,表明它是一个表元素的开始,则应建立 一个由GL指向的表结点 并用它的sublist域作为子表的 指向的表结点, 一个由GL指向的表结点,并用它的sublist域作为子表的 表头指针进行递归调用,来建立子表的存储结构; 表头指针进行递归调用,来建立子表的存储结构; (2)当碰到一个英文字母时 表明它是一个单元素, (2)当碰到一个英文字母时,表明它是一个单元素,则应建立 一个由GL指向的单元素结点 指向的单元素结点; 一个由GL指向的单元素结点; (3)当碰到一个“#”字符 (3)当碰到一个“#”字符时,表明它是一个空表,则应置GL 字符时 表明它是一个空表,则应置GL 为空。 为空。 (4) 当建立了一个由GL指向的结点后, 当建立了一个由GL指向的结点后, 指向的结点后 接着碰到逗号字符时 表明存在后继结点, ①接着碰到逗号字符时,表明存在后继结点,需要建立当前 结点的后继表, 结点的后继表, 碰到右括号或分号字符时,表明当前所处理的表已结束, ②当碰到右括号或分号字符时,表明当前所处理的表已结束, 应置当前结点的next为空 为空。 应置当前结点的next为空。

V第二十二讲(广义表的逻辑结构与存储结构)

V第二十二讲(广义表的逻辑结构与存储结构)
L(A(B(a,b)), C(B(a,b), c), D(c,d,e), E(e) )
例如, 22- 所示的广义表图,深度优先遍历结果为: 例如,图22-1所示的广义表图,深度优先遍历结果为: LA B a b C c D d e E 注意对访问过的点加标记 如果只访问单元素,则结果为: 如果只访问单元素,则结果为: abcde 22- 所示的广义表图,广度优先遍历结果为: 图22-1所示的广义表图,广度优先遍历结果为: LA C D E B c d e a b 如果只访问单元素,则结果为: 如果只访问单元素,则结果为: cdeab 有时侯,将共享元素做为不同出现列出. 有时侯,将共享元素做为不同出现列出. 当然,也可以规定使共享元素不重复出现.例如, 当然,也可以规定使共享元素不重复出现.例如,对广义表 L=A(a, B(c, C(a, b), d), E(e,F(f)) ) 深度优先(前序)结果为(共享元素按不同元素列出) 深度优先(前序)结果为(共享元素按不同元素列出): a, c, a, b, d, e, f
L=(1(2(4,(6(5,7)),8),12, 3(9(10),11)))
L = ((a,b), c, (d, (e)) ) L = (A(a,b), c, B(d, C(e)) )
L A c b d B C
概念中的例题 显示如何构建 广义表图
a
e
图22-1 给出了广义表图的一个例子. 22- 给出了广义表图的一个例子. 显然, 广义表图中画出了广义表的所有结点. 显然 , 广义表图中画出了广义表的所有结点 . 图中结 点之间的边表示" 包含/属于 " 关系, 即若结点A到 B有 点之间的边表示 " 包含 属于" 关系 , 即若结点 到 有 属于 则表示B是 的子表之一 的子表之一( 包含 包含B) 边,则表示 是A的子表之一(A包含 ). 广义表图与树相似, 广义表图与树相似,只是 由于存在共享元素, 由于存在共享元素,使得 广义表图中某些结点 的"父亲"不唯一. 父亲"不唯一. B a b c d e A C D E L

广义表及本章小结

广义表及本章小结

2 .广义表的同层结点链存储结构 在这种结构中,无论是单元素结点还是子表结点均由三个域构成。其结点结 构如下图所示。
tag=1 hp tp
表结点
tag=0 atom tp
原子结点
广义表的同层结点链结点结构
广义表 A、 B、 C、 D 的扩展线性链表存储结构如下图所示。
D 1 ∧∧
A
1

0a
1

B
1
第 5 讲 广义表及本章小结——教学讲义 广义表,也是线性表的一种推广。它被广泛的应用于人工智能等领域的表处 理语言 LISP 语言中。在 LISP 语言中,广义表是一种最基本的数据结构,LISP 语言 编写的程序也表示为一系列的广义表。
一、 广义表的概念
在第 2 章中,线性表被定义为一个有限的序列( a1 ,a2 ,a3 ,…, an),其中 ai 被限定 为是单个数据元素。广义表也是 n 个数据元素( d1 ,d2 ,d3 ,…, dn)的有限序列,但不 同的是,广义表中的 di 既可以是单个元素,还可以是一个广义表,通常记做: GL =( d1 ,d2 ,d3 ,…, dn)。 GL 是广义表的名字,通常广义表的名字用大写字母表示。 n 是广义表长度。若其中 di 是一个广义表,则称 di 是广义表 GL 的子表。在广义表 GL 中,d1 是广义表表头,而广义表 GL 其余部分组成的表( d2 ,d3 ,…, dn)称为广义表 表尾。由此可见广义表的定义是递归定义的,因为在定义广义表时又使用了广义 表的概念。下面给出一些广义表的例子,以加深对广义表概念的理解。 D=() 空表;其长度为零。 A=(a,(b,c)) 表长度为 2 的广义表,其中第一个元素是单个数据 a,
A[i][j] f B[K]

大数据结构概念名词解释大全

数据:是对客观事物的符号表示。

数据元素:是数据的基本单位,也称节点(node)或记录(record)。

数据对象:是性质相同的数据元素的集合,是数据的一个子集。

数据项:有独立含义的数据最小单位,也称域(field)。

数据结构:是相互之间存在一种或多种特定关系的数据元素的集合。

根据数据元素间关系的基本特性,有四种基本数据结构集合:结构中的数据元素之间除了“同属于一个集合”的关系外,别无其他关系。

线性结构:结构中的数据元素之间存在一个对一个的关系。

树形结构:结构中的数据元素之间存在一个对多个的关系。

图状结构或网状结结构:结构中的数据元素之间存在多个对多个的关系。

>逻辑结构:抽象反映数据元素之间的逻辑关系。

(算法设计)物理结构(存储结构):数据结构在计算机中的表示。

(算法实现)存储结构分为:顺序存储结构:借助元素在存储器中的相对位置来表示数据元素间的逻辑关系。

链式存储结构:借助指示元素存储地址的指针表示数据元素间的逻辑关系。

算法:对特定问题求解步骤的一种描述。

算法的五个重要特性:有穷性,确定性,可行性,输入和输出。

算法设计的原则或要求:正确性,可读性,健壮性,效率与低存储量需求。

衡量算法效率的方法:事后统计法和事前分析估算法。

算法执行时间的增长率和f(n) 的增长率相同,则可记作:T (n) = O(f(n)),称T (n) 为算法的(渐近)时间复杂度¥算法运行时间的衡量准则:以基本操作在算法中重复执行的次数。

栈:限定仅在表尾进行插入或删除操作线性表。

入栈:插入元素的操作;出栈:删除栈顶元素的操作。

队列:只能在队首进行删除、队尾进行插入的线性表。

允许插入的一端叫队尾,删除的一端叫队头。

串:由零个或多个字符组成的有限序列;空串:零个字符的串;长度:串中字符的数目;空串:零个字符的串;子串:;串中任意个连续的字符组成的子序列;位置:字符在序列中的序号;相等:串的值相等;空格串:由一个或多个空格组成的串,空格串的长度为串中空格字符的个数。

数据结构简答题

数据结构简答题第⼀章绪论1、数据结构是⼀门研究什么的学科?数据结构是⼀门研究⾮数值计算的程序设计问题中,计算机操作对象及对象间的关系和施加于对象的操作等的学科。

2、数据存储结构有哪⼏种类型?存储结构可分为顺序存储、链式存储、索引存储和散列存储。

3、数据逻辑结构包括哪⼏种类型?逻辑结构包括线性结构和⾮线性结构。

更细分的话可以说,逻辑结构包括集合、线性结构(线性表、栈、队列等)、树形结构和⽹状结构。

4、数据结构与数据类型有什么区别?答:数据结构这⼀术语有两种含义,⼀是作为⼀门课的名称,⼆是作为⼀个科学的概念,⽬前尚⽆公认定义,⼀般认为,数据结构包括三个⽅⾯数据的逻辑结构,数据的存储结构,数据的运算。

⽽数据类型是值的集合和操作的集合,可以看做是已实现了的数据结构,后者是前者的⼀种简化情况。

5、数据类型和抽象数据类型是如何定义的?⼆者有何相同和不同之处?抽象数据类型的主要特点是什么?使⽤抽象数据类型的主要好处是什么?数据类型和抽象数据类型是如何定义的?⼆者有何相同和不同之处?抽象数据类型的主要特点是什么?使⽤抽象数据类型的主要好处是什么?答:数据类型是程序设计语⾔中的⼀个概念,数据类型是值的集合和操作的集合,可以看做是已实现了的数据结构抽象数据类型指⼀个数学模型及定义在该模型上的⼀组操作。

抽象的意义在于数据类型的数学抽象特性。

抽象数据类型的定义仅取决于它的逻辑特性,⽽与其在计算机内部如何表⽰与实现⽆关。

⽆论其内部如何变化。

只要它的数学特性不变就不影响它的外部使⽤。

抽象数据类型和数据类型实质上是⼀个概念,但是抽象数据类型的范围更⼴,它已不再局限于机器已定义和实现的数据类型,还包括⽤户在设计软件系统时⾃⾏定义的数据类型。

使⽤抽象数据类型定义的软件模块含定义,表⽰和实现三部分,封装在⼀起,对⽤户透明(提供接⼝),⽽不必了解实现细节。

6、名词解释数据:是对客观事物的符号表⽰,在计算机科学中指所有能输⼊到计算机并能被计算机程序处理的符号总称。

数据结构复习要点(整理版)

第一章数据结构概述基本概念与术语1.数据:数据是对客观事物的符号表示,在计算机科学中是指所有能输入到计算机中并被计算机程序所处理的符号的总称。

2。

数据元素:数据元素是数据的基本单位,是数据这个集合中的个体,也称之为元素,结点,顶点记录。

(补充:一个数据元素可由若干个数据项组成。

数据项是数据的不可分割的最小单位。

)3.数据对象:数据对象是具有相同性质的数据元素的集合,是数据的一个子集。

(有时候也叫做属性。

)4.数据结构:数据结构是相互之间存在一种或多种特定关系的数据元素的集合。

(1)数据的逻辑结构:数据的逻辑结构是指数据元素之间存在的固有逻辑关系,常称为数据结构。

数据的逻辑结构是从数据元素之间存在的逻辑关系上描述数据与数据的存储无关,是独立于计算机的。

依据数据元素之间的关系,可以把数据的逻辑结构分成以下几种:1.集合:数据中的数据元素之间除了“同属于一个集合“的关系以外,没有其他关系.2.线性结构:结构中的数据元素之间存在“一对一“的关系。

若结构为非空集合,则除了第一个元素之外,和最后一个元素之外,其他每个元素都只有一个直接前驱和一个直接后继。

3。

树形结构:结构中的数据元素之间存在“一对多“的关系.若数据为非空集,则除了第一个元素(根)之外,其它每个数据元素都只有一个直接前驱,以及多个或零个直接后继。

4.图状结构:结构中的数据元素存在“多对多"的关系.若结构为非空集,折每个数据可有多个(或零个)直接后继.(2)数据的存储结构:数据元素及其关系在计算机内的表示称为数据的存储结构。

想要计算机处理数据,就必须把数据的逻辑结构映射为数据的存储结构。

逻辑结构可以映射为以下两种存储结构:1.顺序存储结构:把逻辑上相邻的数据元素存储在物理位置也相邻的存储单元中,借助元素在存储器中的相对位置来表示数据之间的逻辑关系.2.链式存储结构:借助指针表达数据元素之间的逻辑关系。

不要求逻辑上相邻的数据元素物理位置上也相邻。

第5章广义表


数据结构

else h=NULL; ch=*(*s); (*s)++; if(h!=NULL) if(ch==',') h->link =creat_GL(s); else h->link=NULL; return(h); }
该算法的时间复杂度为O(n)。
数据结构

2.输出广义表prn_GL(p) 对于广义表的表头结点p,若为表结点,输出空表或递归 输出子表的内容,否则,输出元素值;若当前的结点还有 后续结点,则递归输出后续表的内容。 下面的函数把按链接存储的广义表以字符串形式输出。 void prn_GL(NODE *p) { if(p!=NULL) { if(p->tag==1) { printf("("); if(p->dd.sublist ==NULL) printf(" "); 数据结构
5.取表尾运算tail .取表尾运算 若广义表LS=(a1 ,a2 ,…,an),则tail(LS)=(a2 ,a3 ,…, an)。 即取表尾运算得到的结果是除表头以外的所有元素,取 表尾运算得到的结果一定是一个子表。 值得注意的是广义表( )和(())是不同的,前者为空表,长 度为0,后者的长度为1,可得到表头、表尾均为空表, 即head((( )))=( ),tail((( )))=( )。 数据结构
四、几个运算的调用
下列主函数的功能是:创建带表头结点链式存储的广义表 然后复制一个新的广义表,并把广义表按字符串的方式 输出. main() { NODE *hd,*hc; char s[100],*p; p=gets(s); hd=creat_GL(&p); hc=copy_GL(hd); printf("copy after:"); prn_GL(hc); }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

广义表名词解释
广义表(英语:Generalized List)是一种非线性的数据结构。

但如果广义表的每个元素都是原子,它就变成了线性表。

广义表广泛地用于人工智能等领域的LISP语言。

广义表一般记作LS = (a1, a2, ···, an), n是它的长度,ai可以是单个元素(原子),也可以是广义表(子表),当广义表非空时,称第一个元素a1为LS的表头,称其余元素组成的表为LS 的表尾。

注意:表头是元素(可以是原子,也可以是广表),表尾一定是广义表。

E=(a, E)是一个递归的表。

D=(( ),(e),(a,(b,c,d)))是多层次的广义表,长度为3,深度为3。

例:((a),a)的表头是(a),表尾是(a),((a))的表头是(a),表尾是( )。

相关文档
最新文档