数据结构教材勘误表

合集下载

教材勘误表

教材勘误表

勘误表1.P.13,倒第9行,将“左”字改这“右”字。

倒第10行,将“右”字改为“左”字,将“左字改为“右”字。

2.P.14,表1-1在Form1与Label1之间加横线。

3.P.15,第五行改为“Text2.Text=”””。

4.P.24,倒第14行,将“WindowsState”改为“WindowState”。

5.P.26,倒第10行,名尾加冒号。

6.P.36,倒第9行,句中一对全角双引号改成半角双引号。

7.P.41,将“图”字改为“表”字,在“所示”后加“,”。

8.P.43,第9行,将“WindowsState”改为“WindowState”。

9.P.55,倒第20行,改为“Area=3.14*Radius*Radius”10.P.56,倒第7行,将“-298.66”改为“-298.67”。

11.P.57,第1行,将(B)”女”后的小于号改成大于号。

12.P.68,倒第3行,除去语句中间的“Tab(40);”。

13.P.69,倒第13行,将句中的“10”改成“11”。

倒12行“全角字符”前加“为”字。

14.P.73,第4行,改成“Area=3.14*Radius_out*Radius_out-3.14* Radius_in* Radius_in”15.P.75,删除倒第11行至倒第16行。

16.P.76,第18行,第19行中的“;”改为半角的“;”。

17.P.78,倒第6行,答案改为“10+20=030.00”18.P.86,第19行,在“多个”和“变量”之间加“分离的”。

第27行删除“,同时Case X*Y>0也是错误的”。

19.P91,第4行,改成“If x+y>z And x+z>y And y+z>x Then”20.P.96,倒第10行。

改为“Sub Command2_Click()”21.P.100,第3行的句尾加冒号。

22.P.106,第12行的句尾加冒号。

数据结构(C语言版)(第2版)谌误表

数据结构(C语言版)(第2版)谌误表

数据结构(C语言版)(第2版)谌误表(ISBN 978-7-115-20703-6)(2010-1-10)黑色、蓝色字为书中原字;粉红字为更改注释;大红字为改正处。

P51图3.12中:(2)指针修改存在问题;第3章线性表的链式存储P45页11行语句pre->next=q->next; /*删除*/ 改为:if (p) {pre->next=q->next; /*删除*/P45页12行语句free(q); /*释放空间*/ 改为:free(q); } /*释放空间*/P58页第7行语句:(1)node *init_link_stack() 建立一个空链式栈改为:(1)node *init() 建立一个空链式栈P65页2行语句if (p->info==x) return p else return NULL; 改为:if (p->info==x) return p ; else return NULL;第4章字符串、数组和特殊矩阵P72页28行语句while (q->next) q=q->next; /*用q查找T中最后一个元素的位置*/ 改为:while (q&&q->next) q=q->next; /*用q查找T中最后一个元素的位置*/第8章图P188页11行,选择题第(5)题(5)已知一个有向图8.30所示,则从顶点a出发进行深度优先偏历,不可能得到的DFS序列为()。

A.a d b e f c B.a d c e f b C.a d c b f e D.a d e f c b改为:(5)已知一个有向图8.30所示,则从顶点a出发进行深度优先遍历,不可能得到的DFS序列为()。

A.a d b e f c B.a d c e f b C.adcebf D.adefbc第9章检索P206倒数第6行语句:空的二叉树的高度定义为-1。

数据结构勘误

数据结构勘误
m4 n; n
5 月 22 号:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------P56,倒数第 6 行,“因为数组下表不存在-1”,“下表”应为“下标”。 P61,注释的倒数第 8 行,“注意:字符型和整形的转换”,“整形”应为“整型”。 P64,“图 3.5 循环队列队空与对满的判断”,“对满”应为“队满”。: T& H5 n/ i. _% J% X, F c P66-P67,1-4 的序号应为 2-5。# r& w, ^/ r; i0 \5 i6 D
第一版最早的勘误
说明:下边红色字体处是必须要改的错
误,其他的错误属于明显的错字或者漏
子,不影响理解。PS:在 8 月 7 号之后的
发售的版本中下边的错误已经全部改正. f.
w; R3 }4 s- r9 m0 Z $ U" A7 k- j6 ?) X6 F) [. H; d8 h
前言,图中,1800 题的右边那个框里,“严办”应为“严版”,前言最后一行,多出一个逗号。
L1 u5 Q$ `% d, d
P46,第 20 题解释第二行,“输出地 i 个元素”,应为“第”。5 {% O K# U. X, y3 T

《数据结构及应用算法》勘误表

《数据结构及应用算法》勘误表

《数据结构及应用算法》第6章勘误表1.第158页图6.5中,数组BT[4]中漏了字母“D”;2.第165页算法6.5中,最后一行漏了右花括号“}”3.第169页第11行中,原文“data”应改为“val”4.第171页第3行中,原文“DBGEAHFIC”,应改为“DBGEACHFI”5.第173页算法6.12中,第3行原文“中序线索化二叉树p,设p中每个结点的…”,应改为“中序线索化二叉树T,设T中每个结点的…”6.第173页算法6.12中,倒数第4行原文“pre=p ;”,应改为“pre=T; ”7.第176页图6.14(b)中,原文“root=4”,应改为“root=3”8.第177页倒数第9行中,原文“下表”,应改为“下标”9.第189页图6.25(c)中,表格第5行第2列中原文“7”,应改为“0”,并去掉阴影;第6行第2列中原文“0”,应改为“7”,并填阴影。

10.P154 倒数11行原文“Dl,Dr”,应该是“R l,Rr”《数据结构及应用算法》第7章勘误表1.第196页,第4行,原文“G1=(V1,E1)”重复,去掉2.第199页第5行原文“ID(A)=1,OD(A)=3”,应改为“ID(A)=2,OD(A)=2”3.第P202页倒数第8行的“Arctype”,应改为“EdgeType”4.第203页倒数第4行中的“arc[i][j]=0”,应改为“arc[i][j]=∞”5.第204页图7.10(b)中,邻接矩阵G.arcs的第0行第4列原文“13”,应改为“8”6.第204页算法7.1中第5、6行中的“arcnum”,应改为“vexnum”7.第207页第8行中,原文“图7.7(a)”,应改为“图7.8(a)”8.第208页第1行中,原文“无向图G”,应改为“有向图G”9.第215页倒数第6行“FirstArc”,应改为“FirstAdjV ex”10.第220页图7 .18(b)中,原文“第4步,k=2”,应改为“第4步,k=1”11.第220页图7.18(b)第一步第1列(0,7),应改为(3,6),相应P218图7.17(c)也要改,将虚线边(A,B,7)换成虚线边(D,B,6)12.第226页第3行中,原文“max{ve[j]} + 活动<v j, v k>的持续时间}”,应改为“max{ve[j] + 活动<v j, v k>的持续时间}”13.第226页第17行中,原文“(4)活动a i的最迟开始时间e[i]”,应改为“(4)活动a i的最迟开始时间l[i]”。

勘误表

勘误表

1. "线性调制"的一种定义是看它是否满足叠加原理(见[1],第 232 页) ,DSB 是线性调制:
m1 (t ) cos ωc t + m2 (t ) cos ωc t = [m1 (t ) + m2 (t )] cos ωc t
46 第 190 页倒 数第 3~5 行 在这个定义下,标准调幅 AM,SSB,2ASK,2PSK 都不是线性调制.但因为它门在实质上是 DSB,所以也可归类于线性调制. 注:对于 AM,用两个基带信号的和做 AM 调制结果虽然也是 AM 信号,但载波分量不是叠加关系 2.还有人将"线性调制"定义为: "调制后信号的频谱为调制信号频谱的平移及线性变换" (见[3],第 27 页) (见 3.因为"线性"一词有"成比例"的意思,故有人也把 FM 叫做线性调制,取 FM 的瞬时频偏同基带调制信号的电压成正比之意. [2],第 138 页)
V P(s1 ) p T s 1
+

=∫

[s1 (τ ) + nw (τ )]s1 (Tb t + τ )dτ
另外请注意其它各处 条件概率的记号
35
第 154 页 (5.3.45)式 第 158 页 (5.4.12)式
V p ( s2 ) p T s 2
P(s1 ) p(VT | s1 ) P(s2 ) p(VT | s2 )
4
33
page 第 147 页倒 数第 2 行
误 滤波器的三分贝单边带宽 B
正 滤波器的等效噪声带宽 B
备注
34 第 152 页 (5.3.27)式
∞ ∞ ∞
= ∫ r (τ )s1 (t Tb + τ )dτ =∫

教材勘误表

教材勘误表

1、p5: 7.c语言难学可否改个标题?2、P15:第1行图2.5:改成:3、p21:倒数13行~20行整体改成:注意显示在屏幕上看到的结果与上述打印结果是不同的,显示的结果如图 2.10的所示。

在第一个printf()函数里,由于“\r”使当前位置回到本行开头,自此输出的字符(包括空格和跳格所经过的位置)将取代原来屏幕上该位置上显示的字符。

所以原有的“ ab c ”被新的字符“f g”代替,其后的“de”未被新字符取代。

在第二个printf()函数里,先输出“h i”,然后光标位置移到i右面一列处,再退两格后输出“j k”,j后面的空格符将原有的字符“i”取而代之。

因此屏幕上看不到“i”。

实际上,屏幕上完全按程序要求输出了全部的字符,只是因为在输出前面的字符后很快又输出后面的字符。

而打印机则是按顺序真实的打印了结果,实际上是“记录了”输出的过程。

4、p37: 顺数21行,②for( ) ~ (转向语句) 改成:②for( ) ~ (循环语句)5、p38:顺数18行,{ z=x+y;t=+z/100;printf("%f",t);}{ z=x+y;t+=z/100;printf("%f",t);}5、P39:倒数16行,“a=123,d=12345”改成“a=123,b=12345” ;6、P39:倒数11行,“指定数据的速出宽度”改成“指定数据的输出宽度”;7、P41:倒数第4 行,(如e+002,e+02)改成:(如e+002)8、p46:顺数第4行,getchar(字符);改成:getchar();9、P47: 最后一段倒数3行和4行:为什么会出现这样的结果?Turbo C 是把字符当成有符号数据处理,所以,能表示的数的范围只能是-128~127,所以,127再加1,就变成-128了; 改为:为什么会出现这样的结果?输出时把字符当成整型数据输出,所以,127再加1,就变成128了;10、P62:图3.4和图3.5替换成下图:图3.4 例3-7的流程图图3.5 例3-8的流程图11、P80:图3.43替换成下图:12、P89:图3.59替换成下图:图3.43 do ~while()流程图图3.59continue 进入下一轮循环13、P97:增加图3.7714、P98:图3.79替换为:15、p114:第四章【例4-11】中,倒数第8行 #include "c:\ex4_11_1.c" (此行去掉)若是写成project 文件不应该包含#include "c:\ex4_11_1.c"是是x j =0x j =0x j 能被x i 整除图3.77 F:是否x i =0?打印x i ,j++i++G:j%10=0 ?是否换行图3.79。

勘误表

勘误表

《数据结构及算法》勘误表P6 图1-5修改,其正确形式如下(注意单实线和双实线)P13 算法1-1代码正数第2行将“void MatrixMultiply(int A[a], int B[n][n], int C[n][n]) {”改为“void MatrixMultiply(int A[n][n], int B[n][n], int C[n][n]) {”P29 算法2-11,正数第15行将“p=L; j=0;”改为“p=L->next; j=1;”P29 正数第16行将“while((p->next)&&(j<i)) { p=p->next; ++j; }”改为“while(p&&(j<i)) { p=p->next; ++j; }”P29 正数第17行将“if(!(p->next)||(j>=i)) ErrorMessage("输入的i值不合理!");”改为“if(!(p->next)||(j>i)) ErrorMessage("输入的i值不合理!");”P34 正数第7行将“④将p结点赋给新结点的后向指针域;”改为“④将p结点的指针赋给新结点的后向指针域;”P37 倒数第4行将“while((i<=A.length)&&(j<=B.length))”改为“while((i<A.length)&&(j<B.length))”P38 正数第4行将“while(i<=A.length)”改为“while(i<A.length)”P38 正数第7行将“while(j<=B.length)”改为“while(j<B.length)”P38 算法2-20代码开始正数第3行将“while((j<=A.length)&&(j<=B.length))”改为“j=0;while((j<A.length)&&(j<B.length))”P52 算法3-7代码开始正数第3行将“S=new LNode;”改为“S=new S Node;”P53 算法3-10代码开始正数第3行将“if(S->next) EmptyMessage("链栈S空!");”改为“if(!(S->next)) EmptyMessage("链栈S空!");”P54 算法3-12代码开始正数第3行将“if(S->next) EmptyMessage("链栈S空!");”改为“if(!(S->next)) EmptyMessage("链栈S空!");”P61 算法3-22代码开始正数第3行将“if(Q.front->next) EmptyMessage("链队列Q空!");”改为“if(!(Q.front->next)) EmptyMessage("链队列Q空!");”P61 算法3-24代码开始正数第3行将“if(Q.front==Q.rear) EmptyMessage("链队列Q空!");”改为“if(!(Q.front->next)) EmptyMessage("链队列Q空!");”P63 算法3-26代码开始正数第16行将“if(k=1) return 1;”改为“if(k==1) return 1;”P76 正数22行将“(2) 确定两个串的最大相等前缀子串,"s1 s1 … s k "="t1 t1 … t k"(其中1≤k≤m,1≤k≤n)。

数据结构教材勘误表

数据结构教材勘误表
《数据结构》勘误表 页号 P15 位置 图 2-2 原内容
a1 a2 … ai-1 ai … an a1 a2 … ai-1 e ai … an
表的长度增加
修改后内容
a1 a2 … ai-1 ai … an a1 a2 … ai-1 e ai
备注
… an
表的长度增加
P21 P33 P37 P43 P46
for(col=0;col<A.nu ;++col) 0≤i<n,0≤j<m
p 1
A[i][k ] B[k ][ j ]
k 1
p
A[i][k ] B[k ][ j ]
k 0
108 108 108 117 119 123 132
15 18 倒数第 5 行 第一句 文字倒数第 4 行 图 6-13(c) 算法 6.6, 算法 6.13
……仍为 m 阶 B-树 //在 m 阶 B-树*t 上结点…… ……信息,以及指向…… ……解决以下两个问题: ……不同的符号在各位上…… ……位作为哈希地址。 ……稳定性:对任意…… ……进行排序,若相同…… ……将第 i 个记录后移: r[i+1]=r[i] 插入排序……的算法是简 单…… for(int j=i-1;j>=high+1;--j) 记录后移 L.key[j+1]=L.key[j]; L.key[high+1]=L.key[0]; 选择排序的思想是每一…… ……因此,它的空间复杂度为 O(1)。 Step1:……中的元素建大顶堆 不超过式(9-10) : ……,即 //
(ki1,ki2,……,kid)<……
P243 P243 P244 P246 P247 P248 P257 P257 P258 P258 P261

统计学——教材勘误表

统计学——教材勘误表
已知的教材中的错漏之处见下表。 页码 69 页 原文
n n0 n 1 0 N
修改为
n
n0
1
n0 N
89 页
X i
1 r X ij , (i=1,2,„, r j 1
r) (5-13)
X i
1
s
1
X ij j
1
s
X j
1 X ij , (j=1,2,„, s i 1
去掉,表述有错误。
135 页 155 页
② 判定系数为 0.997
ˆ F bl Y T l t t
ቤተ መጻሕፍቲ ባይዱ
l 1,2,
Yˆ t l F t b tl
l 1,2,
另外,107 页最后一段关于单侧检验 p 值的结果没有错误。按照相关定义在这里计算 Z 值时必定取负值,由此给很多学生造成了一些困扰,提醒请各位老师注意。
s) (5-14)
s
X j
r
X ij i
1
r
91 页 第1行 94 页 第2行 105 页 倒 数 第6行 131 页 倒 数 第 2、 3 行 134 页
( )11 12 ( )ss 0
兴趣作为因子 根据表 6-3,计算出的 Dmax 统计量的值为 0.960(表中的 Kolmogorov-Smirnov Z), 相应的 p 值(渐近显著性)为 0.315。 „„99.7%„„99.7%„„
( ) 11 12 ( ) rs 0
采伐状况作为因子 根据表 6-3,计算出的 Dmax 统计量的值 为 0.096,相应的 p 值(渐近显著性) 为 0.315。 „„99.4%„„99.4%„„
„„, “在 p 个自变量中,只要有一个自 变量同因变量的线性关系不显著,F 检验 就不能通过,因此 F 检验是对方程整体线 性关系的检验” 。 ② 修正自由度的判定系数为 0.997

《数据结构》勘误表(作者王祖俪)20170920

《数据结构》勘误表(作者王祖俪)20170920
}LSNode, *LinkStack;
P64第27行
*S.top++=e;
删除此行
P73第1、2行
#include "stdio.h"
#include "malloc.h"
#include <stdio.h>
#include <malloc.h>
P73第二自然段第2行
为何不能“尾进头出”
为何不能“头进尾出”
P102倒数1行
如果同层的孩子结点左右互换
如果同层的兄弟结点左右互换
P103第1行
如果同层的孩子结点左右互换
如果同层的兄弟结点左右互换
P119图5-10(b)
第4行点2,30,点4,40
点3,30,点4,40
P123第11行
首先将光标停在代码5.6第5行任意位置
首先将光标停在代码5.6的main函数第5行(return 0;)任意位置
}
/*插入具体操作*/
q = &(L->elem[i-1]);
for (p = &(L->elem[L->length-1]); p >= q; p--)
{
*(p+1) = *p;
}
*q = e;
L->length++;
return OK;
}
int main()
{
int i, y;
SqList L;
Typedef struct Node
typedef struct Node
P48第23行
Struct Node *prior, *next;

数据结构勘误表汇总概论

数据结构勘误表汇总概论
第一行: 有序序列 改为 有限序列。 【第十页】:第二行: inten; 改为 int len ;
第十六行: statusListInsert(Sqlist L,int i,ElemType e)
应改为: status ListInsert(Sqlist &L,int i,ElemType e)
确定性:是指算法没有二义性,和人能否读懂没多大关系。侧重点 是算法。 可读性:要求算法能很容易的被读者读懂, 侧重点是人。 所以我认为确定性和可读性还是有点区别的。 【第五页】:例 3 的题干中 以及改程序 改为 以及该程序。 【第六页】:第六题: 书后附的答案已经解释了答案 C 应该改为 n^2 才更准确。
ptr-llink=restore(ipos+1,___,k);
应该改成
ptr-llink=restore(ppos+1,___,k);
【91 页第四题 应用题 答案错误】 图下面第二行 B 的哈夫曼编码是 0101 不是 101
第五章 图
【第 103 页】:第四行中: 重复 a 和 c 改为重复 a 和 b。
下三角矩阵:
书上的式子明显错了,自己用个矩阵验证以下就知道错了, 下面这个式子经过检验是正确的: 当 i<=j 时, K={(i-1)*(2n-i+2)}/2 +j-i 当 i>j 时, K= n(n+1)/2 自己可以试着用矩阵验算。 【第四十一页】:图 3-9 改为:
【第四十四页】:例 13 题干中初始栈顶指针 top 为 n 改为 top 为 n+1;
首先说明几点很容易错的(其中第 2 点是我身边的许多同学老范的错误):
1. 这一章中没有特别声明的情况下,栈的栈顶指针和队列的队尾指针 均指向最后一个节点的下一个位置。比如第 44 页的例 14 和第 47 页 的例 23 由于题目已经说了栈顶指针和队尾指针指向栈顶元素和队尾 元素,所以我们才认为栈顶指针和队尾指针指向栈顶元素和队尾元 素,而不是下一个位置。

勘误表

勘误表

勘误表:前言第2页倒数第7行:误:正:可先浏览第11讲、21讲、31讲、33讲和45-48讲第1页倒数第9行误:可以快速地浏览下面用小字号编排的几节…正:可以快速地浏览1.1节…第2页倒数第21行误:自动冰箱的作用正:自动冰箱的构成第6页倒数第1行误:图1.6 第二条指令完成后的系统状态正:图1.6 第二条指令取指完成后的系统状态第7页第8行误:图1.7 第二条指令取指完成后的系统状态正:图1.7 第二条指令执行后的系统状态第10页第10行误:(一个加工步骤)取到IR碟中的。

正(一个加工步骤)的复印件取到IR碟中的。

第11页倒数第3行误:编写特殊菜谱的魔法师正:编写特殊菜谱的人第15页倒数第8行误:……一个十进进数转化成任何n进制数…正:……一个十进制整数转化成任何n(n>2)进制整数…第20页第3行——第4行误:在这种程序中,还要用内存地址号来取代数据原来的名称。

正:在这种程序中,常常还要用内存地址号来表示要加工的数据在内存的何处。

第21页倒数第3行误:在一台只有一个 CPU的计算机上正:在一台只有一个单核CPU的计算机上第22页第17行误:有用的息。

正:有用的信息。

第23页第6行误:……且开始#include以……正:……且程序的开始部分#include以……第23页第12行误:表1.3 部分内存结构正:表1.3 部分内存中的数据第25页第16行误:……把数据加工成有用信息的电子数字设备……正:……把输入数据加工成有用信息并输出的电子数字设备……第25页倒数第3行误:如果一台计算机只有一个CPU正:如果一台计算机只有一个单核的CPU第26页第3行误:所以在人类看来,单CPU的计算机似乎……正:所以在人们看来,单核CPU的计算机似乎……第32页第3行误:2.3 C 语言简介正:2.3 C 语言特点简介第32页倒数第4——第3行误:在ANSI C99标准….正:(备注:此两行全部删除)第34页倒数第8行误:此外还有一些修饰用的关键字……正:此外还有一些作修饰用的关键字……第37页第1行误:这个存储单元的数值……正:这个存储单元中存放的数值……正:任意多个字符,…….第41页第25行误:…….”,sizeof(ch))正:…….”,sizeof(ch));第42页第17行误:…….用这种形式的方法来…….正:…….用这种形式化的方法来…….第43页第2行误:或运算符(or)“|”、正:或运算符(or)“||”、第43页第18——19行误:即对某个数据执行取数操作指令(就象上例中的变量m和n)。

数据结构与算法张宪超版--勘误表汇总

数据结构与算法张宪超版--勘误表汇总

教材勘误表
1.P11,倒数第5行,for(j=1,sum-a[0];j<=I;j++) 应为for(j=1,sum-a[0];j<=i;j++)
2.P12, 1.
3.2上面程序段最后一句,sum+=a[i];应为sum+=a[j]
3.P12,1.3.2上面一段复杂度分析,O(1)+8(n-4)=O(n),应为O((1)+8(n-4))
=O(n)
4.P18,公式2.2,最后的+1 应为+l
5.P27,图2-10的(b)画错,头结点后面应该有一个箭头
6.P39,【例2.14】上面一段的两个引用“例2.13”应为“例2.14”.
7.P147页,图4.4上面一段,有向图的联通定义,“如果从Vi到Vj和Vj到Vi都存在路径,
则称定点Vi和Vj连通”,应改为“如果从Vi到Vj或Vj到Vi都存在路径,则称定点Vi 和Vj连通”。

“若图中任意两个顶点vi和vj都连通,则称…”应改为“若图中任意两个顶点vi和vj,既存在vi到vj的路径也存储在vj到vi的路径,则称…”
8.P174 图4-20,v2和v3应该换一下
9.P197,第2题,改为“…为一个6个顶点的带权无向图,”边(d,f)的权值为15。

10.P198,第7题,题目改为“已知一个无向图…”,图4-43中的边都改成无向边。

11.P199,第3段,“最多需要检查52张牌”改成“最多需要检查54张牌”
12.P227 线性探查法的例子中,Hash(32)=12 应改成Hash(32)=9,相应的图5-24中,32的
位置应该在9号位置。

13.P227 图5-24中,1号位置的45的探查次数应该为3.。

数据结构教材勘误表

数据结构教材勘误表

数据结构(c语言版)清华大学出版社秦锋主编勘误(红色字体为修改后的内容)1.教材30页算法描述如下(假定顺序表A和B的存储空间足够):void Inter_sec (PSeqList A, PSeqList B ){ /*求集合A和B的交集,入口参数:指向顺序表的指针,返回值:无,结果存放在顺序表A中*/ int i=0;while(i<A->length){if(!Location_Seqlist(B,A->data[i]))/*B中无A->data[i]*/Delete_SeqList(A,i+1);else i++;/*考察下一个元素*/}}2.教材43页算法如下:(考虑m=1的特殊情况)int josephus_ LinkList (LinkList josephus_Link, int s, int m){ /*求约瑟夫问题的出列元素序列,入口参数:已经存放数据的链表头指针,起始位置s,从1报数到m,出口参数:1表示成功,0表示表中没有元素*/LinkList p,pre;/*p指向当前结点,pre指向其前驱结点*/int count;if ( ! josephus_Link){ printf(“表中无元素”);return (0);}/*找第s个元素*/p= josephus_Link;for(count=1;count<s;count++) /*查找第s个结点,用p作为第s个结点的指针*/ p=p->next;printf(“输出约瑟夫序列:”);while ( p!=p->next) /*输出n-1个结点*/{ pre=p->next;while(pre->next!=p)pre=pre->next;/*pre指针初始化,pre是p的前驱指针*/ for(count=1;count<m;count++){ pre=p;p=p->next;} /*for*/printf(“%d\t”, p->data);pre->next=p->next;free(p);p=pre->next;}/*while*/printf(“%d\t”,p->data); /*输出最后一个结点*/free(p);return 1;}算法2.17该算法时间复杂度是O(n*m)。

勘误表

勘误表

第一段第4行有误,应为…… 不小于0.02m 。

168页:公式(5-10)有误,应为222a a H b '=++ (5-10)170页:公式(5-13b )、(5-14b )有误,应为支点弯矩 0-0.7M M =支 (5-13b )支点弯矩 00.7M M =-支 (5-14b )188页:第3行有误,应为…… T 形主梁的细部尺寸如图5-51所示。

193页:第2段第3行有误,应为……解决问题的关键是假想主梁的I x 、I Tx 平均分摊于宽度b ,……196页:第9行有误,应为j ω——使结构产生最不利效应的同向影响线面积;第16行有误,应为当桥梁计算跨径大于150m 时……公式(5-65)有误,应为A c k 0c k (1)[()()1.2]2i a Q m m q y m m P y ∆μξ=+⋅-⋅+-⋅⋅⋅ (5-65) 201页:公式(5-72)上面一段表述不清楚,应为钢筋混凝土受弯构件在正常使用极限状态下的挠度,可根据给定的钢筋混凝土构件刚度用结构力学的方法验算,首先计算开裂构件等效截面的抗弯刚度,按下式计算:207页:倒数第4段表述不清楚,应为③有粘结预应力混凝土:是指预应力筋通过与混凝土的粘结直接传力(先张法)。

对后张法,预应力筋在张拉阶段通过端部锚具作用于梁体,后期通过灌浆与混凝土粘结将预张力传给梁体。

208页:第18行有误,应为图5-67所示为跨径为30m 、桥面净空为净—7m+2×0.75m 人行道……图5.67:最上面的尺寸应为:2996/2倒数第3行有误,应为……区段应适当加厚。

腹板厚度从跨中向梁端,由0.14m 、0.26m 到0.46m 分段加厚。

218页:第3行有误,应为……目前相关人员正试图将分片式梁改为整孔运送架设;或采用横向分……219页:图5.78中最下面的文字标注有误,应为承轨台233页:第19行有误,应为每片主梁翼缘与腹板单位长度角焊缝能承受的剪力:1f 2[]N h =⨯τ0.7,其中f h 为……235页:第9行有误,应为由cr y f σ≥ (y f 为钢板的屈服强度) ,可得到……246页:第1行有误,应为…… 仅有竖杆和弦杆交汇的节点称为小节点,……266页:倒数第5行有误,应为橡胶支座与钢支座相比具有下列优点:274页:第1行有误,应为或将摆柱式支座搁置在墩顶预留槽内,如图7-25b 所示。

数据结构与STL勘误表(第1次印刷版)

数据结构与STL勘误表(第1次印刷版)

5
64
表2-1,第6,7行
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
91 113 115 118 119 152 153 154 162 165 175 175 177 181 181 182 183 189 192 195
上半页两大段中m-n+1错误 上半页两大段中m 最后四个公式错误 对角矩阵最后j 对角矩阵最后j的取值范围笔误 图4-10中t=8错误 10中 代码中间一处小错误 倒数第二段两序列印刷错误 20中印刷错误 图5-20中印刷错误 Create函数中的数组名称 函数中的数组名称a Create函数中的数组名称a错误 代码的第二个注释 32, 图5-32,错误 第(7)小题无答案 选择题第3 选择题第3小题 10题 第10题,字符个数错误 图6-9的(a)图错误 图6-11 12( 图6-12(a) 图6-13 图6-22 第二段代码 第二段代码
28 29 30 31 32 33 34 35 36 37 38 39 40 41
215 216 216 217 217 218 218 219 220 221 222 223 246 269
递归式代码 图7-4 第四行,查找不成功的ASL ASL计算错误 第四行,查找不成功的ASL计算错误 最后一行代码 第二个公式 第一段代码 第二段代码 InsertBST函数定义的参数类型错误 InsertBST函数定义的参数类型错误 Create函数定义的参数类型错误 Create函数定义的参数类型错误 代码中有几处小错误 代码中有几处小错误 第6行公式的分子错误 填空题第2 填空题第2题 表格
2
ቤተ መጻሕፍቲ ባይዱ
34
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构(c语言版)清华大学出版社秦锋主编勘误(红色字体为修改后的内容)1.教材30页算法描述如下(假定顺序表A和B的存储空间足够):void Inter_sec (PSeqList A, PSeqList B ){ /*求集合A和B的交集,入口参数:指向顺序表的指针,返回值:无,结果存放在顺序表A中*/ int i=0;while(i<A->length){if(!Location_Seqlist(B,A->data[i]))/*B中无A->data[i]*/Delete_SeqList(A,i+1);else i++;/*考察下一个元素*/}}2.教材43页算法如下:(考虑m=1的特殊情况)int josephus_ LinkList (LinkList josephus_Link, int s, int m){ /*求约瑟夫问题的出列元素序列,入口参数:已经存放数据的链表头指针,起始位置s,从1报数到m,出口参数:1表示成功,0表示表中没有元素*/LinkList p,pre;/*p指向当前结点,pre指向其前驱结点*/int count;if ( ! josephus_Link){ printf(“表中无元素”);return (0);}/*找第s个元素*/p= josephus_Link;for(count=1;count<s;count++) /*查找第s个结点,用p作为第s个结点的指针*/ p=p->next;printf(“输出约瑟夫序列:”);while ( p!=p->next) /*输出n-1个结点*/{ pre=p->next;while(pre->next!=p)pre=pre->next;/*pre指针初始化,pre是p的前驱指针*/ for(count=1;count<m;count++){ pre=p;p=p->next;} /*for*/printf(“%d\t”, p->data);pre->next=p->next;free(p);p=pre->next;}/*while*/printf(“%d\t”,p->data); /*输出最后一个结点*/free(p);return 1;}算法2.17该算法时间复杂度是O(n*m)。

3.教材45页算法如下:void Add_Polynomial(P_Polynomial P1, P_Polynomial P2){/*两个一元多项式P1,P2求和,求和的结果保存到P1中*/P_Polynomial Pre_Item,Cur_Item1, Cur_Item2;/*分别保存扫描过程中的P1的前一分量,当前分量及P2的当前分量*/Pre_Item=P1; Cur_Item1=P1->next; Cur_Item2=P2->next;while(Cur_Item1&&Cur_Item2) /*多项式P1,P2没有扫描完*/{if(Cur_Item1->e == Cur_Item2->e){Cur_Item1->p= Cur_Item1->p+ Cur_Item2->p;if(Cur_Item1->p == 0){Pre_Item->next= Cur_Item1->next;free(Cur_Item1);Cur_Item1=Pre_Item->next;/*合并后系数为零,释放当前分量*/Cur_Item2= Cur_Item1->next;}else{Pre_Item=Cur_Item1;Cur_Item1=Cur_Item1->next;Cur_Item2=Cur_Item2->next;/*同时扫描下一项*/}}/*第一种情形,P1和P2当前项的指数相等*/elseif(Cur_Item1->e < Cur_Item2->e){Pre_Item=Cur_Item1;Cur_Item1=Cur_Item1->next;} /*第二种情形,P1当前项的指数小于P2的当前项指数*/else /* 第三种情形:Cur_Item1->e > Cur_Item2->e 时将多项式P2的当前分量加入到P1中*/{P_Polynomial temp;if(! (temp=( P_Polynomial)malloc(sizeof(Polynomial)))){printf(“内存不足!\n”);exit(0);}temp->p=Cur_Item2->p;temp->e=Cur_Item2->e; /*复制P2当前分量*/temp->next=Cur_Item1;Pre_Item->next=temp;Pre_Item=Pre_Item->next; /*复制的当前分量插入P1中*/Cur_Item2=Cur_Item2->next;}/*end else*/} /*end while*/while(Cur_Item2) /*如果P2没有扫描完*/{P_Polynomial temp;if(!( temp=( P_Polynomial)malloc(sizeof(Polynomial)))) {printf(“内存不足!\n”);exit(0);}temp->p=Cur_Item2->p;temp->e=Cur_Item2->e;temp->next=NULL;Pre_Item->next=temp; /*将复制的当前分量加到P1的尾部*/Pre_Item=Pre_Item->next;Cur_Item2=Cur_Item2->next;}} /*end Add_Polynomial */算法2.184.教材197页算法如下:#define m 6 /* 迷宫的实际行 */#define n 8 /* 迷宫的实际列 */int path(int maze[m+2][m+2],item *move){ /* maze 迷宫数组,move指向坐标增量数组的指针,item见【例3.2】(m,n)为迷宫出口点*/sqtype sq[NUM+1];int front,rear;int x,y,i,j,v;front=rear=0;sq[0].x=1; sq[0].y=1; sq[0].pre=-1; rear++; /*入口点入队*/maze[1][1]=-1; /*走过的位置做标记*/while (front<rear) /*队列不空*/{x=sq[front].x ; y=sq[front ].y ; /*取队头元素,但不出队列*/ for (v=0;v<4;v++) /*向四个方向探测*/{i=x+move[v].x;j=y+move[v].y;if (maze[i][j]==0) /*判断当前方向能走通?*/{ /*能走通,将新的点进队列*/sq[rear].x=i;sq[rear].y=j;sq[rear].pre=front;rear++;maze[i][j]= -1; /*走过的位置做标记*/}if (i==m&&j==n) /*到出口?*/{printpath(sq,rear); /*打印迷宫*/return 1;}} /*for v*/front++; /*当前点四个方向搜索完,取下一个点搜索*/} /*while*/return 0;} /*path*/算法 7.115.教材228页int BinSearch(Sqlist s , KeyType k){ /* 在表s中用折半查找法查找关键字k,若查找成功,则函数值为该元素在表中的位置,若查找失败,返回-1。

*/int low,mid,high;low=0;high=s.length-1;while(low<=high){ mid=(low+high)/2; /* 取区间中点 */if (s.r[mid].key==k) return(mid); /* 查找成功 */else if (s.r[mid].key>k) high=mid-1; /* 在左区间中查找 */else low=mid+1; /* 在右区间中查找 */ }return(-1); /* 查找失败 */}算法8.3 折半查找算法6.教材301页bool check3()/*检查第三题答案是否正确*/{bool ok=0;int i;i=question[2];/*取第3题答案*/switch (i){case 1: if(i==question[0]) ok=true; break;/*第1题是A吗?*/case 2: if(i==question[1]) ok=true; break;/*第2题是B吗?*/case 3: if(i==question[3]) ok=true; break; /*第4题是C吗?*/case 4: if(i==question[6]) ok=true; break;/*第7题是D吗?*/case 5: if(i==question[5]) ok=true; break;/*第6题是E吗?*/}。

相关文档
最新文档