文档库 最新最全的文档下载
当前位置:文档库 › 比喻的结构分析

比喻的结构分析

比喻的结构分析
比喻的结构分析

汉语比喻结构的修辞分析

比喻的分析恐怕的修辞研究中的一个基础研究课题了。

一汉语比喻结构的成分分析

目前的比喻分析已是一定程度上的结构分析。第一,分析出了本体、喻体、喻词等结构成分;第二,根据喻词的性质以及本体、喻词出现与否等结构成分的情况将比喻分成明喻暗喻借喻结构类型;第三,联系题旨情景,从本体与喻体的相像关系来分析比喻的效应,即从成分之间的关系分析整个比喻结构的修辞关系与修辞效果。但这种结构分析又只是一种残缺的结构分析,因为它分析的只是比喻的修辞结构,而没有兼顾其句法结构。任何一个比喻,既是修辞结构,又同时是句法结构。从它的结构成分、结构关系到结构类型都是这两者的统一。遗憾的是,现在不少比喻分析没有做到这种统一。对比喻中的某个词或词组,只是将其划为本体喻体或喻词等修辞成分、分析其修辞作用;根本不考虑它还充当了主语谓语或其他什么句法成分、具有何种句法作用。这样,修辞学的分析方法就很难与其他学科的“对话”。再说,它只从本体与喻体的相像关系去分析比喻的结构关系。所谓相像关系是着眼于A事物与B事物或A词语与B事物的对应关系,而不是着眼于语言结构中A成分与B成分的搭配关系。事物与事物的相像要取决认知经验、心理感觉等非语言因素,分析过程结构性不足,操作性亦不强,其结果千人千面,客观性不大。

比喻结构的修辞分析首先是结构成分的分析,包括基本成分的确定、成分的特性与功能分析。汉语比喻在结构上有四大结构成分:本体、喻体、延伸词,可分别用字母A、B、C表示,另外还有一个成分:喻词,由“比喻词(像、如、好像……)+比况词(似的、一样……)”组成。四大成分都齐全的一种最常见的比喻格式是“A像B似的,C”。如;

(1) 车辆像流水一般哗哗流淌。

 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄

ABC

比喻结构具有如下特点:

1修辞结构中的修辞成分必定是语言结构中的句法成分,比喻结构的基本成分都具有一定的句法特性,其对应情况是:本体和喻体可以是词,也可以是词组;

2比喻结构中的修辞成分都具有一定的语法性能,本体和喻体大多由名词性成分充当,有时也由动词性成分充当,延伸词的语法性能有两种:或形容属性,或陈述动态。这些修辞成分同时又充当一定的句法成分,如上例中,“A”是主语,“像B一般,C”都是陈述A的,充当谓语;

3喻词部分可由“比喻词+比况词”组成一个喻词框架,如“好像……似的”“如……一样”。在许多情况下,可省去比况词不用,而单用比喻词,如上例可变为“车辆像流水哗哗流淌”;在一定条件下,也可省去比喻词不用,而单用比况词(如下文所述),但是,不能将比喻词与比况词全部省去不用。

比喻结构成分的分析存在一个争议,即比喻结构的基本成分究是三个还是四个,也就是说延伸语是不是比喻的基本成分?许多学者持“三大成分说”,否认延伸语的存在,认为比喻的格式就是“A像B”,而不是“A像B,C”。那么,孰是孰非呢?我们可用下列方法解决这个问题。

1移位。看看“像”后面有无可以前移的成分,结果发现例(1)可变为:例(1)′“车辆哗哗流淌,像流水一般。”这说明“像流水一般”和“哗哗流淌”是两个相对独立的成分,不是一个成分,另外,修辞学的一般观点也不能在例(1) 和例(1)′两者上同时兼顾,因为按“三大成分说”,例(1)的本体是“车辆”,喻体是“流水哗哗流淌”;但同样按“三大成分说”,例(1) ′的本体是“车辆哗哗流淌”,喻体是“流水”。同一比喻,两种分析,难圆其说。

2省略。看看在“A像B一样,C”的比喻结构中可省去什么。结果发现,“像B一样”和“C”两者之中可省去任何一个,如例(1)可省去“像流水一般”,也可省去“哗哗流淌”,成“车辆哗哗流淌”,或“车辆像流水一般”。这说明它们是两个相对独立可分别单用的成分。3分析。例(1)中的“像”是一个后接宾语的谓语动词。按“三大成分说”,这个宾语就是“流水一般哗哗流淌”。这种切分显然不对。“像”的宾语是比况词组“流水一般”。“哗哗流淌”是和“像流水一般”相并列的另一个成分。

其实,修辞界早有不同意“三大成分说”的意见。1984年,郑颐寿撰文认为“比喻必须具备四个要素:本体、喻体、相似点和比喻词。”明确提出比喻要有个相似点。这个相似点在语言结构上可以有表现,从而形成比喻的第四大成分。郑的观点是一个突破。但在此基础上还可作进一步的思考。比喻结构的“三大成分说”与“四大成分说”的分歧实质上是从指称事物的角度还是从语言结构的角度研究比喻。“三大成分说”考虑的是什么事物与什么事物在哪一点上相似,关注的焦点不是语言的结构,而是语言的指称。这是一种偏离语言本位、忽视语言结构的做法。

在比喻的研究中,我们应该把比喻看成是一个语言结构,研究的重心不是客观世界中哪两个事物相像不相像,(其实,在脱离了人的世界中,任何两个事物都无所谓相像不相像)而是在一个语言结构中,哪两个语言单位通过“A像B,C”之类的格式,表达了一种什么意义;同样,也不应该以指称事物之间的关系而应该从比喻的结构本身来确定比喻结构的成分数量与性质。从这一角度来看,延伸语不是喻体中的下位成分,而是比喻结构中的一个独立部分;其性质也不仅仅是事物与事物之间的相像问题,而是对比喻结构的主语作进一步陈述的重要成分,具有特别的结构作用。

二比喻基本结构的句法分析

比喻结构的句法分析要特别注重结构成分、句法关系与结构类型的相互影响。以前的比喻分析特别强调“喻词”,比喻的分类往往取决于。如“A像B”为明喻;“A是B”为暗喻;“A不像(不是)B”为反喻;“A比B更C”为强喻,“A像B,像B′,像B″……”为博喻,等等。这种分析虽然也准确地揭示了比喻的一些内在特征,但它基本上着眼于“喻词”所反映的事物之间的相像关系,而不是句法关系。从句法上讲,“A像B”与“A不像B”是同一类结构。所以,比喻结构的分析应该从语言结构本身来揭示。

1成分的出现与比喻的类型

“A像B,C”的结构成分的缺损情况如何,会造成比喻结构的类型不同与相互转化。比如,在不出现“像B一样”、只有“AC”的情况下,如果A与C语义搭配正常,就是一般的句子。如:

(2)泪水像雨点似的顺着他那多皱的脸腮淌了下来。(峻青)

省去“像雨点似的”以后,就是一个一般的句子;如果A与C语义搭配超常,则是个比拟句了。如:

(3)夜深了,/风还在街上/像个迷路的孩子一样/东奔西撞。(芒克《城市》)

如果省去“像个迷路的孩子一样”,剩下的“风还在街上东奔西撞“成了一个比拟句了。实际上,比拟都可以看成是由比喻转化而来的。

另外,延伸语的有无也可决定整个比喻结构的类型。有,就是一个由连谓词组充当谓语的比喻结构;无,则是一个述宾词组充当谓语的比喻结构。如:

(4)冬天的风/像低沉的挽歌/讲述着一个英雄的传说。

述宾述宾

连谓

主谓

如果省去延伸语,这个句子则为:

(4)′冬天的风/像低沉的挽歌

述宾

主谓

显然,我们不能认为“像低沉的挽歌”在有C时(例(4)中)是状语,在无C时(例(4)′中)则是谓语。

最后,如前所述,比喻词与比况词一般不可同时省去,但是,当C是“长、粗、大”之类的形容词,B又不超过三个音节时,却可同时省去比喻词与比况词,如:“手指长的鱼、胳膊

粗的棍子、碗大的疤、豆粒大的汗珠、一巴掌长的旱烟袋”,它们都可以还原为:“像手指一样长的鱼、像胳膊一样粗的棍子、像碗一样大的疤、像豆粒一样大的汗珠、像一巴掌一样长的旱烟袋”,或可还原为:“手指一样长的鱼、胳膊一样粗的棍子、碗一样大的疤、豆粒一样大汗珠、巴掌一样长的旱烟袋”。

2成分的性质与结构格式

延伸语的功能不同,影响也不一样。延伸语为形容词性时,就有“C+得+喻词+B”这种后补式的结构。如:

像风一样轻→轻得像风一样

像死一样静→静得像死一样

而当延伸语为动词性时,就没有这种格式:

像鸟一样飞翔→×飞翔得像鸟一样

像兔子似的逃跑→×逃跑得像兔子似的

像只笨熊似的走路→×走路得像只笨熊似的

另外,形容词性的延伸语一般只有几个音节,而动词性的延伸语则可以是结构较复杂的词组。如:

(5) 夜凉如晚潮

浸上一级级歪歪斜斜的石阶

侵入你的心头(北岛)

本体是“夜凉”,喻体是“晚潮”,延伸语是后面的一大串。这在形容词性的延伸语那里是不可想象的。

3成分的搭配关系与结构

比喻结构中,成分之间的搭配关系和结构特点互相影响,如:

(6) 你提防老虎一样提防他。

(7) 你提防他像提防老虎一样。

(8) 你像老虎一样提防他。

(9) 你提防他像老虎一样。

例(6)(7)中,本体A是“提防他”,喻体B是“提防老虎”,虽然例(6) 中“你”和“提防老虎”分列“像”的两边,但本体A是“提防他”,而不是“你”,因为“像”两边的词语不同类,例(8)中A是“他”,B是“老虎”;而例(9)有歧义,一种是(8)的意思,另一种A是“他”,B是“老虎”。这是位置对结构的影响。

比喻结构的句法分析还有一个难题。由于“A+喻词+B,+C”和“A+喻词+B”同时存在,我们怎么判断一个比喻是其中的哪一种呢?

1在喻词后面跟有一个名词性成分和一个动宾结构时,怎么断定下例是两种中的哪一种呢?应如何分析呢?

(10) 你的呵气像胳膊绕在我的脖子上。

连谓

主谓

(10)′你的呵气像胳膊绕在我的脖子上。

述宾

主谓

(11) 月亮挂在天上,/星星眨着小眼睛,/像一群顽皮的小孩,/挤在妈的身旁。

连谓

主谓

(11)′月亮挂在天上,/星星眨着小眼睛,/像一群顽皮的小孩,/挤在妈妈的身旁。

述宾

主谓

(12) 鸟落满枝头,/像星星落满天空。

述宾

主谓

(12)′鸟落满枝头,/像星星落满天空。

连谓

主谓

有没有一个客观的分析标准呢?答曰:有。一是移位。即看喻词后面中的述宾部分能不能移到喻词前面。能,这个述宾结构就是延伸语,整个比喻就是连谓谓语的结构;不能,这个述宾结构就不是延伸语,整个比喻就是述宾谓语的结构。如例(10)可移成“你的呵气绕在我的脖子上,就像胳膊一样”;而例(11)(12)则不能移成:

×(11)″月亮挂在天上,星星眨着小眼睛,挤在妈妈的身旁,像一群顽皮的小孩子。

×(12)″鸟落满枝头,落满天空,就像星星一样。

例(11)的意思是“星星围着月亮”,就像“孩子挤在妈妈的身旁”,两个场景相象;例(11)″的移位则改变了例(11)的意义,例(12)与例(12)″也是这种情况。

二是用比况词鉴别。“比喻词+比况词”组成了一个框架,其功能就是带出喻体。这个框架以内的词语就是喻体,以外的则是延伸语。这就为我们提供了一个检验标准:如果比喻中只有比喻词,就可以添加比况词。比况词可以添加到哪里,喻体的范围也就到了那里,喻体与延伸语也就被鉴别了出来。如例(4)例(10) 没有比况词,可以加上而说成:“冬天的风,像低沉的挽歌一样,讲述着一个英雄的传说。”“你的呵气像胳膊一样,绕在我的脖子上。”而不说成:ד冬天的风,像低沉的挽歌讲述着一个英雄的传说一样。”ד你的呵气像胳膊绕在我的脖子上一样。”而例(11)(12)则相反。可以说成:“月亮挂在天上,星星眨着小眼睛,就像一群顽皮的小孩子挤在妈妈的身旁一样。”“鸟落满枝头,就像星星落满天空一样。”而不能说成:ד月亮挂在天上,星星眨着小眼睛,就像一群顽皮的小孩子一样,挤在妈妈的身旁。”ד鸟落满枝头,就像星星一样,落满天空。”由此可以看出哪些成分是喻体;也可以证明例(10)例(11)′例(12)的分析是对的而例(10)′例(11)例(12)′的分析是错的。

三修饰性比喻的变换分析

“N1的N2”是汉语中最常见的一种语言结构。从语义上看,N1和N2的搭配有时是规约的,如“历史的事件”;有时是非规约的,如“历史的眼睛”。很明显,后者不仅是个句法结构,还是个修辞结构。其结构成分既是句法成分,又是修辞成分;其结构关系既是句法关系,又是修辞关系,因此,对这种结构不仅要作句法分析,还要作修辞分析,这样才能全面而深刻地揭示其结构规律。

“N1的N2”结构的句法分布主要有两个位置:主语位置和宾语位置。前者如:

(13)树丫的巨掌横向天空。(岛子)

(14)时间的马累倒了。(顾城)

(15)成千上万只叶子的小船从枝条上出发。(江河)

(16)幻觉的筛子抖落了理智。(李钢)

(17)让阳光的瀑布/洗黑了我的皮肤(顾城)

(18)让太阳的枪弹/从远处楼顶的一块玻璃上/射进我的胸膛(李钢)

(19)岁月的皱纹又将闪出什么样的光辉(江河)

(20)历史的眼睛被强光剌痛(岛子)

(21)新生活的浓荫会在我们的心头洒下凉爽……(王怀让)

后者如:

(22)在柜台前迸裂了希望的肥皂泡,赶走了入秋以来望着沉重的稻穗所感到的快乐。

(23)摆好一排排贝壳的杯盏(北岛)

(24)射出一支快箭/穿透凝固的时间的厚壁(李钢)

(25)太阳是我的纤夫。/它拉着我,/用强光的绳索。(顾城)

(26)然而我又知道,/有一天你会比先前更雄伟、更美丽,重新矗立在心的旷野。(姚振远)

(27)任淋漓的叮嘱将心的杯盏斟满(岛子)

(28)你(落日)解开山楂树/一支支/挽留的手臂/依次沉入夜的深渊(舒婷)

(29)清风撩起果树的衣裙。(王绶青)

(30)山谷/快用雨的脚步去追逐风(北岛)

(31) 血潮在芍药的脸颊上耕/哔哔剥剥地烧灼。(骆耕野)

(32)在山上,我弯腰拾起/红莓果成熟的思想(李钢)

(33)曾经有过明亮的星星/在我心灵的窗户(周嘉堤)

(34)我沿着潮湿的田埂/把脚印小心翼翼地/种在田野的手臂上;让它长出豆子。(傅天琳)

上述例句中的“N1的N2”实际上寓含了两种不同的结构,例“希望的肥皂泡”与例“果树的衣裙”就是如此。二者虽然在句法上都同属偏正结构外,还有共同点:

1两者都具有语义结构上的超常规性。按语言常规,“希望”与“肥皂泡”、“果树”与“衣裙”不能搭配,而例(22)(29)却作了非规约的成分搭配;在现实世界根本不存在什么“希望的肥皂泡”,果树也不会有什么衣裙,这两种语言表达式都具有非指称性。

2两者都具有话语结构上的分离性。从字面信息传递来看,两者都是N2 、而不是N1能与整个语言表达式的直接成分合理搭配,如例(22) 是“肥皂泡”而不是“希望”“迸裂”了,例(29)是“衣裙”而不是“果树”被“撩起”,惟其如此,整句话才通。但是,说话人欲传信息的真正着力点在N1而不在N2,例(22)真正“迸裂”的是“希望”,例(29)真正被“撩起”的也是与“果树”有关的事物。两者的字面信息与欲传信息都呈现出分离性。

3两者都具有结构成分的变义性。两者的N1都发生了特征性变义:例中,“希望”的所指没变,但增添了可“迸裂”的特征义,例(29)中,“果树”还是果树,所指没变,但增添了有“衣裙”的特征义;另一方面,两者的N2 都发生了指称性变义,例(22)的“肥皂泡”已不是指那种去污的肥皂泡了,例(29)的“衣裙”也不是指人穿的服装了。

但是,两者更各具特点:

1在整个语言表达式意义与成分意义的对应关系上,两者有所不同。例类语言表达式的指称义等于语言表达式中某一成分(N1)的指称义;而例类语言表达式的指称义不等于该语言表达式中任何一个成分的指称义。如“希望的肥皂泡”的指称义就是“希望”的指称义;而“果树的衣裙”的指称义既不是“果树”更不是“衣裙”,而是指“树叶”。

2两者在句法上略有不同。虽然同为偏正结构,但例类的N1与N2是同一的,“希望”就等于“肥皂泡”,N1是修饰性的;例类的N1与N2不是同一的,“果树”不等于“衣裙”,“果树”只是有“衣裙”,“衣裙”属于“果树”,N1是领属性的。

3两者在修辞上更是不同。两者分属不同的修辞结构,是比喻结构的不同变形。例22的N1“希望”是本体,N2“肥皂泡”是喻体,整个语言表达式“希望的肥皂泡”是一个暗喻;例29的本体“树叶”根本没出现,整个语言表达式“果树的衣裙”是一个借喻。

现在的问题是:怎样才能判断一个句子中“N1的N2”的修辞结构究竟是暗喻还是借喻呢?现行的修辞分析方法显然不能完成这一任务。这可以运用变换分析的方法加以解决。变换分析是近十几年来在我国语法分析中出现的一种新方法。“变换是指同一层面上不同句法结构之间结构上的依存关系。”1借用此法,将有助于分析“N1的N2”这种修辞结构。

通过变换,我们发现:“N1的N2”这种修辞结构有的可以转写成“N1像N2”的明喻结构(我们记作C式),还可转写成“N2似的N1”的明喻结构(我们记作D式)。我们把能作这种变换的“N1的N2”记作A式。验之于上述例句,可有这种转写的有例13——例17和例22——例28:

ACD

希望的肥皂泡→希望像肥皂泡→肥皂泡似的希望

树丫的巨掌→树丫像巨掌→巨掌似的树丫

时间的马→时间像马→马似的时间

叶子的小船→叶子像小船→小船似的叶子

幻觉的筛子→幻觉像筛子→筛子似的幻觉

阳光的瀑布→阳光像瀑布→瀑布似的阳光

贝壳的杯盏→贝壳像杯盏→杯盏似的贝壳

时间的厚壁→时间像厚壁→厚壁似的时间

强光的绳索→强光像绳索→绳索似的强光

心的旷野→心像旷野→旷野似的心

心的杯盏→心像杯盏→杯盏似的心

夜的深渊→夜像深渊→深渊似的夜

在变换过程中,同时可发现:有的“N1的N2”不能作上述转写,而只能添加一些成分,转写成一种“N1像X似的,有N2”的明喻结构,我们记作E式,这种结构可进一步省写成“N1X的N2”,我们记作F式。并把能作这种转写的“N1的N2”记作B式。验之于

1陆俭明《变换分析在汉语语法研究中的运用》《湖北大学学报》1986年第3期。

上述例句,可有这种转写的有例18——例21和例29 -—例34:

BEF

果树的衣裙→果树像少女似的,有衣裙→果树少女的衣裙

太阳的枪弹→太阳像枪炮似的,有子弹→太阳枪炮的子弹

岁月的皱纹→岁月像老人似的,有皱纹→岁月老人的皱纹

历史的眼睛→历史像人似的,有眼睛→历史之人的眼睛

新生活的浓荫→新生活像树一样,有浓荫→新生活之树的浓荫

雨的脚步→雨像人一样,有脚步→雨之人的脚步

芍药的脸颊→芍药像少女一样,有脸颊→芍药少女的脸颊

红莓果的思想→红莓果像人一样,有思想→红莓果之人的思想

心灵的窗户→心灵像房屋一样,有窗户→心灵之屋的窗户

田野的手臂→田野像人一样,有手臂→田野之人的手臂

上述两种类型的转写是不可交换的。A式不能转写成E式或F式;同样,B式也不能转写成C式或D式。例如:

AEF

希望的肥皂泡→×希望像X似的,有肥皂泡→×希望之X的肥皂泡

树丫的巨掌→×树丫像人似的,有巨掌→×树丫之人的巨掌

时间的马→×时间像X似的,有马→×时间之X的马

叶子的小船→×叶子像X似的,有小船→×叶子之X的小船

……………………

A式很难添加上什么成分转写成E式或F式,有时似乎能添加,但添加后已不是原句的意思了。如“树丫的巨掌”似乎能添加上“人”之类的词语成E式或F式,但意思已经改变。“树丫的巨掌”之义是“树丫本身就像巨掌”,而不其它。

BCD

果树的衣裙→×果树像衣裙→×衣裙似的果树

太阳的枪弹→×太阳像枪弹→×枪弹似的太阳

岁月的皱纹→×岁月像皱纹→×皱纹似的岁月

历史的眼睛→×历史像眼睛→×眼睛似的历史

……………………

总之,通过运用变换分析的方法,我们发现:“N1的N2”这种修辞结构可以分化成A式与B式两种不同的结构,A式是种暗喻结构;B式则是种借喻结构。

值得注意的是,由于“N1的N2”是种超常的语义搭配,所以,有时单独来看一个“N1

的N2”结构,还看不出它是能变换成A式或B式呢,还是能变换成E式或F式;而要放到语言环境中去。如例17与例18,脱离了句子,我们很难说为什么“阳光像瀑布”,而不能说“阳光像枪弹”。但一放入句子就清楚了:因为是“太阳晒黑了皮肤”,所以可说“让阳光像瀑布一样洗黑了我的皮肤”;因为是“太阳的反光”、而不是“太阳”本身“射进我的瞳孔”,所以不能说“让阳光像枪弹一样射进我的瞳孔”。

有时,我们还要分析例句的来源,才能判断出各种变式之间的相互变换关系。例如,“N1的N2”常做一个动词(有时是一个介词)的宾语,成“VN1的N2”结构,例22—-例34就是这样。我们发现:

如果“N1的N2”可转写成“N1像N2”,那么,“VN1的N2”(我们记作G式)就有“VN1就像VN2一样”(我们记作H式)的变换;如果“N1 的N2”不可转写成“N1像N2”,那么,“VN1的N2”也就没有“VN2就像VN1一样”的变换。

所以,我们可以借此来检验一个修辞实例中的“N1的N2”是哪种结构。验之上述各例,例22—-例28有G式与H式的变换:

GH

迸裂了希望的肥皂泡→迸裂了希望就像迸裂了肥皂泡一样

摆好一排排贝壳的杯盏→摆好一排排贝壳就像摆好一排排杯盏一样

穿透时间的厚壁→穿透时间就像穿透厚壁一样

太阳用强光的绳索拉着我→太阳用强光拉着我就像用绳索拉着我一样

矗立在心的旷野→矗立在心中就像矗立在旷野一样

将心的杯盏斟满→将心斟满就像将杯盏斟满一样

落日沉入夜的深渊→落日沉入夜就像沉入深渊一样

而例29—-例34就没有这种变换。它们不能转写成:

GH

撩起果树的衣裙→×撩起果树就像撩起衣裙一样

用雨的脚步→×用雨就像用脚步一样

在芍药的脸颊上→×在芍药上就像在脸颊上一样

拾起红莓果成熟的思想→×拾起红莓果就像拾起成熟的思想一样

在我心灵的窗户→×在我的心灵就像在窗户上一样

种在田野的手臂上→×种在田野里就像种在手臂上一样

要么不成话,要么改变了原意。所以,G式与H式的变换关系也可以分化“N1 的N2”的修辞结构。

在“N1的N2”充当一个动词或介词的宾语时,要验证它是暗喻还是借喻,用G式与H式

的变换关系甚至比用A、B两式与C、D、E、F各式变换关系更为有效。请看下面例句:

(35)我们有无边无际的希望的田野(邵璞《今天,我们》)

(36)守候我归来的姑娘,揉散

月光的泡沫,浆洗着原野的衣衫(杨炼《自白》)

这两句中的“希望的田野”“原野的衣衫”是暗喻结构,而不是借喻结构。怎么验证呢?将它们转写成“希望像原野”“原野像衣衫”,似是似非,不敢肯定。但用G式与H式的转换关系则很明显:

GH

有无边无际的希望的原野有希望就像有无边无际的原野一样

浆洗着原野的衣衫浆洗着原野就像浆着衣衫一样

表达两个动作意象(“VN1”和“VN2”)的相像关系,原来是用“VN1 就像VN2一样”这种结构,但由于经济省力的原则和其他原因,在语言表达上就改写成了“VN1的N2”的格式了。变换分析方法在揭示这种修辞结构的内在涵义与转换关系方面具有很好的效果。

鹏飞教育 自考 吉林大学 计算机 ————数据结构原理与分析

数据结构原理与分析 1. 具有n个结点的二叉树采用链接结构存储,链表中存放NULL指针域的个数为(n+1)。 2.串是(任意有限个字符构成的序列)。3.在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加(2 )。4.某二叉树的前序和后序序列正好相反,则该二叉树一定是什么二叉树(高度等于其结点数)。 5. 对于栈操作数据的原则是(后进先出)。 6.若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,首先需要移动表中数据元素的个数是(n-i )。 7. 在非空二叉树的中序遍历序列中,二叉树的根结点的左边应该(只有左子树上的所有结点 )。 8. 排序方法中,从未排序序列中依次取出元素与已排序序列中的元素进行比较,将其放入已排序序列的正确位置上的方法,称为( 插入排序 )。 9. 若一棵二叉树具有45个度为2的结点,6个度为1的结点,则度为0的结点个数是(46 )。 10.某二叉树的前序和后序序列正好相同,则该二叉树一定是什么样的二叉树(空或只有一个结点)。 11. 在一个有向图中,所有顶点的入度之和等于所有边数( 4 )倍。12.串是(任意有限个字符构成的序列)。 13.对于栈操作数据的原则是(后进先出) 14. 设输入序列为A,B,C,D,借助一个栈不可以得到的输出序列是(D,A,B,C )。 15. 结点前序为xyz的不同二叉树,所具有的不同形态为(5 )。 16. 一维数组A采用顺序存储结构,每个元素占用6个字节,第6个元素的起始地址为100,则该数组的首地址是(70)。 17.在一棵高度为h(假定树根结点的层号为0)的完全二叉树中,所含结点个数不小于(2h )。 18. 在一个无向图中,所有顶点的度数之和等于所有边数( 2 )倍。 19.因此在初始为空的队列中插入元素a,b,c,d以后,紧接着作了两次删除操作,此时的队尾元素是 (d ). 20. 一般情况下,将递归算法转换成等价的非递归算法应该设置(堆栈)。21. 对于一棵满二叉树,m个树叶,n 个结点,深度为h,则(n=2h+1-1 )。 22. 线性表的长度是指(表中的元素个数)。 23. 用邻接表表示图进行深度优先遍历时,通常用来实现算法的辅助结构是(栈 )。 24. 堆的形状是一棵(完全二叉树 )。 25. 设abcdef以所给的次序进栈,若在进栈操作时,允许退栈操作,则下面得不到的序列为( cabdef)。 26. 若长度为n的非空线性表采用顺序存储结构,删除表的第i个数据元素,i的合法值应该 是( C. 1≤i≤n)。 27.在一棵二叉树的二叉链表中,空指针域数等于非空指针域数加(2 )。28. 若某线性表中最常用的操作是取第i个元素和删除最后一个元素,则采用什么存储方 式最节省时间(顺序表)。 29.一组记录的关键字为{45, 80, 55, 40, 42, 85},则利用堆排序的方法建立的初始堆为(85, 80, 55, 40, 42, 45 )。 30. 如果T2是由有序树T转换而来的二叉树,那么T中结点的先根序列就是T2中结点的(先根序列)。 31. 对于一棵满二叉树,m个树叶,n 个结点,深度为h,则(n=2h+1-1 )。32.具有n个顶点的有向图最多可包含的有向边的条数是(n(n-1) )。 33.设有6000个无序的元素,希望用最快的速度挑选出其中前5个最大的元素,最好选用(堆排序)法。 34.任何一个无向连通图的最小生成树(有一棵或多棵 )。 35. 排序方法中,从未排序序列中挑选元素,将其放入已排序序列的一端的方法,称为(选择排序)。 36. 对有14个数据元素的有序表R[14]进行折半搜索,搜索到R[3]的关键码等于给定值,此时元素比较顺序依次为(R[6],R[2],R[4],R[3] )。 37. 因此在初始为空的队列中插入元素a,b,c,d以后,紧接着作了两次删除操作,此时的队尾元素是 (d )。 38.深度为h且有多少个结点的二叉树称为满二叉树(2h+1-1 )。39.某二叉树的前序和后序序列正好相反,则该二叉树一定是的二叉树为(高度等于其结点数)。 40. 带头结点的单链表head为空的判断条件是(head->next==NULL)。41.栈和队列的主要区别在于(插入删 除运算的限定不一样) 42. 设高度为h的二叉树上只有度为0 和度为2的结点,则此类二叉树中所包 含的结点数至少为(2h-1 )。 43.在一个单链表中,若删除(*p)结点 的后继结点,则执行 (p->next=p->next->next)。 44.在一棵具有n个结点的二叉树中, 所有结点的空子树个数等于 (n+1 ) 45.若一棵二叉树有11个度为2的结 点,则该二叉树的叶结点的个数是 (12 )。 46. 对有n个记录的表按记录键值有序 建立二叉查找树,在这种情况下,其平 均查找长度的量级为(O(n) )。 47. 有向图中,以顶点v为终点的边的 数目,称为顶点v的(入度)。 48. 链栈和顺序栈相比,有一个较明显 的优点是(通常不会出现栈满的情况)。 49. 若频繁地对线性表进行插入和删 除操作,该线性表应该采用的存储结构 是(链式)。 50. 设一个栈的输入序列是 1,2,3, 4,5,则下列序列中,是栈的合法输出 序列的是(3 2 1 5 4)。 51.设森林F中有三棵树,第一、第二 和第三棵的结点个数分别为m1,m2和 m3,则森林F对应的二叉树根结点上的 右子树上结点个数是 ( m2+m3 )。 52. 有数据{53,30,37,12,45,24, 96},从空二叉树开始逐个插入数据来 形成二叉查找树,若希望高度最小,则 应选择下面输入序列是 ( 37,24,12,30,53,45,96)。 53.若要在O(1)的时间复杂度上实现 两个循环链表头尾相接,则应对两个循 环链表各设置一个指针,分别指向(各 自的尾结点 )。 54. 二叉树的第I层上最多含有结点数 为(2I )。 55.设高度为h的二叉树上只有度为0 和度为2的结点,则此类二叉树中所包 含的结点数至少为(2h-1 )。 56.如果T2是由有序树T转换而来的二 叉树,那么T中结点的先根序列就是T2 中结点的(先根序列)。 57. 用分划交换排序方法对包含有n个 关键的序列进行排序,最坏情况下执 行的时间杂度为(O(n2))。 58. 有n个叶子的哈夫曼树的结点总数 为(2n-1 )。 59. 稀疏矩阵一般采用的压缩存储方 法为(三元组表)。 60. 若二叉树中度为2的结点有15个, 度为1 的结点有10个,则叶子结点的 个数为(16 )。 61. 若某完全二叉树的深度为h,则该 完全二叉树中具有的结点数至少是(2h -1 )。 62. 任何一棵二叉树的叶结点在其先 根、中根、后根遍历序列中的相对位置 (肯定不发生变化)。 63.初始序列已经按键值有序时,用直 接插入算法进行排序,需要比较的次数 为( n-1)。 64. 对有n个记录的有序表采用二分查 找,其平均查找长度的量级为 (O(log2n))。 65用冒泡排序法对序列 {18,16,14,12,10,8}从小到大进行排 序,需要进行的比较次数是(15 )。 66在一个有向图中,所有顶点的出度之 和等于所有边数的倍数是( 1 )。 67.有n个顶点的图采用邻接矩阵表示, 则该矩阵的大小为(n*n )。 68.6个顶点的无向图成为一个连通图 至少应有边的条数是(5 )。 69. 对有14个数据元素的有序表R[14] 进行折半搜索,搜索到R[3]的关键码等 于给定值,此时元素比较顺序依次为 (R[6],R[4],R[2],R[3])。 70. 串是(任意有限个字符构成的序 列)。 71.个无向图中,所有顶点的度数之和 等于所有边数(1 )倍。 72.单链表表示的链式队列的队头在链 表的什么位置(链头)。 73. 一组记录的关键字为{45, 80, 55, 40, 42, 85},则利用堆排序的方法建 立的初始堆为(85, 80, 55, 40, 42, 45 )。 74. 对于一棵满二叉树,m个树叶,n 个结点,深度为h,则(n=2h+1-1) 75.某二叉树的前序和后序序列正好相 同,则该二叉树一定是什么样的二叉树 (空或只有一个结点)。 76.在一棵具有n个结点的二叉树中, 所有结点的空子树个数等于(n+1 )。 77. 若长度为n的线性表采用顺序存储 结构,在表的第i个位置插入一个数据 元素,需要移动表中元素的个数是 (n-i+1)。 78. 树中所有结点的度等于所有结点 数加(-1 )。 79.设二叉树根结点的层次为0,一棵高 度为h 的满二叉树中的结点个数是 (2h+1-1 )。 80. 将一棵有50个结点的完全二叉树 按层编号,则对编号为25的结点x,该 结点(有左孩子,无右孩子)。 81. 设有数组A[i,j],数组的每个元素 长度为3字节,i的值为1 到8 ,j的 值为1 到10,数组从内存首地址BA开 始顺序存放,当用以列为主存放时,元 素A[5,8]的存储首地址为 ( BA+180 )。 82.在一个具有n个顶点的完全无向图 的边数为 (n(n-1)/2 )。 83.设森林F中有三棵树,第一、第二 和第三棵的结点个数分别为m1,m2和 m3,则森林F对应的二叉树根结点上的 右子树上结点个数是 (m2+m3 )。 84.对于键值序列 {72,73,71,23,94,16,5,68,76,103}用 筛选法建堆,开始结点的键值必须为 (94 )。 85. 在图形结构中,每个结点的前驱结 点数和后续结点数可以有(任意多 个 )。 86.对有n个记录的有序表采用二分查 找,其平均查找长度的量级为 (O(log2n) )。 87. 用孩子兄弟链表表示一棵树,若要 找到结点x的第5个孩子,只要先找到 x的第一个孩子,然后(从兄弟域指针连 续扫描4个结点即可)。 88.有一个有序表为{1,3,9,12,32, 41,45,62,75,77,82,95,100}, 当二分查找值为82的结点时,查找成 功的比较次数是(4 )。. 89. 当初始序列已经按键值有序时,用 直接插入算法进行排序,需要比较的次 数为(n-1 )。 90.深度为h的满二叉树具有的结点个 数为(2h+1-1 )。 91. 二维数组A[5][6]的每个元素占5 个单元,将其按行优先顺序存储在起始 地址为3000的连续的内存单元中,则 元素A[4][5]的存储地址为(3145)。 92.一个具有n个顶点e条边的无向图 中,采用邻接表表示,则所有顶点的邻 接表的结点总数为(2e )。 93. 一个具有n个顶点的图采用邻接矩 阵表示,则该矩阵的大小为(n*n)。 94. 一个具有n个顶点e条边的无向图 中,采用邻接表表示,则所有顶点的邻 接表的结点总数为( 2e )。 95. 若要在O(1)的时间复杂度上实现 两个循环链表头尾相接,则应对两个循 环链表各设置一个指针,分别指向 ( 各自的尾结点)。 96.在一棵高度为h(假定树根结点的层 号为0)的完全二叉树中,所含结点个数 不小于(2h )。 97. 若待排序对象序列在排序前已按 其排序码递增顺序排序,则采用比较次 数最少的方法是(直接插入排序)。 98. 有n个叶子的哈夫曼树的结点总数 为(2n-1 )。 99.二分查找法要求查找表中各元素的 键值必须是(递增或递减 )。 100. 在对n个元素进行冒泡排序的过 程中,最好情况下的时间复杂性为 ( ()n )。 101.链栈和顺序栈相比,有一个较明显 的优点是(通常不会出现栈满的情 况 )。 102. 将长度为m的单链表连接在长度 为n的单链表之后的算法的时间复杂度 为(O(n) )。 103.若待排序对象序列在排序前已按 其排序码递增顺序排序,则采用(直接 插入排序)方法比较次数最少。 104. 若字符串“1234567”采用链式 存储,假设每个字符占用1个字节,每 个指针占用2个字节,则该字符串的存 储密度为(33.3﹪)。 105.用分划交换排序方法对包含有n个 关键的序列进行排序,最坏情况下执 行的时间杂度为(O(n2) )。 106. 若在一棵非空树中,某结点A有3 个兄弟结点(包括A自身),B是A的双 亲结点,则B的度为(3)。 107. 单链表中,增加头结点的目的是 为了(方便运算的实现)。 108. 深度为h的满二叉树所具有的结 点个数是(2h+1-1 )。 109.按照二叉树的定义,具有3个结点 的二叉树有多少种(5 )。 110. 设长度为n的链队列用单循环链 表表示,若只设头指针,则入队操作的 时间复杂度为(O(n) )。 111.树中所有结点的度等于所有结点 数加(-1 )。 112. 树中所有结点的度等于所有结点 数加( -1 ) 113. 设有三个元素X,Y,Z顺序进栈 (进的过程中允许出栈),下列得不到 的出栈排列是(ZXY )。 114. 用邻接表表示图进行深度优先遍 历时,通常采用的辅助存储结构是 (栈)。 115. 对有18个元素的有序表作二分 (折半)查找,则查找A 3的比较序列 的下标为(9、4、2、3)。 116. 在含n个顶点e条边的无向图的 邻接矩阵中,零元素的个数为 ( n2-2e)。 117. 树形结构的特点是:一个结点可 以有 ( 多个直接后继)。 118. 使具有30个顶点的无向图成为一 个连通图至少应有边的条数是(29)。 119. 按照二叉树的定义,具有3个结点 的二叉树具有的种类为(5 )。 120. 使具有9个顶点的无向图成为一 个连通图至少应有边的条数是(8 )。 121. 在顺序表(n足够大)中进行顺序 查找,其查找不成功的平均长度是 (n+1 )。 122. 设树T的度为4,其中度为1,2, 3和4的结点个数分别为4,2,1,1 则 T中的叶子数为( 8 )。 123. 栈的插入和删除操作进行的位置 在(栈顶)。 124. 某二叉树的前序和后序序列正好 相同,则该二叉树一定是的二叉树为 (空或只有一个结点)。 125. 链栈和顺序栈相比,有一个较明 显的优点是(通常不会出现栈满的情 况)。 126. 对稀疏矩阵进行压缩存储是为了 (节省存储空间)。 127. 结点前序为xyz的不同二叉树, 所具有的不同形态为(5 )。 128. 若一棵二叉树具有20个度为2的 结点,6个度为1的结点,则度为0的 结点个数是(21 )。 129. 一棵线索二叉树的线索个数比链 接个数多( 2 )个。 1. 若一棵二叉树有10个叶结点,则该 二叉树中度为2的结点个数为9。 2.在有序表(12,24,36,48,60,72,84) 中二分查找关键字72时所需进行的关 键字比较次数为2。 3.对于一棵二叉树,设叶子结点数为n0, 次数为2的结点数为n2,则n0和n2的 关系是n0= n2+1。 4. 在循环链表中,从任何一结点出发 都能访问到表中的所有结点。 5. 普里姆(Prim)算法适用于边稠密 图。 6.深度为h且有2k-1个结点的二叉树 称为满二叉树。(设根结点处在第1层)。 7.图的深度优先搜索方法类似于二叉 树的先序遍历。 8.哈夫曼树是带权路径长度最小的二 叉树。 9. 二叉树的存储结构有顺序存储结构 和链式存储结构。 10. 哈夫曼树是带权路径长度最小的 二叉树。 11.一般树的存储结构有双亲表示法、 孩子兄弟表示法和孩子链表表示法。 12. 将数据元素 2,4,6,8,10,12,14,16,18,20依次存于 一个一维数组中,然后采用折半查找元 素12,被比较过的数组元素的下标依次 为5,7,6 。。 13. 图的深度优先遍历序列不是唯一 的。 14. 下面程序段的时间复杂度是 O (mn)。 for (int i=1;i<=n;i++) for (int j=1;j<=m;j++) a[i][j]=0; 16. 图的遍历是指从图中某一顶点出 发访问图中全部顶点且使每一顶点仅 被访问一次。 17. 在一个图中,所有顶点的度数之和 等于所有边的数目的2倍。 18. 由一棵二叉树的后序序列和中序 序列可唯一确定这棵二叉树。 19. 在有序表(12,24,36,48,60,72,84) 中二分查找关键字72时所需进行的关 键字比较次数为2。 20. 若二叉树的一个叶子结点是某子 树的中根遍历序列中的第一个结点,则 它必是该子树的后跟遍历中的第一个 结点。 21.在直接插入排序、直接选择排序、 分划交换排序、堆排序中稳定的排序方 法有直接插入排序。 22.具有100个结点的完全二叉树的叶 子结点数为50。 23.普里姆(Prim)算法适用于边稠密 图。 24. 在n个结点的顺序表中插入一个结 点需平均移动 n/2 个结点。 25.将一棵树转换成一棵二叉树后,二 叉树根结点没有右子树。 26循环队列的引入,目的是为了克服 假溢出。 27.若连通网络上各边的权值均不相 同,则该图的最小生成树有1棵。 28.在有序表(12,24,36,48,60,72,84) 中二分查找关键字72时所需进行的关 键字比较次数为2 。 29.栈和队列的共同特点是插入和删除 均在端点处进行。 30. 二叉树的遍历方式有三种:先序遍 历、中序遍历、后序遍历。 31. 若连通图的顶点个数为n,则该图 的生成树的边数为n-1。 32.图的存储结构最常用的有邻接矩阵 和邻接表。 33. 若一棵二叉树有15个叶结点,则 该二叉树中度为2的结的点个数为14。 34.队列中允许进行插入的一端称为队 尾。 35.拓扑排序输出的顶点数小于有向图 的顶点数,则该图一定存在环。 36.在有序表(15,23,24,45,48,62,85) 中二分查找关键词23时所需进行的关 键词比较次数为2。 37. 则高度为k的二叉树具有的结点数 目,最少为k,最多为2k-1。 38. 若连通网络上各边的权值均不相 同,则该图的最小生成树有1棵。 39. 一个栈的输入序列是:1,2,3则 不可能的栈输出序列是3 1 2。 40. 设有一个顺序栈S,元素S1,S2, S3,S4,S5,S6依次进栈,如果6个元 素的出栈顺序为S2,S3,S4,S6,S5, S1,则顺序栈的容量至少应为 3 。 41. 对于一棵二叉树,设叶子结点数为 n0,次数为2的结点数为n2,则n0和n2 的关系是 n0= n2+1 。 42. 设某二叉树的后序遍历序列为 ABKCBPM,则可知该二叉树的根为 M 。 43. 数据结构的三个方面:数据的 逻辑结构、物理结构、运算。 44. 每个结点只有一个链接域的 链表叫做单链表。 45. 设无向图G的顶点数为n,则要使 G连通最少有 n-1条边。 46. 组成串的数据元素只能是字符。 47.图的存储结构最常用的有邻接表 和邻接矩阵。 48. 由一棵二叉树的后序序列和中序 序列可唯一确定这棵二叉树。 49. 队列中允许进行插入的一端称为 队尾。 1.对于一个队列,如果输入项序列由 1,2,3,4所组成,试给出全部可能的输 出序列。 答:1,2,3,4。 2. 已知一棵二叉树的中序和前序序列 如下,求该二叉树的后序序列。 中序序列:c,b,d,e,a,g,i,h, j,f 前序序列:a,b,c,d,e,f,g,h, i,j 答:该二叉树的后序序列为: c,e,d,b,i,j,h,g,f,a 3. 为什么说树是一种非线性结构? 答:树中的每个结点除了根结点外,其 余每个结点有一个直接前驱,但有多个 直接后继,所以说树是一种非线性结 构。 4.将算术表达式a+b*(c+d/e)转为后 缀表达式。 答: B.abcde/+*+ 5. 找出所有这样的二叉树形,其结点 在先根次序遍历和中根次序遍历下的 排列是一样的。 答:为空树,或为任一结点至多只有 右子树的二叉树。 8.有 n 个顶点的无向连通图至少有 多少条边?有 n 个顶点的有向连通 图至少有多少条边? 答:有 n 个顶点的无向连通图至少有 n-1条边,有 n 个顶点的有向连通图 至少有n条边。 9.下面列举的是常用的排序方法:直 接插入排序,起泡排序,快速排序,直 接选择排序,堆排序,归并排序。试问, 哪些排序方法是稳定的? 答:起泡排序, 直接插入排序,归并排 序是稳定的。 10. 完全二叉树用什么数据结构实现 最合适,为什么? 答:完全二叉树用一维数组实现最合 适。因为完全二叉树保存在一维数组中 时,数组内没有空洞,不存在空间浪费 问题;另外,顺序存储方式下,父子结 点之间的关系可用公式描述,即已知父 (或子)结点寻找子(或父)结点只需 计算一个公式,访问结点方便。但采用 链表存储时就存在空间浪费问题,因为 每个结点要另外保存两个链接域,并且 寻找结点也不容易。 11.线性表有两种存储结构:一是顺序 表,二是链表。试问:如果有 n个线性 表同时并存,并且在处理过程中各表的 长度会动态变化,线性表的总数也会自 动地改变。在此情况下,应选用哪种存 储结构?为什么? 答:选链式存储结构。它可动态申请内 存空间,不受表长度(即表中元素个数) 的影响,插入、删除时间复杂度为O(1)。 12.试述顺序存储和链式存储的区别及 各自的优缺点。 答:数组占用连续的内存空间,链表不 要求结点的空间连续。 1)插入与删除操作:由于数组在插入 与删除数据时需移动大量的数据元素, 而链表只需要改变一些指针的链接,因 此,链表比数组易于实现数据的插入和 删除操作。 2)内存空间的占用情况:因链表多了 一个指针域,故较浪费空间,因此,在 空间占用方面,数组优于链表。 3)数据的存取操作:访问链表中的结 点必须从表头开始,是顺序的存取方 式,而数组元素的访问是通过数组下标 来实现的,是随机存取方式,因此,在 数据存取方面,数组优于链表。 数据的合并与分离:链表优于数组,因 为只需要改变指针的指向 13. 将表达式 ((a+b)-c*(d+e)-f)*(g+h)改写成后缀 表达式。 答:后缀表达式为:ab+cde+*-f-gh+* 19.写出中缀表达式A-(B+C/D)*E的后 缀形式。 答:中缀表达式A-(B+C/D)*E的后缀形 式是:ABCD/+E*-。 20.为什么用二叉树表示一般树? 答:树的最直观表示是为树中结点设置 指向子结点的指针域,对k叉树而言, 每个结点除data域外,还有k个链接 域。这样,对一个有n个结点的k叉树 来说,共有n*k个指针域,其中n-1个 不空,另外n(k-1)+1个指针域为空, 因此,空链接域的比例约为(k-1)/k , 于是导致大量的空间浪费。然而,如果 采用二叉树表示一棵n个结点的树,则 树中共有2n个链接域,其中未用到的 有n+1个,占所有指针域的比例约为 1/2,空间浪费少很多。 另外,因为任何树型结构都可 以转换成二叉树,因此,通常用二叉树 表示树型结构。 21.已知数据序列为 12,5,9,20,6,31,24,对该数据序列进 行排序,试写出冒泡排序每趟的结果。 答:初始键值序列12 5 9 20 6 31 24 第一趟排序 [5 9 12 6 20 24] 31 第二趟排序 [5 9 6 12 20] 24 31 第三趟排序 [5 9 6 12] 20 24 31 第四趟排序 5 6 9 12 20 24 31 22.试找出前序序列和中序序列相同的 所有二叉树。 解答:空树或缺左子树的单支树。 23.完全二叉树用什么数据结构实现最 合适,为什么? 答:完全二叉树用一维数组实现最合 适。因为完全二叉树保存在一维数组中 时,数组内没有空洞,不存在空间浪费 问题;另外,顺序存储方式下,父子结 点之间的关系可用公式描述,即已知父 (或子)结点寻找子(或父)结点只需 计算一个公式,访问结点方便。但采用 链表存储时就存在空间浪费问题,因为 每个结点要另外保存两个链接域,并且 寻找结点也不容易。 26.我们已经知道,树的先根序列与其 对应的二叉树的先根序列相同,树的后 根序列与其对应的二叉树的中根序列 相同。那么利用树的先根遍历次序与后 根遍历次序,能否唯一确定一棵树?请 说明理由。 答:能。因为树的先根序列与其对应的 二叉树的先根序列相同,树的后根序列 与其对应的二叉树的中根序列相同,而 二叉树的先根序列与二叉树的中根序 列能唯一确定一棵二叉树,所以利用树 的先根遍历次序与后根遍历次序,能唯 一确定一棵树。 28.已知一棵二叉树的中序和前序序列 如下,求该二叉树的后序序列。 中序序列:c,b,d,e,a,g,i,h, j,f 前序序列:a,b,c,d,e,f,g,h, i,j 答:该二叉树的后序序列为: c,e,d,b,i,j,h,g,f,a 29.对半查找是否适合于以链接结构 组织的表? 答:对半查找不适合于以链接结构组织 的表。。 30. 请指出中序遍历二叉查找树的结 点可以得到什么样的结点序列。 答:中序遍历二叉查找树的结点就可以 得到从小到大排序的结点序列。 31.已知数据序列为 12,5,9,20,6,31,24,对该数据序列进 行排序,试写出归并排序每趟的结果。 解答: 初始键值序列12 5 9 20 6 31 24 第一趟排序 [5 12] [9 20] [6 31] [24] 第二趟排序 [5 9 12 20] [6 24 31] 第三趟排序 5 6 9 12 20 24 31() 37.一组记录的关键字为(52, 56, 26, 12, 69, 85, 33, 48, 70),给出快速 排序的过程。 解答:解:52, 56, 26, 12, 69, 85, 33, 48, 70 第一趟排序 33, 48, 26, 12, 52, 85, 69, 56, 70 第二趟排序 26, 12, 33, 48, 52, 69, 56, 70, 85 第三趟排序 12, 26, 33, 48, 52, 56, 70, 69, 85 第四趟排序 12, 26, 33, 48, 52, 56, 70, 69, 85 第五趟排序 12, 26, 33, 48, 52, 56, 70, 69, 85 38.下面列举的是常用的排序方法:直 接插入排序,起泡排序,快速排序,直 1

应县木塔之结构定性分析

应县木塔之结构定性分析 结22班江中华 2002010385 一、 背景知识 山西应县木塔建于公元 1056 年、现高为 65.86 米、塔底直径以木柱外接圆计算为33.15 米,平面呈八角形,有明层五层及明层间设平座层(暗层)四层,实际上是九层高耸木结构建筑。塔身全部用木材建造,各层均设内外两槽。在各层内外槽均有 8 个弦面,以柱、柱间叠枋和斗拱形成弦向平面构架,在角柱处交汇。在内外槽的径向,以内柱、外柱和梁栿及斗拱组成空间构架,内槽内供奉佛像,外檐柱内为游人空间。它是我国保存完好的年代最早的木塔,也是世界上现存的唯一木结构楼阁式宝塔。1961 年国务院将其公布为全国重点文物保护单位。 右图就是应县木塔的实体照片,可以看出 有以下建筑特点: 二层以上各层均以斗拱挑出平座并设置栏 杆供人登临凭栏远眺,塔身逐层向内递收,上 部高达十余米的相轮铁刹耸立,造型优美,轮 廓线变化富于韵律感,塔身雄壮巍峨,挺拔向 上,稳如泰山,正如古人赋诗赞曰: 远观擎天柱,近似百尺莲。 二、塔的结构定性分析 中国的塔不在少数,但是能够流传上千年 而依旧巍然挺立的并不多,而像应县木塔这样 有特色的更是寥寥无几,真可谓前无古人后无 来者了。要想知道为什么唯独此塔能够经历住 千百年的风雨侵蚀、地震、雷电、兵事而不倒,这里面的确有不少偶然的因素在里面,但更多的是反映了事物必然性的原理,因此不可不从其内部结构去进行探究。 塔属于高耸建筑物,对于高耸建筑物常常需要以下问题得到解决方能流芳百世: z沉降; z结构抗震; z抗水平荷载的能力。 下面分别对塔的这些问题一一进行探究。 1.沉降 对于高耸建筑物,沉降是个比较敏感的话题,因为它上部荷载大,截面小,对地基的承载力要求就高,为了防止出现沉降差,对地基土的均匀性要求也高。著名的比萨斜塔之所以会在尚未建完时就明显的有大倾斜,就是地基土承载力不够,最关键的是承载力不均匀。 现代也有不少大型或高层建筑发生整体变形或大规模损坏,大多由于地基选择、处理不当或基础达不到设计施工需求,导致地基或基础失效,从而发生不均匀沉陷、变形而造成,应该让我们引以为戒。 要控制建筑物的沉降,要么提高地基土的承载力,要么减轻结构本身的自重。对于应县木塔而言,前辈建筑师们既对地基做了适当的处理,如用灰土夯实作为垫层,同时在减轻结

数据结构与算法分析习题与参考答案

大学 《数据结构与算法分析》课程 习题及参考答案 模拟试卷一 一、单选题(每题 2 分,共20分) 1.以下数据结构中哪一个是线性结构?( ) A. 有向图 B. 队列 C. 线索二叉树 D. B树 2.在一个单链表HL中,若要在当前由指针p指向的结点后面插入一个由q指向的结点, 则执行如下( )语句序列。 A. p=q; p->next=q; B. p->next=q; q->next=p; C. p->next=q->next; p=q; D. q->next=p->next; p->next=q; 3.以下哪一个不是队列的基本运算?() A. 在队列第i个元素之后插入一个元素 B. 从队头删除一个元素 C. 判断一个队列是否为空 D.读取队头元素的值 4.字符A、B、C依次进入一个栈,按出栈的先后顺序组成不同的字符串,至多可以组成( ) 个不同的字符串? A.14 B.5 C.6 D.8 5.由权值分别为3,8,6,2的叶子生成一棵哈夫曼树,它的带权路径长度为( )。 以下6-8题基于图1。 6.该二叉树结点的前序遍历的序列为( )。 A.E、G、F、A、C、D、B B.E、A、G、C、F、B、D C.E、A、C、B、D、G、F D.E、G、A、C、D、F、B 7.该二叉树结点的中序遍历的序列为( )。 A. A、B、C、D、E、G、F B. E、A、G、C、F、B、D C. E、A、C、B、D、G、F E.B、D、C、A、F、G、E 8.该二叉树的按层遍历的序列为( )。

A.E、G、F、A、C、D、B B. E、A、C、B、D、G、F C. E、A、G、C、F、B、D D. E、G、A、C、D、F、B 9.下面关于图的存储的叙述中正确的是( )。 A.用邻接表法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关 B.用邻接表法存储图,占用的存储空间大小与图中边数和结点个数都有关 C. 用邻接矩阵法存储图,占用的存储空间大小与图中结点个数和边数都有关 D.用邻接矩阵法存储图,占用的存储空间大小只与图中边数有关,而与结点个数无关 10.设有关键码序列(q,g,m,z,a,n,p,x,h),下面哪一个序列是从上述序列出发建 堆的结果?( ) A. a,g,h,m,n,p,q,x,z B. a,g,m,h,q,n,p,x,z C. g,m,q,a,n,p,x,h,z D. h,g,m,p,a,n,q,x,z 二、填空题(每空1分,共26分) 1.数据的物理结构被分为_________、________、__________和___________四种。 2.对于一个长度为n的顺序存储的线性表,在表头插入元素的时间复杂度为_________, 在表尾插入元素的时间复杂度为____________。 3.向一个由HS指向的链栈中插入一个结点时p时,需要执行的操作是________________; 删除一个结点时,需要执行的操作是______________________________(假设栈不空而 且无需回收被删除结点)。 4.对于一棵具有n个结点的二叉树,一个结点的编号为i(1≤i≤n),若它有左孩子则左 孩子结点的编号为________,若它有右孩子,则右孩子结点的编号为________,若它有 双亲,则双亲结点的编号为________。 5.当向一个大根堆插入一个具有最大值的元素时,需要逐层_________调整,直到被调整 到____________位置为止。 6.以二分查找方法从长度为10的有序表中查找一个元素时,平均查找长度为________。 7.表示图的三种常用的存储结构为_____________、____________和_______________。 8.对于线性表(70,34,55,23,65,41,20)进行散列存储时,若选用H(K)=K %7 作为散列函数,则散列地址为0的元素有________个,散列地址为6的有_______个。 9.在归并排序中,进行每趟归并的时间复杂度为______,整个排序过程的时间复杂度为 ____________,空间复杂度为___________。 10.在一棵m阶B_树上,每个非树根结点的关键字数目最少为________个,最多为________ 个,其子树数目最少为________,最多为________。 三、运算题(每题 6 分,共24分) 1.写出下列中缀表达式的后缀形式: (1)3X/(Y-2)+1 (2)2+X*(Y+3) 2.试对图2中的二叉树画出其: (1)顺序存储表示的示意图; (2)二叉链表存储表示的示意图。 3.判断以下序列是否是小根堆? 如果不是, 将它调 图2 整为小根堆。 (1){ 12, 70, 33, 65, 24, 56, 48, 92, 86, 33 } (2){ 05, 23, 20, 28, 40, 38, 29, 61, 35, 76, 47, 100 } 4.已知一个图的顶点集V和边集E分别为: V={1,2,3,4,5,6,7};

定性结构力学课程总结

定性结构力学课程总结 结13,吴文献,2001010169 这学期选修了袁老师的定性结构力学这门课,觉得很有收获。 首先,对定性结构力学有了一定的了解,建立的定性分析的概念。我认为所谓的定性结构力学,就是结构力学中的计算部分相对而言的,是从分析的角度出发,根据已有的知识和结论,把握一个问题的关键所在,有时可以做到不用任何计算就可以给出问题正确而简便的解答。无论是从结构力学的产生和发展过程还是从解决问题的角度来看,定性分析都是不可或缺的一个环节,甚至可以说它比具体的计算重要的多。每当遇见一个问题,我们不应该急着去用一些公式去计算、求解,而是应该先对其进行定性分析,充分的把握问题的本质,可以达到事半功倍的效果。 其次,对结构力学的一些内容和重要原理有了更加深入的认识。结构力学中的很多东西原来认识的不够到位或者太肤浅,听了袁教授的课后,这些方面得到了加强。如平衡的概念,在学习结构力学的过程中,理解的深度不够,仅限于列出X、Y方向上力的和弯矩的方程,根据方程判断是否平衡。上了袁老师的课,经袁老师的一再强调,知道了还可以有动平衡的概念,给结构一定的虚位移,若各个力(弯矩)在虚位移上做的功相等即可得出原结构是平衡的。如在课上曾举过的下面的例子就是很好的用虚位移判别平衡的例子。其他还有很多概念,如约束、对称、极限等都是一再强调其重要性。 再次,对结构力学求解器的原理和功能有了更多的了解。“把繁琐交给求解器,我们留下创造力”这是编制结构力学求解器的目的,而结构力学求解器也确确实实的达到了原来的目的。袁老师用了相当多的时间介绍求解器的求解功能,并初步介绍了程序结构力学的基本原理和实现办法。这学期在课后作业中也多次的应用求解器求解一些问题,包括框架结构的位移内力分析和结构的动力特性分析,而在课程设计等其他相关课程中,也一再应用求解器帮助我们解决计算问题。总的感觉求解器的功能是相当强大的,一定有广阔的前景,同时也使自己对程序结构力学有了一定的兴趣。 最后,对定性分析有一些感想。从一定角度上看,定性分析可以提升到别的高度。无论是生活,还是学习、工作,有很多可以运用“定性分析”原理的地方。无论进行什么样的工作,都应该在冷静、全面、正确的“定性分析”,充分的了解事情的本质后才采取行动,进行“求解”,可以避免不必要的错误,提高效率。

(完整版)机械原理知识点归纳总结

第一章绪论 基本概念:机器、机构、机械、零件、构件、机架、原动件和从动件。 第二章平面机构的结构分析 机构运动简图的绘制、运动链成为机构的条件和机构的组成原理是本章学习的重点。 1. 机构运动简图的绘制 机构运动简图的绘制是本章的重点,也是一个难点。 为保证机构运动简图与实际机械有完全相同的结构和运动特性,对绘制好的简图需进一步检查与核对(运动副的性质和数目来检查)。 2. 运动链成为机构的条件 判断所设计的运动链能否成为机构,是本章的重点。 运动链成为机构的条件是:原动件数目等于运动链的自由度数目。 机构自由度的计算错误会导致对机构运动的可能性和确定性的错误判断,从而影响机械设计工作的正常进行。 机构自由度计算是本章学习的重点。 准确识别复合铰链、局部自由度和虚约束,并做出正确处理。 (1) 复合铰链 复合铰链是指两个以上的构件在同一处以转动副相联接时组成的运动副。 正确处理方法:k个在同一处形成复合铰链的构件,其转动副的数目应为(k-1)个。 (2) 局部自由度 局部自由度是机构中某些构件所具有的并不影响其他构件的运动的自由度。局部自由度常发生在为减小高副磨损而增加的滚子处。 正确处理方法:从机构自由度计算公式中将局部自由度减去,也可以将滚子及与滚子相连的构件固结为一体,预先将滚子除去不计,然后再利用公式计算自由度。 (3) 虚约束 虚约束是机构中所存在的不产生实际约束效果的重复约束。 正确处理方法:计算自由度时,首先将引入虚约束的构件及其运动副除去不计,然后用自由度公式进行计算。 虚约束都是在一定的几何条件下出现的,这些几何条件有些是暗含的,有些则是明确给定的。对于暗含的几何条件,需通过直观判断来识别虚约束;对于明确给定的几何条件,则需通过严格的几何证明才能识别。 3. 机构的组成原理与结构分析 机构的组成过程和机构的结构分析过程正好相反,前者是研究如何将若干个自由度为零的基本杆组依次联接到原动件和机架上,以组成新的机构,它为设计者进行机构创新设计提供了一条途径;后者是研究如何将现有机构依次拆成基本杆组、原动件及机架,以便对机构进行结构分类。 第三章平面机构的运动分析 1.基本概念:速度瞬心、绝对速度瞬心和相对速度瞬心(数目、位置的确定),以及“三心定理”。 2.瞬心法在简单机构运动分析上的应用。 3.同一构件上两点的速度之间及加速度之间矢量方程式、组成移动副两平面运动构件在瞬时重合点上速度之间和加速度的矢量方程式,在什么条件下,可用相对运动图解法求解? 4.“速度影像”和“加速度影像”的应用条件。 5.构件的角速度和角加速度的大小和方向的确定以及构件上某点法向加速度的大小和方向的确定。 6.哥氏加速度出现的条件、大小的计算和方向的确定。 第四章平面机构的力分析 1.基本概念:“静力分析”、“动力分析”及“动态静力分析” 、“平衡力”或“平衡力矩”、“摩擦角”、“摩擦锥”、“当量摩擦系数”和“当量摩擦角”(引入的意义)、“摩擦圆”。 2.各种构件的惯性力的确定: ①作平面移动的构件; ②绕通过质心轴转动的构件;

数据结构与算法分析 C++版答案

Data Structures and Algorithm 习题答案 Preface ii 1 Data Structures and Algorithms 1 2 Mathematical Preliminaries 5 3 Algorithm Analysis 17 4 Lists, Stacks, and Queues 23 5 Binary Trees 32 6 General Trees 40 7 Internal Sorting 46 8 File Processing and External Sorting 54 9Searching 58 10 Indexing 64 11 Graphs 69 12 Lists and Arrays Revisited 76 13 Advanced Tree Structures 82 i

ii Contents 14 Analysis Techniques 88 15 Limits to Computation 94

Preface Contained herein are the solutions to all exercises from the textbook A Practical Introduction to Data Structures and Algorithm Analysis, 2nd edition. For most of the problems requiring an algorithm I have given actual code. In a few cases I have presented pseudocode. Please be aware that the code presented in this manual has not actually been compiled and tested. While I believe the algorithms to be essentially correct, there may be errors in syntax as well as semantics. Most importantly, these solutions provide a guide to the instructor as to the intended answer, rather than usable programs.

数据结构实验 密码的原理与实现

电气信息学院 实验报告书 课程名称数据结构 实验项目密码的原理与实现 专业班组通信202班 实验时间 2016.12.12 成绩评定 评阅老师 报告撰写人:学号: 电气信息学院专业中心实验室

一、实验内容 利用Visual C++设计合理的凯撒密码,对一段英文段落进行加密处理。以每个人学号的最后两位为key。 英文段落如下: I am Wang Yanling,a student from Sichuan University.Now I major in telecommunication engineering.I am nineteen years old and my family live in Sichuan province.It is the second year of my colleage and I am fighting for my future.I also enjoy playing games,listening to some beautiful music and going out for a date with my friends.How wonderful it is. 二、算法流程图 三、详细设计 源程序: #include #include #include char encrypt(char ch,int n)/*加密函数,把字符向右循环移位n*/

{ while(ch>='A'&&ch<='Z') { return ('A'+(ch-'A'+n)%26); } while(ch>='a'&&ch<='z') { return ('a'+(ch-'a'+n)%26); } return ch; } void menu()/*菜单,1.加密,2.解密,3.退出*/ { printf("\n----------------------"); printf("\n1.Encrypt the file"); printf("\n2.Decrypt the file"); printf("\n3.Quit\n"); printf("------------------------\n"); printf("Please select a item:"); return; } main() { int i,n; char ch0,ch1; FILE *in,*out; char infile[20],outfile[20]; menu(); ch0=getch(); while(ch0!='3') { if(ch0=='1') { printf("\nPlease input the infile:"); scanf("%s",infile);/*输入需要加密的文件名*/ if((in=fopen(infile,"r"))==NULL) { printf("Can not open the infile!\n"); printf("Press any key to exit!\n"); getch(); exit(0); } printf("Please input the key:"); scanf("%d",&n);/*输入加密密码*/

相关文档
相关文档 最新文档