• 沒有找到結果。

9.证 明正文中两种失配函数的定义t价 。

在文檔中 数据结构基础 (頁 95-98)

冫 符 character。 string屮

character,鼓 str⊥ nq。

4,编 t了 strp。 s△ ,参 str土 ng和 charac匕 er。

,即

str土 ng中

character的 。 如 character不 str土 ng中 ,返 -1。

应 调川 str土ng.hL⒈ JF向s匕rp。 函数,虽 然它 不楚 A∶NSI C的 标准 函数,可 楚仃些 C讠手丨l`^

库捉供这 个函数。

5.编 tJ函 数 strchr△ ,完 成 Ij上 题 strp○ △丬‖{1的 功 能 ,不 过返 「Π值 足指 向 string屮

character第

。 劫 l宋 character不 str土 ng屮 ,返 Fl NuLL。

6.修 改稆序 2.12,不 川临时变 鞋 temp。 分析新稆序时间复杂度并与原不V序 相 比。

7.证 明 n£土nd的 计算时间足 O(彳彳),″ 足主中 κ度,昭 足模式 串 K度 。川具体的主申、模 式 中加 以说 明。

8,计 算 卜列模式 申的失配函数 :

(a) rInrI砑

(b) 日乙伢抄日伢

(C) 伢 D日 伢乙砑砑抄

9.证 明正文中两种失配函数的定义t价 。

§ 2。 8 参 考 文献和选读材 料

[11I.H.Morris D。 E.Knuth and V R。 Pratt。 Fast pattern matching h strings,SrAM Jo伢 /P,`J

c,rT Co〃 `oJfJ彳 g'6(2)∶ 3⒛ -350'1977,KNIP箅 原 始 文 献

[2]C.L0SersOn T.Cormen and R。 Fuvest.r刀 rr0'〃 cF汩 彳 fo A愆 orjfJI,P,s。 McGraw-Hill`New

York'N、 zO02.除 KNIP算 ,还 其 它 串 匹

78 第 2章 数组和结构

§2.9 补 充 习题

给定数细 伢kl,生 成数细 zkl,使 zlOl=砑 u— 11`z卜l=伢 I″一钊'…・'zk一 丬 =四 I11' Zk-11=伢 lOl。要求仅川最少鞋存储空间。

昭×彳矩阵的鞍点定义为 四H"既 足第 扌行的最小值义足第 丿行的最人值。编写函数找 出工维矩阵的鞍点。指出函数的计算时问。

下面的习题从习题 3到 习题 8探 讨各种矩阵表示,常 用于自然科学领域。

三角阵足主对角线 以上或以 卜矩阵尢紊仝为零的 △维矩阵,图 2.12中 仃一个 卜二角阵 和一个上二角阵。对 彳行的 卜二角阵,第 j彳Ⅰ∷{卜零元紊的最人列 号足 J+1,冈 此矩阵中

图 2.12卜^工

角阵和 上工角阵

'=∑ (J+1)=彳 (″ +1)/2・

`=0

川工维数细存储这样的 卜Ⅰ角阵浪费很多空闸,如 呆川 ・维数细存储 lr苓元素Ι刂以 i1 省人鞋空问。卜ˉ

∶工角阵 伢可以按行存储在 -维数细 Dp∶ 77(彳+1)/2— 11屮 ,夕p]lOl元 素 对应 Dpl,指 丨l丨`Ⅱ元紊在 抄中的位置。

令日'乙足两个 ″行的 卜工角阵,两 个矩阵共仃 i卜零尢 ″(″+1)个 。川知I阵 'p∶ ″~11p∶

冫71存 储 日'抄两个矩阵,给 出实现细 {1。(捉刂t:四 可以川 '的 卜工角表示,乙 的转置阵可 以用 丿的上工角表示。)编 稆实现在 丿中存取 砑H凵 '乙H凵 '0兰 j'丿(″ 。

三对角阵足除主对角线及其相邻上 卜两条对角线之外都足零元的方阵,见 图 2.13(a)。二 条对角线中f沟元素可以按行存储在一维数纠l汐中,伢lOllOl对应l抄lOl。编稆实现在 D中 存 取 夕H凵 '0兰 扌'∫(彳 °

带型方阵 D″'足 ″×″f内矩阵,什 型Ⅸ域足主对角线及其相邻上 卜的 伢-1条 对角线, 带型区域之外都是零元素,见 图 2.13lb)(c)。

(al D″'的 带型「×域屮共有多少元素?

(b)写 出 D″、、带型区域中元素 吻 的 卜标 讠丿之间的关系表达式。

3.

4.

5,

6.

§2.9补 充 习题 79

m)△ 对 角M

fci)丿′

义带 型 方M

}图2.13牛I种 力^阝 午

(c)把 D彳〃的对角线顺序 存储 在数细 乙屮,″`歧 卜-条对角线 丌攻f}。例劫l,图 2.13(a) D逛`3|j乙 F向对丿“`足 :

bpl 抄 I11 乙I钊 乙 β] D⒕ l 抄I51 抄⒗| 乙丨丬 乙 B| Dpl 乙 [101 抄I111 乙[121 乙I131

978366028749 84

'20 '31 '10 '21 〃 32 ci00 '11 '22 〃 33 '01 〃 12 ti23 tiO2 丿 13

写出 D″`、中 卜半带Ⅱ刂「×^域

中 〃`丿伯:h屮 的位苴公式 (劫丨卜例屮 〃10的 位 置赴2)。

广义带型方阵 D″`伢、b足 ″×彳的矢[∶阵,带 丿Ⅰ刂「×域包栝}×、j角 线及 Jt卜 n勹`-1条 对角线 和其上的 抄-1条 对角线 ,带 Ⅱ刂「×域之外都足岑元素,见 图 2,13ld)。

(a)D刀 `夕`汐的带′l刂|×域 中共苻 多少元素?

(b)写 出 D竹、伢`D带’Ⅰ刂区域 中元素 dJl的 卜标 J'丿之 问的关系表达式 。

(c)给 D刀

`伢 `汐 R域

卩 表 n勺 。 编 va1ue(n`a`b`i`j`e)取

D彳`伢`乙中元 素 dtl的 值 ,e足 存储 D″、、ヵ带 Ⅱ丿区域 数据 的一维数纤丨。

复数矩 阵 X的 元素 足工元细 (x'y),γ 'y楚 实数。编写函数实现 lIlxl个复数矩阵本H乘 。

定 矩 ((伢 丿乙 >)/″ ×″'((''召 >)刀 ×`'

<伢 '乙 >・ ('`召 )=(伢 +j乙 )・ ('+佗 )=(伢 丿一 抄`)+∫ (日:+乙 '),

若两个矩阵的维数都楚 ″×″,指 出运算所需加法 、乘法 的次数 。

0

0

7,

8.

(b)带 犁 方竹:D4、3

80 第 2章 数组和结构

在文檔中 数据结构基础 (頁 95-98)

相關文件