- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构2习题
第2章 线性表 1. 在顺序表中插入或删除一个元素,需要平均移动 元素,具体移动的元素个数 与 有关。 2. 线性表中结点的集合是有限的,结点间的关系是 的。 3. 向一个长度为n的向量的第i个元素(1≤i≤n+1)之前插入一个元素时,需向后移动 个元素。 4. 一个长度为n的向量中删除第i个元素(1≤i≤n)时,需向前移动 个元素。 表中一半 表长和该元素在表中的位置 一对一 n-i+1 n-i 第2章 线性表 5. 在顺序表中访问任意一结点的时间复杂度均为 ,因此,顺序表也称为 的数据结构。 6. 顺序表中逻辑上相邻的元素的物理位置 相邻。单链表中逻辑上相邻的元素的物理位置 相邻。 7. 在单链表中,除了首结点外,任一结点的存储位置由 指示。 8. 在n个结点的单链表中要删除已知结点*p,需找到它的 ,其时间复杂度为 。 O(1) 随机存取 必定 不一定 其直接前驱结点的链域的值 前驱结点的地址 O(n) 第2章 线性表 9. 线性表具有两种存储方式,即顺序方式和链接方式。现有一个具有五个元素的线性表L={23,17,47,05,31},若它以链接方式存储在下列100~119号地址空间中,每个结点由数据(占2个字节)和指针(占2个字节)组成,如下表所示,其中指针X,Y,Z的值分别为多少?该线性表的首结点起始地址为多少?末结点的起始地址为多少? 编程题 写出在顺序存储结构下将线性表逆转的算法,要求使用最少的附加空间。 解: 输入:长度为n的线性表数组A(1..n) 输出:逆转后的长度为n的线性表数组A(1..n)。 T为数据元素类型 #includeiostream.h #includeSeqList.h #include“stdlib.h” void SeqList::Nixu()//逆序输出各数据 { if(size==0) cout线性表为空endl; else for(int i=0;i=size/2;i++) { T temp; temp=data[i];data[i]=data[size-1-i]; data[size-1-i]=temp; } } 2.已知L是无头结点的单链表,且P结点既不是首元结点,也不是尾元结点,请写出在P结点后插入S结点的核心语句序列。 S-next=P-next; P-next=S; 3.Index(L,x)操作算法//返回线性链表中第一个与x相等的元素的位置,若不存在则返回NULL。 LinkNode *LinkList::Index (T x) //带头结点 { LinkNode *p; p=head-next; while((p!=NULL)(p-data!=x)) p=p-next; return p; } 4. 在线性表中查找并输出下标的算法:Find (int item) void SeqList::Find (int item)//查找并输出下标 { if(size==0) cout线性表为空endl; else { int i=0; while (isizeitem!=data[i]) i++; if(isize) cout i+1endl; else cout线性表中无itemendl; } } 5.编写算法,实现单链表的就地逆置,即要求在原单链表的存储空间内将原表逆置。 (a1, a2,…, an)- (an, an-1,…, a1) 分析: ①将原链表中的头结点和第一个结点元素断开,先构成一个新空表; ②把第一个结点加入到空表中; ③然后从第二个结点起,依次插入到这个新表的头部。 Void LinkList:: inverse(){ LinkNode *p,*r,*q; p=head-next; r=p; p=p-next; r-next=NULL; While (p!=NULL){ q=p
您可能关注的文档
最近下载
- 新教材人音版一年级音乐上册(艺术唱游)全册教案(全30页)(2024年) .pdf VIP
- 放行管理规程.docx VIP
- 标准检验指导书(SIP)-(格式模板).docx VIP
- 2023年江西文化演艺发展集团有限责任公司岗位招聘考试真题.docx
- 道德与法治六年级上册第三单元《我们的国家机构》教案设计.docx VIP
- 2024年公务员行测真题附参考答案详解【满分必刷】.docx VIP
- 工业管道支吊架预制安装工艺设计标准.docx VIP
- 四年级上册数学计算题天天练及答案(可打印).pdf VIP
- 2025至2030中国网球行业发展趋势与前景展望战略报告.docx VIP
- 融合新闻学课件音频新闻.pptx VIP
原创力文档


文档评论(0)