文档库 最新最全的文档下载
当前位置:文档库 › 数据结构习题集答案(c版)(清华大学-严蔚敏)

数据结构习题集答案(c版)(清华大学-严蔚敏)

数据结构习题集答案(c版)(清华大学-严蔚敏)
数据结构习题集答案(c版)(清华大学-严蔚敏)

1.16

void print_descending(int x,int y,int z)//按从大到小顺序输出三个数

{

scanf("%d,%d,%d",&x,&y,&z);

if(xy; //<->为表示交换的双目运算符,以下同

if(yz;

if(xy; //冒泡排序

printf("%d %d %d",x,y,z);

}//print_descending

1.17

Status fib(int k,int m,int &f)//求k阶斐波那契序列的第m项的值f

{

int tempd;

if(k<2||m<0) return ERROR;

if(m

else if (m==k-1) f=1;

else

{

for(i=0;i<=k-2;i++) temp=0;

temp[k-1]=1; //初始化

for(i=k;i<=m;i++) //求出序列第k至第m个元素的值

{

sum=0;

for(j=i-k;j

temp=sum;

}

f=temp[m];

}

return OK;

}//fib

分析:通过保存已经计算出来的结果,此方法的时间复杂度仅为O(m^2).如果采用递归编程(大多数人都会首先想到递归方法),则时间复杂度将高达O(k^m).

1.18

typedef struct{

char *sport;

enum{male,female} gender;

char schoolname; //校名为'A','B','C','D'或'E'

char *result;

int score;

} resulttype;

typedef struct{

int malescore;

int femalescore;

int totalscore;

} scoretype;

void summary(resulttype result[ ])//求各校的男女总分和团体总分,假设结果已经储存在result[ ]数组中

{

scoretype score;

i=0;

while(result.sport!=NULL)

{

switch(result.schoolname)

{

case 'A':

score[ 0 ].totalscore+=result.score;

if(result.gender==0) score[ 0 ].malescore+=result.score;

else score[ 0 ].femalescore+=result.score;

break;

case 'B':

score.totalscore+=result.score;

if(result.gender==0) score.malescore+=result.score;

else score.femalescore+=result.score;

break;

……?……?……

}

i++;

}

for(i=0;i<5;i++)

{

printf("School %d:\n",i);

printf("Total score of male:%d\n",score.malescore);

printf("Total score of female:%d\n",score.femalescore);

printf("Total score of all:%d\n\n",score.totalscore);

}

}//summary

1.19

Status algo119(int a[ARRSIZE])//求i!*2^i序列的值且不超过maxint

{

last=1;

for(i=1;i<=ARRSIZE;i++)

{

a[i-1]=last*2*i;

if((a[i-1]/last)!=(2*i)) reurn OVERFLOW;

last=a[i-1];

return OK;

}

}//algo119

分析:当某一项的结果超过了maxint时,它除以前面一项的商会发生异常.

1.20

void polyvalue()

{

float ad;

float *p=a;

printf("Input number of terms:");

scanf("%d",&n);

printf("Input the %d coefficients from a0 to a%d:\n",n,n);

for(i=0;i<=n;i++) scanf("%f",p++);

printf("Input value of x:");

scanf("%f",&x);

p=a;xp=1;sum=0; //xp用于存放x的i次方

for(i=0;i<=n;i++)

{

sum+=xp*(*p++);

xp*=x;

}

printf("Value is:%f",sum);

}//polyvalue

2.10

Status DeleteK(SqList &a,int i,int k)//删除线性表a中第i个元素起的k个元素{

if(i<1||k<0||i+k-1>a.length) return INFEASIBLE;

for(count=1;i+count-1<=a.length-k;count++) //注意循环结束的条件

a.elem[i+count-1]=a.elem[i+count+k-1];

a.length-=k;

return OK;

}//DeleteK

2.11

Status Insert_SqList(SqList &va,int x)//把x插入递增有序表va中

{

if(va.length+1>va.listsize) return ERROR;

va.length++;

for(i=va.length-1;va.elem>x&&i>=0;i--)

va.elem[i+1]=va.elem;

va.elem[i+1]=x;

return OK;

}//Insert_SqList

2.12

int ListComp(SqList A,SqList B)//比较字符表A和B,并用返回值表示结果,值为正,表示A>B;值为负,表示A

{

for(i=1;A.elem||B.elem;i++)

if(A.elem!=B.elem) return A.elem-B.elem;

return 0;

}//ListComp

2.13

LNode* Locate(LinkList L,int x)//链表上的元素查找,返回指针

{

for(p=l->next;p&&p->data!=x;p=p->next);

return p;

}//Locate

2.14

int Length(LinkList L)//求链表的长度

{

for(k=0,p=L;p->next;p=p->next,k++);

return k;

}//Length

2.15

void ListConcat(LinkList ha,LinkList hb,LinkList &hc)//把链表hb接在ha后面形成链表hc

{

hc=ha;p=ha;

while(p->next) p=p->next;

p->next=hb;

}//ListConcat

2.16

见书后答案.

2.17

Status Insert(LinkList &L,int i,int b)//在无头结点链表L的第i个元素之前插入元素b {

p=L;q=(LinkList*)malloc(sizeof(LNode));

q.data=b;

if(i==1)

{

q.next=p;L=q; //插入在链表头部

}

else

{

while(--i>1) p=p->next;

q->next=p->next;p->next=q; //插入在第i个元素的位置

}

}//Insert

2.18

Status Delete(LinkList &L,int i)//在无头结点链表L中删除第i个元素

{

if(i==1) L=L->next; //删除第一个元素

else

{

p=L;

while(--i>1) p=p->next;

p->next=p->next->next; //删除第i个元素

}

}//Delete

2.19

Status Delete_Between(Linklist &L,int mink,int maxk)//删除元素递增排列的链表L中值

《运筹学》课后习题答案

第一章线性规划1、 由图可得:最优解为 2、用图解法求解线性规划: Min z=2x1+x2 ? ? ? ? ? ? ? ≥ ≤ ≤ ≥ + ≤ + - 10 5 8 24 4 2 1 2 1 2 1 x x x x x x 解: 由图可得:最优解x=1.6,y=6.4

Max z=5x 1+6x 2 ? ?? ??≥≤+-≥-0 ,23222212 121x x x x x x 解: 由图可得:最优解Max z=5x 1+6x 2, Max z= + ∞

Maxz = 2x 1 +x 2 ????? ? ?≥≤+≤+≤0,5242261552121211x x x x x x x 由图可得:最大值?????==+35121x x x , 所以?????==2 3 21x x max Z = 8.

12 12125.max 2328416412 0,1,2maxZ .j Z x x x x x x x j =+?+≤? ≤?? ≤??≥=?如图所示,在(4,2)这一点达到最大值为2 6将线性规划模型化成标准形式: Min z=x 1-2x 2+3x 3 ????? ??≥≥-=++-≥+-≤++无约束 321 321321321,0,05232 7x x x x x x x x x x x x 解:令Z ’=-Z,引进松弛变量x 4≥0,引入剩余变量x 5≥0,并令x 3=x 3’-x 3’’,其中x 3’≥ 0,x 3’’≥0 Max z ’=-x 1+2x 2-3x 3’+3x 3’’ ????? ? ?≥≥≥≥≥≥-=++-=--+-=+-++0 ,0,0'',0',0,05 232 '''7'''543321 3215332143321x x x x x x x x x x x x x x x x x x x

清华大学-理论力学-习题解答-2-03

2-3 圆盘绕杆AB 以角速度rad/s 转动,AB 杆及框架则绕铅垂轴以角速度 100=?10=ωrad/s 转动。已知mm ,当140=R °=90θ,rad/s ,时,试求圆盘上两相互垂直半径端点C 点及D 点的速度和加速度。 5.2=θ 0=θ 解:圆盘的运动是由三个定轴转动组成的复合运动,且三个轴交于O 点。取O 点为基点,建立动坐标系Oxyz ,Oxyz 绕铅垂轴以角速度ω转动,则牵连角速度e ω=?ωk 。圆盘相对于动坐标系的运动是由框架绕Ox 轴的转动和圆盘绕Oy 轴的转动组成,则圆盘的相对角速度为: r θ =?+?ωi j 所以圆盘的绝对角速度为: r θω′=?+??e ω=ω+ωi j k C 点及 D 点的矢径分别为: 0.140.5()C m =?+r i j 0.50.14()D m =+r j k 由公式可得C 点及D 点的速度: =×v ωr 5 1.412.75(/)C C m s ′=×=++v ωr i j k 190.35 1.25(/)D D m s ′=×=+?v ωr i j k 下面来求加速度。首先求圆盘相对于动系的相对角加速度ε,在动系中,我们可以步将 框架绕Ox 轴的转动看作牵连运动,牵连加速度为r 1e θ=?ωi 1r ,牵连角加速度为ε;将圆盘绕Oy 轴的转动看作相对运动,相对角速度为1e = θ =?j 0ωθ ,相对角加速度为。则根据角加速度合成公式并由此时1r 0==ε? e e r r =+×+εεωωε= 可得: 211250(/)r e r rad s θ =×=?×?=?εωωi j k 接下来求圆盘的绝对角加速度,再次利用角加速度合成公式,并由0e =ε可得: 2100025250(/)e r r rad s ′=×+=+?εωωεi j k 利用公式a 可得C 点及D 点的加速度 : (=×+××εr ωωr )

清华大学数据结构试题及答案

一、单选题(每题 2 分,共20分) 1. 1.对一个算法的评价,不包括如下(B )方面的内容。 A.健壮性和可读性B.并行性C.正确性D.时空复杂度 2. 2.在带有头结点的单链表HL中,要向表头插入一个由指针p指向的结点,则执行( )。 A. p->next=HL->next; HL->next=p; B. p->next=HL; HL=p; C. p->next=HL; p=HL; D. HL=p; p->next=HL; 3. 3.对线性表,在下列哪种情况下应当采用链表表示?( ) A.经常需要随机地存取元素 B.经常需要进行插入和删除操作 C.表中元素需要占据一片连续的存储空间 D.表中元素的个数不变 4. 4.一个栈的输入序列为1 2 3,则下列序列中不可能是栈的输出序列的是( C ) A. 2 3 1 B. 3 2 1 C. 3 1 2 D. 1 2 3 5. 5.AOV网是一种()。 A.有向图B.无向图C.无向无环图D.有向无环图 6. 6.采用开放定址法处理散列表的冲突时,其平均查找长度()。 A.低于链接法处理冲突 B. 高于链接法处理冲突 C.与链接法处理冲突相同D.高于二分查找 7.7.若需要利用形参直接访问实参时,应将形参变量说明为()参数。 A.值B.函数C.指针D.引用 8.8.在稀疏矩阵的带行指针向量的链接存储中,每个单链表中的结点都具有相同的()。 A.行号B.列号C.元素值D.非零元素个数 9.9.快速排序在最坏情况下的时间复杂度为()。 A.O(log2n) B.O(nlog2n) C.0(n) D.0(n2) 10.10.从二叉搜索树中查找一个元素时,其时间复杂度大致为( )。 A. O(n) B. O(1) C. O(log2n) D. O(n2) 二、二、运算题(每题 6 分,共24分) 1. 1.数据结构是指数据及其相互之间的______________。当结点之间存在M对N(M:N)的联系 时,称这种结构为_____________________。 2. 2.队列的插入操作是在队列的___尾______进行,删除操作是在队列的____首______进行。 3. 3.当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件是 ___top==0___(要超出才为满)_______________。 4. 4.对于一个长度为n的单链存储的线性表,在表头插入元素的时间复杂度为_________,在表尾插 入元素的时间复杂度为____________。 5. 5.设W为一个二维数组,其每个数据元素占用4个字节,行下标i从0到7 ,列下标j从0到3 , 则二维数组W的数据元素共占用_______个字节。W中第6 行的元素和第4 列的元素共占用_________个字节。若按行顺序存放二维数组W,其起始地址为100,则二维数组元素W[6,3]的起始地址为__________。 6. 6.广义表A= (a,(a,b),((a,b),c)),则它的深度为____________,它的长度为____________。 7.7.二叉树是指度为2的____________________树。一棵结点数为N的二叉树,其所有结点的度的 总和是_____________。 8.8.对一棵二叉搜索树进行中序遍历时,得到的结点序列是一个______________。对一棵由算术表 达式组成的二叉语法树进行后序遍历得到的结点序列是该算术表达式的__________________。

清华大学运筹学考试

一、不定向选择 1、若线性规划问题有可行解则: A其可行域可能无界 B其可行域为凸集 C至少有一个可行解为基本可行解 D可行域边界上点都为基本可行解 E一定存在某一可行解使目标函数达最优值 F任一可行解均能表示为所有可行域顶点线性组合表示 G某一可行解为最优解必要条件为它是一个基本解。 2、线性规划问题和其对偶问题关系: A对偶问题的对偶问题为原问题 B若原问题无解,其对偶问题有无界解 C若原问题无界解,其对偶问题无解或者无界解 D即使原问题有最优解,其对偶问题也未必有最优解 E原问题目标函数达到最大时,其对偶问题取最小值 F只有原问题达最优解时,其对偶问题才有可行解 G若原问题有无穷多最优解,其对偶问题有无界解。 二、已知线性规划问题,如下: max z=x1+x2-x3 -x1+2x2+x3<=2 st. -2x1+x2-x3<=3 x1,x2,x3>=0 据对偶理论分析此问题有解的情况(最优,无界或无解)三、已知线性规划问题 max z=x1+4x2+x3+2x4 x1+2x2 +x4<=8 x2 +2x4<=6 st. x2+x3+x4<=9 x1+x2+x3 <=6 x1,x2,x3,x4>=0 最优解为(0,2,4,2)据对偶理论找出其对偶问题最优解四、单纯形法解下列线性规划问题 max z=3x1+2x2

x1+2x2<=6 st. 2x1+x2<=8 -x1+x2<=1 x2<=2 x1,x2>=0 1)第一、二、四约束的影子价格为多少? 2)变量x1价值系数增加2,最优解是否变化? 五、运输问题单价表如下,确定总运费最小的调运方案 B1 B2 B3 B4 产量 A1 3 10 3 11 14 A2 2 8 1 9 8 A3 10 6 7 4 18 销量10 12 6 12 40 六、设备更新题:某设备收益r(万元),维修保养费w(万元) 更新费g(万元)与役龄t(年)关系如下: r(t)=10-1/2 t w(t)=1+5/4 t g(t)=1/2+4/5 t 考虑资金占用利率I ,试建立10年更新计划动态规划模型

李春葆数据结构习题与解析(修订版)知识分享

李春葆编著:数据结构(C语言篇)――习题与解析(修订版) 清华大学出版社 一、绪论 选择题 1.数据结构是一门研究非数值计算的程序设计问题中计算机的1以及它们之间的2和运算等的学科。 1 A.数据元素 B.计算方法 C.逻辑存储 D.数据映像 2 A.结构 B.关系 C.运算 D.算法 2.数据结构被形式地定义为(K, R),其中K是1的有限集,R是K上的2有限集。 1 A.算法 B.数据元素 C.数据操作 D.逻辑结构 2 A.操作 B.映像 C.存储 D.关系 3.在数据结构中,从逻辑上可以把数据结构分成。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 4.线性结构的顺序存储结构是一种1的存储结构,线性表的链式存储结构是一种2的存储结构。 A.随机存取 B.顺序存取 C.索引存取 D.散列存取 5.算法分析的目的是1,算法分析的两个主要方面是2。 1 A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进 D.分析算法的易懂性和文档性 2 A.空间复杂度和时间复杂度 B.正确性和简单性 C.可读性和文档性 D.数据复杂性和程序复杂性 6.计算机算法指的是1,它必须具备输入、输出和2等5个特性。 1 A.计算方法 B.排序方法 C.解决问题的有限运算序列 D.调度方法 2 A.可执行性、可移植性和可扩充性 B.可行性、确定性和有穷性 C.确定性、有穷性和稳定性 D.易读性、稳定性和安全性 7.线性表的逻辑顺序与存储顺序总是一致的,这种说法。 A.正确 B.不正确 8线性表若采用链式存储结构时,要求内存中可用存储单元的地址。 A.必须连续的 B.部分地址必须连续的 C.一定是不续的D连续不连续都可以 9.以下的叙述中,正确的是。 A.线性表的存储结构优于链式存储结构 B.二维数组是其数据元素为线性表的线性表 C.栈的操作方式是先进先出 D.队列的操作方式是先进后出 10.每种数据结构都具备三个基本运算:插入、删除和查找,这种说法。 A.正确 B.不正确 填空题 1.数据逻辑结构包括三种类型、和,树形结构和图形结构合称为。 2.在线性结构中,第一个结点前驱结点,其余每个结点有且只有个前驱结点;最后一个结点后续结点,其余每个结点有且只有个后续结点。 3.在树形结构中,树根结点没有结点,其余每个结点有且只有个前驱结点;叶子结点没有结点,其余每个结点的后续可以。

运筹学基础课后习题答案

运筹学基础课后习题答案 [2002年版新教材] 第一章导论 P5 1.、区别决策中的定性分析和定量分析,试举例。 定性——经验或单凭个人的判断就可解决时,定性方法 定量——对需要解决的问题没有经验时;或者是如此重要而复杂,以致需要全面分析(如果涉及到大量的金钱或复杂的变量组)时,或者发生的问题可能是重复的和简单的,用计量过程可以节约企业的领导时间时,对这类情况就要使用这种方法。 举例:免了吧。。。 2、. 构成运筹学的科学方法论的六个步骤是哪些? .观察待决策问题所处的环境; .分析和定义待决策的问题; .拟定模型; .选择输入资料; .提出解并验证它的合理性(注意敏感度试验); .实施最优解; 3、.运筹学定义: 利用计划方法和有关许多学科的要求,把复杂功能关系表示成数学模型,其目的是通过定量分析为决策和揭露新问题提供数量根据 第二章作业预测P25 1、. 为了对商品的价格作出较正确的预测,为什么必须做到定量与定性预测的结合?即使在定量预测法诸如加权移动平均数法、指数平滑预测法中,关于权数以及平滑系数的确定,是否也带有定性的成分? 答:(1)定量预测常常为决策提供了坚实的基础,使决策者能够做到心中有数。但单靠定量预测有时会导致偏差,因为市场千变万化,影响价格的因素很多,有些因素难以预料。调查研究也会有相对局限性,原始数据不一定充分,所用的模型也往往过于简化,所以还需要定性预测,在缺少数据或社会经济环境发生剧烈变化时,就只能用定性预测了。(2)加权移动平均数法中权数的确定有定性的成分;指数平滑预测中的平滑系数的确定有定性的成分。 2.、某地区积累了5 个年度的大米销售量的实际值(见下表),试用指数平滑法,取平滑系数α= 0.9,预测第6年度的大米销售量(第一个年度的预测值,根据专家估计为4181.9千公斤) 年度 1 2 3 4 5 大米销售量实际值 (千公斤)5202 5079 3937 4453 3979 。 答: F6=a*x5+a(1-a)*x4+a(1-a)~2*x3+a(1-a)~3*x2+a(1-a)~4*F1 F6=0.9*3979+0.9*0.1*4453+0.9*0.01*3937+0.9*0.001*5079+0.9*0.0001*4181.9

数据结构(C语言版)第三版__清华大学出版社_习题参考答案

附录习题参考答案 习题1参考答案 1.1.选择题 (1). A. (2). A. (3). A. (4). B.,C. (5). A. (6). A. (7). C. (8). A. (9). B. (10.) A. 1.2.填空题 (1). 数据关系 (2). 逻辑结构物理结构 (3). 线性数据结构树型结构图结构 (4). 顺序存储链式存储索引存储散列表(Hash)存储 (5). 变量的取值范围操作的类别 (6). 数据元素间的逻辑关系数据元素存储方式或者数据元素的物理关系 (7). 关系网状结构树结构 (8). 空间复杂度和时间复杂度 (9). 空间时间 (10). Ο(n) 1.3 名词解释如下: 数据:数据是信息的载体,是计算机程序加工和处理的对象,包括数值数据和非数值数据。数据项:数据项指不可分割的、具有独立意义的最小数据单位,数据项有时也称为字段或域。数据元素:数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理,一个数据元素可由若干个数据项组成。 数据逻辑结构:数据的逻辑结构就是指数据元素间的关系。 数据存储结构:数据的物理结构表示数据元素的存储方式或者数据元素的物理关系。 数据类型:是指变量的取值范围和所能够进行的操作的总和。 算法:是对特定问题求解步骤的一种描述,是指令的有限序列。 1.4 语句的时间复杂度为: (1) Ο(n2) (2) Ο(n2) (3) Ο(n2) (4) Ο(n-1) (5) Ο(n3) 1.5 参考程序: main() { int X,Y,Z; scanf(“%d, %d, %d”,&X,&Y,Z); if (X>=Y) if(X>=Z) if (Y>=Z) { printf(“%d, %d, %d”,X,Y,Z);} else { printf(“%d, %d, %d”,X,Z,Y);}

2015年清华大学826运筹学与统计学

2015年清华大学826运筹学与统计学(数学规划、应用随机模型、统计学各占1/3)考研复习参考书 科目:826 运筹学与统计学(数学规划、应用随机模型、统计学各占1/3)参考书:《运筹学(数学规划)(第3版)清华大学出版社,2004年1月 W.L.Winston 《运筹学》(应用随机模型)清华大学出版社,2004年2月 V.G. Kulkarni 《概率论与数理统计》(第1~9章)高等教育出版社,2001年盛聚等 考研复习方法,这里不详细展开。简单归纳为: 新祥旭考研提醒:首先,清楚考试明细,掌握真题,真题为本。通过真题,了解和熟知:考什么、怎么考、考了什么、没考什么;通过练习真题,了解:目前我的能力、复习过程中我的进步、我的考试目标。提醒一句:千万不要浪费大量时间做不相关的模拟题;千万不要把考研复习等同于做题目,搞题海战术。 其次,把握参考书,参考书为锚。弄懂、弄熟。考研复习如何才能成功?借用《卖油翁》里的一句话,那就是:手熟而已。明确考试之后,考研就基本上是一个熟悉吃透的过程。无论何时,参考书第一,不能轻视。所以,千万不要本末倒置,把做题凌驾于看书之上。如何才叫熟悉?我认为,要打破“讲速度,不讲效率”的做法,看了多少遍并不是检验熟悉与否的指标,合上书本,随时自我检测,能否心中有数、一问便知,这才是关键。 再次,制定计划,合理分配时间。不是每一本参考书都很重要,都一样重要,所以,在了解真题的基础上,要了解每一本书占多少分,如何命题考试,在此基础上,每一本参考书的主次轻重、复习方略也就清楚了,复习才不会像开摊卖药,平均用力。一个月制定一份计划书,每天写一句话鼓励自己,一个月调整一次复习重点,这都是必要的。 最后,快乐复习。考研复习是以什么样状态进行的,根源在于能否克服不良情绪。第一,报考对外汉语,你是因为喜欢这个专业吗?如果是,那么,就继续给自己这种暗示,那么你一定会发现,复习再紧张,也是愉悦的,因为你是为了兴趣而考研的;第二,规律的作息,不大时间战,消耗战,养精蓄锐。运动加休息,如果能每天都很规律,那么成功也就有了保障,负面情绪少了,效率也就高了。 总结为几个关键词,就是:知己知彼、本末分明。

清华大学版理论力学课后习题答案大全

第6章 刚体的平面运动分析 6-1 图示半径为r 的齿轮由曲柄OA 带动,沿半径为R 的固定齿轮滚动。曲柄OA 以等角加速度α绕轴O 转动,当运动开始时,角速度0ω= 0,转角0?= 0。试求动齿轮以圆心A 为基点的平面运动方程。 解:?cos )(r R x A += (1) ?sin )(r R y A += (2) α为常数,当t = 0时,0ω=0?= 0 22 1t α?= (3) 起始位置,P 与P 0重合,即起始位置AP 水平,记θ=∠OAP ,则AP 从起始水平位置至图示AP 位置转过 θ??+=A 因动齿轮纯滚,故有? ? =CP CP 0,即 θ?r R = ?θr R = , ??r r R A += (4) 将(3)代入(1)、(2)、(4)得动齿轮以A 为基点的平面运动方程为: ??? ? ?? ??? +=+=+=22 2212sin )(2cos )(t r r R t r R y t r R x A A A α?αα 6-2 杆AB 斜靠于高为h 的台阶角C 处,一端A 以匀速v 0沿水平向右运动,如图所示。试以杆与铅垂 线的夹角 表示杆的角速度。 解:杆AB 作平面运动,点C 的速度v C 沿杆AB 如图所示。作速度v C 和v 0的垂线交于点P ,点P 即为杆AB 的速度瞬心。则角速度杆AB 为 6-3 图示拖车的车轮A 与垫滚B 的半径均为r 。试问当拖车以速度v 前进时, 轮A 与垫滚B 的角速度A ω与B ω有什么关系?设轮A 和垫滚B 与地面之间以及垫滚B 与拖车之间无滑动。 解:R v R v A A ==ω R v R v B B 22==ω B A ωω2= 6-4 直径为360mm 的滚子在水平面上作纯滚动,杆BC 一端与滚子铰接,另一端与滑块C 铰接。设杆BC 在水平位置时,滚子的角速度=12 rad/s ,=30,=60,BC =270mm 。试求该瞬时杆BC 的角速度和点C 的速度。 习题6-1图 A B C v 0 h 习题6-2图 P AB v C A B C v o h 习题6-2解图 习题6-3解图 习题6-3图 v A = v v B = v

运筹学教程清华第三版课后答案(第一章,第五章部分)

1.某饲养场饲养动物出售,设每头动物每天至少需700g蛋白质、30g矿物质、100mg 维生素。现有五种饲料可供选用,各种饲料每kg营养成分含量及单价如表1所示。表1 要求确定既满足动物生长的营养需要,又使费用最省的选用饲料的方案。 x表示满足动物生长的营养需要时,解:设总费用为Z。i=1,2,3,4,5代表5种饲料。 i 第i种饲料所需的数量。则有: 2.某医院护士值班班次、每班工作时间及各班所需护士数如表2所示。每班护士值班 开始时间向病房报道,试决定: (1)若护士上班后连续工作8h,该医院最少需要多少名护士,以满足轮班需要; (2)若除22:00上班的护士连续工作8h外(取消第6班),其他班次护士由医院排定上1~4班的其中两个班,则该医院又需要多少名护士满足轮班需要。表2 x第i班开始上班的人数,i=1,2,3,4,5,6 解:(1)设 i x第i 解:(2)在题设情况下,可知第五班一定要30个人才能满足轮班需要。则设设 i 班开始上班的人数,i=1,2,3,4。

a 3.要在长度为l的一根圆钢上截取不同长度的零件毛坯,毛坯长度有n种,分别为 j (j=1,2,…n)。问每种毛坯应当截取多少根,才能使圆钢残料最少,试建立本问题的数学模型。 解:设 x表示各种毛坯的数量,i=1,2,…n。 i 4.一艘货轮分前、中、后三个舱位,它们的与最大允许载重量如表3.1所示。现有三 种货物待运,已知有相关数据列于表3.2。 表3.1 表3.2 又为了航海安全,前、中、后舱实际载重量大体保持各舱最大允许载重量的比例关系。具体要求:前、后舱分别与中舱之间载重量比例的偏差不超过15%,前、后舱之间不超过10%。问该货轮应该载A,B,C各多少件运费收入才最大?试建立这个问题的线性规划模型。 x表示第i件商品在舱j的装载量,i,j=1,2,3 解:设 ij 1)商品的数量约束: 2)商品的容积约束: 3)最大载重量约束: 4)重量比例偏差的约束: 5.篮球队需要选择5名队员组成出场阵容参加比赛。8名队员的身高及擅长位置见表 5. 表5

数据结构(C语言版)9-12章练习 答案 清华大学出版社

9-12章数据结构作业答案 第九章查找 选择题 1、对n个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( A ) A.(n+1)/2 B. n/2 C. n D. [(1+n)*n ]/2 2. 下面关于二分查找的叙述正确的是 ( D ) A. 表必须有序,表可以顺序方式存储,也可以链表方式存储 B. 表必须有序且表中数据必须是整型,实型或字符型 C. 表必须有序,而且只能从小到大排列 D. 表必须有序,且表只能以顺序方式存储 3. 二叉查找树的查找效率与二叉树的( (1)C)有关, 在 ((2)C )时其查找效率最低 (1): A. 高度 B. 结点的多少 C. 树型 D. 结点的位置 (2): A. 结点太多 B. 完全二叉树 C. 呈单枝树 D. 结点太复杂。 4. 若采用链地址法构造散列表,散列函数为H(key)=key MOD 17,则需 ((1)A) 个链表。 这些链的链首指针构成一个指针数组,数组的下标范围为 ((2)C) (1) A.17 B. 13 C. 16 D. 任意 (2) A.0至17 B. 1至17 C. 0至16 D. 1至16 判断题 1.Hash表的平均查找长度与处理冲突的方法无关。 (错) 2. 若散列表的负载因子α<1,则可避免碰撞的产生。(错) 3. 就平均查找长度而言,分块查找最小,折半查找次之,顺序查找最大。(错) 填空题 1. 在顺序表(8,11,15,19,25,26,30,33,42,48,50)中,用二分(折半)法查找关键码值20, 需做的关键码比较次数为 4 . 算法应用题 1. 设有一组关键字{9,01,23,14,55,20,84,27},采用哈希函数:H(key)=key mod 7 ,表长 为10,用开放地址法的二次探测再散列方法Hi=(H(key)+di) mod 10解决冲突。要求:对该关 键字序列构造哈希表,并计算查找成功的平均查找长度。 2. 已知散列表的地址空间为A[0..11],散列函数H(k)=k mod 11,采用线性探测法处理冲 突。请将下列数据{25,16,38,47,79,82,51,39,89,151,231}依次插入到散列表中,并计算出在 等概率情况下查找成功时的平均查找长度。 3、对长度为20 的有序表进行二分查找,试画出它的一棵判定树,并求等概率情况下的平均 查找长度。 4、设散列表的长度为15,散列函数H(K)=K%13,给定的关键字序列为20,16,29,82,37,02,06,28,55,39,23,10,试写出分别用拉链法和线性探测法解决冲突时所构造的散 列表,并求出在等概率情况下,这两种方法查找成功时的平均查找长度。

运筹学(胡运权)第五版课后答案-运筹作业

运筹学(胡运权)第五版课后答案-运筹作业

47页1.1b 用图解法找不到满足所有约束条件的公共范围,所以该问题无可行解47页1.1d 无界解 1 2 3 4 5 4 3 2 1 - 1 -6 -5 -4 -3 -2 X2 X1 2x1- -2x1+3x 1 2 3 4 4 3 2 1 X1 2x1+x2=2 3x1+4x2= X

1.2(b) 约束方程的系数矩阵A= 1 2 3 4 2 1 1 2 P1 P2 P3 P4 基 基解 是否可行解目标函数值X1 X2 X3 X4 P1 P2 -4 11/2 0 0 否 P1 P3 2/5 0 11/5 0 是43/5 P1 P4 -1/3 0 0 11/6 否 P2 P3 0 1/2 2 0 是 5 P2 P4 0 -1/2 0 2 否 P3 P4 0 0 1 1 是 5 最优解A=(0 1/2 2 0)T和(0 0 1 1)T 49页13题 设Xij为第i月租j个月的面积 minz=2800x11+2800x21+2800x31+2800x41+4500x12+4500x22+4500x32+6000x1 3 +6000x23+7300x14 s.t. x11+x12+x13+x14≥15 x12+x13+x14+x21+x22+x23≥10 x13+x14+x22+x23+x31+x32≥20 x14+x23+x32+x41≥12 Xij≥0 用excel求解为: ( )

用LINDO求解: LP OPTIMUM FOUND AT STEP 3 OBJECTIVE FUNCTION V ALUE

数据结构习题集答案解析_清华大学版

第1章 绪论 1.1 简述下列术语:数据,数据元素、数据对象、数据结构、存储结构、数据类型和抽象数据类型。 解:数据是对客观事物的符号表示。在计算机科学中是指所有能输入到计算机中并被计算机程序处理的符号的总称。 数据元素是数据的基本单位,在计算机程序常作为一个整体进行考虑和处理。 数据对象是性质相同的数据元素的集合,是数据的一个子集。 数据结构是相互之间存在一种或多种特定关系的数据元素的集合。 存储结构是数据结构在计算机中的表示。 数据类型是一个值的集合和定义在这个值集上的一组操作的总称。 抽象数据类型是指一个数学模型以及定义在该模型上的一组操作。是对一般数据类型的扩展。 1.2 试描述数据结构和抽象数据类型的概念与程序设计语言中数据类型概念的区别。 解:抽象数据类型包含一般数据类型的概念,但含义比一般数据类型更广、更抽象。一般数据类型由具体语言系统部定义,直接提供给编程者定义用户数据,因此称它们为预定义数据类型。抽象数据类型通常由编程者定义,包括定义它所使用的数据和在这些数据上所进行的操作。在定义抽象数据类型中的数据部分和操作部分时,要求只定义到数据的逻辑结构和操作说明,不考虑数据的存储结构和操作的具体实现,这样抽象层次更高,更能为其他用户提供良好的使用接口。 1.3 设有数据结构(D,R),其中 {}4,3,2,1d d d d D =,{}r R =,()()(){}4,3,3,2,2,1d d d d d d r = 试按图论中图的画法惯例画出其逻辑结构图。 解: 1.4 试仿照三元组的抽象数据类型分别写出抽象数据类型复数和有理数的定义(有理数是其分子、分母均为自然数且分母不为零的分数)。 解: ADT Complex{ 数据对象:D={r,i|r,i 为实数} 数据关系:R={} 基本操作: InitComplex(&C,re,im) 操作结果:构造一个复数C ,其实部和虚部分别为re 和im DestroyCmoplex(&C) 操作结果:销毁复数C Get(C,k,&e) 操作结果:用e 返回复数C 的第k 元的值 Put(&C,k,e) 操作结果:改变复数C 的第k 元的值为e IsAscending(C) 操作结果:如果复数C 的两个元素按升序排列,则返回1,否则返回0 IsDescending(C)

数据结构清华大学出版社严蔚敏吴伟民编著

第一章绪论 1、数据结构是计算机中存储、组织数据的方式。精心选择的数据 结构可以带来最优效率的算法。 2、程序设计= 算法+数据结构 3、解决问题方法的效率: ●跟数据的组织方式有关 ●跟空间的利用效率有关 ●跟算法的巧妙程度有关 4、数据:所有能输入到计算机中,且被计算机处理的符号的集合, 是计算机操作对象的总称; 是计算机处理的信息的某种特定的符号表示形式。 5、数据元素:数据中的一个“个体”,数据结构中讨论的基本单 位。相当于“记录”,在计算机程序中通常作为一个整体考 虑和处理。 6、数据项: 相当于记录的“域”, 是数据的不可分割的最小单位, 如学号。数据元素是数据项的集合。 7、数据对象:性质相同的数据元素的集合. 例如: 所有运动员的记录集合 8、数据结构:是相互间存在某种关系的数据元素集合。 9、数据结构是带结构的数据元素的集合。 10、不同的关系构成不同的结构。 11、次序关系:

{|i=1,2,3,4,5,6} 12、对每种数据结构,主要讨论如下两方面的问题: 1)数据的逻辑结构,数据结构的基本操作; 2)数据的存储结构,数据结构基本操作的实现; 13、数据的逻辑结构: 数据之间的结构关系,是具体关系的抽象。 数据结构的基本操作: 指对数据结构的加工处理。 14、数据的存储结构(物理结构): 数据结构在计算机内存中的表示。 数据结构基本操作的实现: 基本操作在计算机上的实现(方法)。 15、数据结构的有关概念 16、数据元素的4类的基本结构: ○1集合; ○2线性结构:结构中数据元素之间存在一对一的关系; ○3树形结构:结构中数据元素之间存在一对多的关系; ○4图状结构或网状结构:结构中数据元素之间存在多对多的关系。 17、C语言的优点:C语言可以直接操作内存。 18、每个节点都由两部分组成:数据域和指针域。 19、链接存储结构特点:

清华_第三版_运筹学教程_课后答案~(_第一章_第五章部分)

清华第三版 运筹学 答案[键入文字] [键入文字] [键入文字] 运筹学教程 1. 某饲养场饲养动物出售,设每头动物每天至少需700g 蛋白质、30g 矿物质、100mg 维生素。现有五种饲料可供选用,各种饲料每kg 营养成分含量及单价如表1所示。 表1 要求确定既满足动物生长的营养需要,又使费用最省的选用饲料的方案。 解:设总费用为Z 。i=1,2,3,4,5代表5种饲料。i x 表示满足动物生长的营养需要时,第i 种饲料所需的数量。则有: ????? ? ?=≥≥++++≥++++≥++++++++=5,4,3,2,1,01008.022.05.0305.022.05.07008623..8.03.04.07.02.0min 54321543215432154321i x x x x x x x x x x x x x x x x t s x x x x x Z i 2. 某医院护士值班班次、每班工作时间及各班所需护士数如表2所示。每班护士值班 开始时间向病房报道,试决定: (1) 若护士上班后连续工作8h ,该医院最少需要多少名护士,以满足轮班需要; (2) 若除22:00上班的护士连续工作8h 外(取消第6班),其他班次护士由医院 排定上1~4班的其中两个班,则该医院又需要多少名护士满足轮班需要。 表2

6 2:00~6:00 30 解:(1)设x 第i 班开始上班的人数,i=1,2,3,4,5,6 ???????????=≥≥+≥+≥+≥+≥+≥++++++=且为整数 6,5,4,3,2,1,030 2050607060..min 655443 322161 654321i x x x x x x x x x x x x x t s x x x x x x Z i 解:(2)在题设情况下,可知第五班一定要30个人才能满足轮班需要。则设设i x 第i 班开始上班的人数,i=1,2,3,4。 ??? ????? ?? ??? ??=≥=+++=≥+++=+++=≥+++=+++=≥+++=+++=≥+++++++=4 ,3,2,1,1002 1502 16021702 ,160..30 min i 444342414444433422411434 33323133 443333223113242322212244233222211214131211114413312211114321j i y x y y y y y x y x y x y x y y y y y y x y x y x y x y y y y y y x y x y x y x y y y y y y x y x y x y x y t s x x x x Z ij 变量,—是,,,第四班约束,,第三班约束,,第二班约束,第一班约束 3. 要在长度为l 的一根圆钢上截取不同长度的零件毛坯,毛坯长度有n 种,分别为j a (j=1,2,…n )。问每种毛坯应当截取多少根,才能使圆钢残料最少,试建立本问题的数学模型。 解:设i x 表示各种毛坯的数量,i=1,2,…n 。

清华大学版理论力学课后习题答案大全_____第6章刚体平面运动分析汇总

6章 刚体的平面运动分析 6-1 图示半径为r 的齿轮由曲柄OA 带动,沿半径为R 的固定齿轮滚动。曲柄OA 以等角加速度α绕轴O 转动,当运动开始时,角速度0ω= 0,转角0?= 0。试求动齿轮以圆心A 为基点的平面运动方程。 解:?c o s )(r R x A += (1) ?sin )(r R y A += (2) α为常数,当t = 0时,0ω=0?= 0 22 1t α?= (3) 起始位置,P 与P 0重合,即起始位置AP 水平,记θ=∠OAP ,则AP 从起始水平位置至图示AP 位置转过 θ??+=A 因动齿轮纯滚,故有? ? =CP CP 0,即 θ?r R = ?θr R = , ??r r R A += (4) 将(3)代入(1)、(2)、(4)得动齿轮以A 为基点的平面运动方程为: ??? ? ?? ??? +=+=+=22 2212sin )(2cos )(t r r R t r R y t r R x A A A α?αα 6-2 杆AB 斜靠于高为h 的台阶角C 处,一端A 以匀速v 0沿水平向右运动,如图所示。试以杆与铅垂线的夹角θ 表示杆的角速度。 解:杆AB 作平面运动,点C 的速度v C 沿杆AB 如图所示。作速度v C 和v 0的垂线交于点P ,点P 即为杆AB 的速度瞬心。则角速度杆AB 为 h v AC v AP v AB θθω2 000cos cos === 6-3 图示拖车的车轮A 与垫滚B 的半径均为r 。试问当拖车以速度v 前进时,轮A 与垫滚B 的角速度A ω与B ω有什么关系?设轮A 和垫滚B 与地面之间以及垫滚B 与拖车之间无滑动。 解:R v R v A A == ω R v R v B B 22==ω B A ωω2= 6-4 直径为360mm 的滚子在水平面上作纯滚动,杆BC 一端与滚子铰接,另一端与滑块C 铰接。设杆BC 在水平位置时,滚子的角速度ω=12 rad/s ,θ=30?,?=60?,BC =270mm 。试求该瞬时杆BC 的角速度和点C 的速度。 习题6-1图 习题6-2图 习题6-2解图 习题6-3解图 习题6-3图 v A = v v B = v ωA ωB

《数据结构》期终考试试卷(A)-清华大学

2010年《数据结构》期终考试试卷(A) 班级学号姓名 一、简答题(每小题6分,共30分) (1) 假设一个线性链表的类名为linkedList,链表结点的类名为ListNode,它包含两个数据成员data和link。data存储该结点的数据,link是链接指针。下面给定一段递归打印一个链表中所有结点中数据的算法: void PrintList (ListNode *L) { if ( L != NULL ) { cout << L->data << endl; PrintList ( L->link ); } } 试问此程序在什么情况下不实用?给出具体修改后的可实用的程序? (1) 此程序在内存容量不足时不适用。因为需要一个递归工作栈。当链表越长,递归工作栈的深度越深,需要的存储越多。可采用非递归算法节省存储。 void PrintList (ListNode *L) { while ( L != NULL ) { cout << L->data << endl; L = L->link; } } (2) 如果每个结点占用2个磁盘块因而需要2次磁盘访问才能实现读写,那么在一棵有n个关键码的2m阶B树中,每次搜索需要的最大磁盘访问次数是多少? (2) 在2m阶B树中关键码个数n与B树高度h之间的关系为h≤log m ((n+1)/2)+1,那么每次搜索最大磁盘访问次数为2h max = 2log m ((n+1)/2)+2。

(3) 给定一棵保存有n 个关键码的m 阶B 树。从某一非叶结点中删除一个关键码需要的最大磁盘访问次数是多少? (3) 在m 阶B 树中关键码个数n 与B 树最大高度h 的关系为h = log ?m/2?((n+1)/2)+1。若设寻找被删关键码所在非叶结点读盘次数为h ’,被删关键码是结点中的k i ,则从该结点的p i 出发沿最左链到叶结点的读盘次数为h -h ’。当把问题转化为删除叶结点的k 0时,可能会引起结点的调整或合并。极端情况是从叶结点到根结点的路径上所有结点都要调整,除根结点外每一层读入1个兄弟结点,写出2个结点,根结点写出1个结点,假设内存有足够空间,搜索时读入的盘块仍然保存在内存,则结点调整时共读写盘3(h -1)+1。总共的磁盘访问次数为 h ’+(h -h ’)+3(h -1)+1 = 4h -2 = 4(log ?m/2?((n+1)/2)+1)-2 = = 4log ?m/2?((n+1)/2)+2 (4) 给定一个有n 个数据元素的序列,各元素的值随机分布。若要将该序列的数据调整成为一个堆,那么需要执行的数据比较次数最多是多少? (4) 设堆的高度为h = ?log 2(n+1)?,当每次调用siftDown 算法时都要从子树的根结点调整到叶结点,假设某子树的根在第i 层(1≤i ≤h -1),第h 层的叶结点不参加比较。从子树根结点到叶结点需要比较h -i 层,每层需要2次比较:横向在两个子女里选一个,再纵向做父子结点的比较。因此,在堆中总的比较次数为 )i h j ( 2j 2 2j 22 2j 2 2)i h (221 h 1 j j 1 -h 1 h 1 j j -1 h 1 h 1 j 1 -j -h 1h 1 i 1-i -=??=??=?=-∑ ∑∑∑-=-=--=-=代换 因为 2h-1 ≤n ≤2h -1,且∑-=∞ →=1 h 1j j h 22j lim ,则n 42n 22 j 221 h 1j j 1 h =??≤??∑-=-

运筹学教程 清华 第三版 课后答案( 第一章,第五章部分)

1. 某饲养场饲养动物出售,设每头动物每天至少需700g 蛋白质、30g 矿物质、100mg 维生素。现有五种饲料可供选用,各种饲料每kg 营养成分含量及单价如表1所示。 表1 要求确定既满足动物生长的营养需要,又使费用最省的选用饲料的方案。 解:设总费用为Z 。i=1,2,3,4,5代表5种饲料。i x 表示满足动物生长的营养需要时,第i 种饲料所需的数量。则有: ????? ? ?=≥≥++++≥++++≥++++++++=5,4,3,2,1,01008.022.05.0305.022.05.07008623..8.03.04.07.02.0min 54321543215432154321i x x x x x x x x x x x x x x x x t s x x x x x Z i 2. 某医院护士值班班次、每班工作时间及各班所需护士数如表2所示。每班护士值班 开始时间向病房报道,试决定: (1) 若护士上班后连续工作8h ,该医院最少需要多少名护士,以满足轮班需要; (2) 若除22:00上班的护士连续工作8h 外(取消第6班),其他班次护士由医院 排定上1~4班的其中两个班,则该医院又需要多少名护士满足轮班需要。 表2

解:(1)设x 第i 班开始上班的人数,i=1,2,3,4,5,6 ???????????=≥≥+≥+≥+≥+≥+≥++++++=且为整数 6,5,4,3,2,1,030 2050607060..min 655443 322161 654321i x x x x x x x x x x x x x t s x x x x x x Z i 解:(2)在题设情况下,可知第五班一定要30个人才能满足轮班需要。则设设i x 第i 班开始上班的人数,i=1,2,3,4。 ??? ????? ?? ??? ??=≥=+++=≥+++=+++=≥+++=+++=≥+++=+++=≥+++++++=4 ,3,2,1,1002 1502 16021702 ,160..30 min i 444342414444433422411434 33323133 443333223113242322212244233222211214131211114413312211114321j i y x y y y y y x y x y x y x y y y y y y x y x y x y x y y y y y y x y x y x y x y y y y y y x y x y x y x y t s x x x x Z ij 变量,—是,,,第四班约束,,第三班约束,,第二班约束,第一班约束 3. 要在长度为l 的一根圆钢上截取不同长度的零件毛坯,毛坯长度有n 种,分别为j a (j=1,2,…n )。问每种毛坯应当截取多少根,才能使圆钢残料最少,试建立本问题的数学模型。 解:设i x 表示各种毛坯的数量,i=1,2,…n 。 ?????≤= ∑∑==是整数i 1 1 1max x x a x a Z i i n i i i n i

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