- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课后练习答案是本人精心整理的专业学科课后习题答案,可在线免费浏览全文并供大家下载。另外本网提供大学各专业教材各册不同版本作者主编的课后习题参考答案,不同版本版次,第N册练习题目习题及答案
数据结构2009年习题参考答案
教材 数据结构(c语言版)第一版 作者 李云清等
概论
概念题从略
1.10
(1)O(1) (2)O(n) (3)O(n2)
线性表的顺序存储
2.2
int number_of_x_sequence_list(sequence_list slt,datatype x)
{int i,n=0;
if(!slt.size) {printf(顺序表是空的!);exit(1);}
else
for(i=0;islt.size;i++)
if(slt.a[i]==x) n++;
return n;
}
2.3
void inversion_sequence_list(sequence_list *slt)
{int i,temp;
if(!slt-size) {printf(顺序表是空的!);exit(1);}
else
for(i=0;islt-size/2;i++)
{temp=slt-a[i];slt-a[i]=slt-a[slt-size-i-1];slt-a[slt-size-i-1]=temp;}
}
2.4
void insert_order_sequence_list(sequence_list *slt,datatype x)
{int i=0;
if(slt-size==MAXSIZE)
{printf(\n顺序表是满的!没法插入!);exit(1);}
i=find_num_sequence_list(slt,x);
insert_pos_sequence_list(slt,i,x);
}
2.6
当rear=front 时,循环队列的元素个数是 rear-fornt
当rearfront 时,循环队列的元素个数是n+rear-front-1
综合起来:(n+rear-front)%n
2.7
1234,1243,1324,1342,1432,2134,2143,2314,2341,2431,3214,3241,3421,4321 共14种
归纳起来有两种方法算具体的排序种类:
bn=1/(n+1)*2n!/(n!*n!)
递推公式:F(n)=F(0)*F(n-1)+F(1)*F(n-2)+F(2)*F(n-3)+…+F(n-1)*F(n-n);(其中n=1,F(0)=1)
具体的完成实现程序如下:
#include stdio.h
int stk[21],out[21];
void go(int n,int intop,int outtop,int in)
{
int i,t;
if(intop==0 outtop==n)
{
for(i=0;in;i++)
{printf(%d,out[i]);
if(i==n-1) printf(\n);
}
return;
}
if(intopn inn)
{
stk[intop]=in+1;
go(n,intop+1,outtop,in+1);
}
if(intop0)
{
out[outtop]=stk[intop-1];
t=stk[intop-1];
go(n,intop-1,outtop+1,in);
stk[intop-1]=t;
}
}
main()
{
int n;
printf(please input n:\n);
scanf(%d,n);
go(n,0,0,0);
getch();
}
线性表的链式存储
3.1
int cal_link_list(node *head)
{
int i=0;
node *q=head;
while(q) {i++;q=q-next;}
printf(\nThis list a total %d of nodes,i);
return i;
}
3.3
node *insert_x_before_y(node *head,int x,int y)
{
node *m,*n,*t;
m=head;
while(mm-info!=y)
{
n=m;
m=m-next;
}
t=(node *)malloc(sizeof(node));
t-info=x;
t-next=m;
n-next=t
您可能关注的文档
- 实变函数(程其襄版)第一至四章课后习题答案.doc
- 实用软件工程第3版课后习题答案_IT168文库.doc
- 食品化学答案1.pdf
- 计量经济学(庞浩)第二版第二到六章练习题及参考解答.doc
- 计量经济学书后答案__书第1-10章.doc
- 计算机操作系统课后作业答案.doc
- 计算机二级《笔试宝典》习题答案与详解.doc
- 计算机教材全部习题答案.doc
- 计算机网络(谢希仁第五版,电子工业出版社)课后习题答案.doc
- 计算机系统结构(第2版)郑伟明汤志忠课后习题答案以及例题收录.doc
- 2024年度安永全球另类投资基金调查报告.docx
- 2024年中国汽车产业出海回顾分析 -中汽信科国际化研究团队.docx
- 【民航局国际合作服务中心】马尔代夫民航业发展研究报告.docx
- 2025走向融合与深化的中国媒介市场报告-星传媒体.docx
- 2023Givaudan和ESG目的与性能.docx
- 中国民间应对气候变化行动故事集-教育故事.docx
- 2025AI制药市场规模产业链构成应用现状及AI制药公司分析报告.docx
- 医疗器械专题之基因测序:分子诊断掌上明珠,四代测序开启规模化应用时代.docx
- 2024年中央银行黄金储备调查报告 202406.docx
- 智慧芽 -2024第4季度全球潜力靶点及FIC产品调研报告.docx
文档评论(0)