- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
习题1
1.解释以下概念:逻辑结构,存储结构,操作,数据结构,数据结构的表示,数据结构的实现,抽象数据类型,算法,算法的时间代价,算法的空间代价,大O表示法。
2.理解以下关系:算法与数据结构的关系;数据结构与抽象数据类型的关系;算法和数据结构与问题求解的关系。
3. 写出下列程序段的平均情况下的时间代价O表示式。
(1) a=b+c; O(1)
d=a+e
(2) sum=0; O(3n)
for (i=0;i3;i++)
for (j=0;jn;j++)
sum++;
(3) x=n; O(n1/2) 或 O(√n )
y=0;
while (x=(y+1)*(y+1))
y++;
(4) s=0; O(n)
if(even(n))
for (i=0;in;i++)
sum++;
else
s=s+n;
(5) x=66;n=200; O(n)
while (n0){
if(xlO0){
x=x-10;
n=n-1;
}else
x=x+1;
}
4.对于给定的n个元素,可以构造出的逻辑结构有 集合 , 线性结构 ,
树结构 , 图结构 四种。
5.按增长率由小到大的顺序排列下列各函数:
2100, ()n, ()n, ()n, nn, n, n!, n, log2n, n/log2n
()n, 2100, log2n, n/log2n, n, n, ()n, ()n, n!, nn
习题2
2.1已知L是无头结点的单链表,且p结点既不是第一个结点,也不是最后一个结点,试从下列提供的语句中选出合适的语句序列:
(1)在p结点之后插入s结点:④、①
(2)在p结点之前插入s结点:⑧、⑿、⑨、④、①
(3)在单链表L首插入s结点:⑤、⒀
(4)在单链表L后插入s结点:⑿、⑽、⑦、①
提供的语句:
①p-next=s;
②p-next=p-next-next;
③p-next=s-next;
④s-next=p-next;
⑤s-next=L;
⑥s-next=p;
⑦s-next=NULL;
⑧q=p;
⑨while(p-next!=q)p=p-next;
⑩while(p-next!=NULL)p=p-next;
⑾p=q;
⑿p=L;
⒀L=s;
⒁L=p;
2.2 已知p结点是某双向链表的中间结点,试从下列提供的语句中选出合适的语句序列。
(1)在p结点之后插入s结点: ⑥、⑦、⑿、③
(2)在p结点之前插入s结点: ⑤、⑧、⒀、④
(3)删除p结点的直接后继结点:⒂、①、⑾、⒅
(4)删除p结点的直接前驱结点:⒃、②、⑽、⒅
提供的语句:
①p-next=p-next-next;
②p-prior=p-prior-prior;
③p-next=s;
④p-prior=s;
⑤s-next=p;
⑥s-prior=p;
⑦s-next=p-next;
⑧s-prior=p-prior;
⑨p-prior-next=p-next;
⑩p-prior-next=p;
⑾p-next-prior=p;
⑿p-next-prior=s;
⒀p-prior-next=s;
⒁p-next-prior=p-prior;
⒂q=p-next;
⒃q=p-prior;
⒄free(p);
⒅free(q);
2.3试编写一个计算头结点指针为L的单链表长度的算法。
线性表的单链表存储结构表示如下:
typedef struct LNode {
ElemType data;
struct LNode *next;
}LNode,*LinkList;
算法编写
int Length_L(LinkList L) {
//L为单链表的头指针,此函数返回L所指单链表的长度
p=L-next; //初始时,p指向单链表的第一个结点
k=0; //初始时,计数器k为0
while(p!=NULL) {
k+
您可能关注的文档
最近下载
- 肉牛生产性能测定技术规范-编制说明.pdf VIP
- 中医药治疗乙型肝炎的优势及存在的问题.docx VIP
- 高危新生儿眼病筛查分类管理专家共识(2024).pptx VIP
- 24J306国家建筑标准设计图集.docx
- 汽车轮毂结构优化与轻量化设计研究.docx VIP
- 生物质呋喃基新材料呋喃二甲酸(FDCA)项目可行性研究报告写作模板-申批备案.doc
- 2025年搬运机器人行业研究报告及未来五至十年行业预测分析报告.docx
- FDCA行业动态报告:FDCA发展潜力巨大,下游制成PEF替代空间广阔.docx
- 学前儿童美术教育与活动指导第4版全套教学课件.pptx
- 预算编制服务投标方案(技术标).pdf
文档评论(0)