本节书摘来自华章出版社《数据结构与算法 C语言版》一 书中的第3章,第3.8节,作者:徐凤生,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.8习题

1名词解释:栈、队列、循环队列。
2如果输入序列为1,2,3,4,5,6,试问能否通过栈结构得到以下两个序列:4,3,5,6,1,2和1,3,5,4,2,6;请说明为什么不能得到或如何才能得到。
3试证明:若借助栈由输入序列1,2,…,n得到序列p1,p2,…,pn(它是输入序列的一个全排列),则在输出序列中不可能出现下列情况:存在i<j<k,使得pj4当函数f递归调用自身时,函数f内定义的局部变量在函数f的2次调用期间是否占用同一数据区?为什么?
5简要叙述循环队列的数据结构,并写出其初始状态、队列空、队列满时的队头指针和队尾指针的值。
6设有一个双端队列,元素进入该队列的次序为1,2,3,4,求既不能由输入受限的双端队列得到,又不能由输出受限的双端队列得到的输出序列。
7简述以下算法的功能。
(1)void algo1(Stack S){
int i,n,A[255];
n=0;
while(!StackEmpty(S)){n++;Pop(S,A[n]);};
for(i=1;i<=n;i++)Push(S,A[i]);
}
(2)void algo2(Stack S,int e){
Stack T;int d;
InitStack(T);
while(!StackEmpty(S)){Pop(S,d);if(d!=e)Push(T,d);}
while(!StackEmpty(T)){Pop(T,d);Push(S,d);}
}
(3)void algo3(Queue &Q){//栈和队列的元素类型均为int
Stack S;int d;
InitStack(T);
while(!QueueEmpty(Q)){DeQueue(Q,d);Push(S,d);}
while(!StackEmpty(S)){Pop(S,d);EnQueue(Q,d);}
}
8试写一个算法,识别依次读入的一个以@为结束符的字符序列是否为形如“序列1&序列2”模式的字符序列。其中,序列1和序列2中不含字符@,且序列2是序列1的逆序列。
9在火车调度站的入口处有n节硬席或软席车厢(分别以H和S表示)等待调度,试编写一个算法,输出对这n节车厢进行调度的操作(即入栈或出栈操作)序列,以使所有的软席车厢都被调整到硬席车厢之前。
10试写出求递归函数F(n)的递归算法,并消除递归。
F(n)=n+1n=0
n·F(n/2)n>0
11试将下列递归函数改为非递归函数:
void test(int ∑){
int x;
scanf("%d",&x);
if(x==0)sum=0;
else{test(sum);sum+=x;}
printf("sum=%d\\n",sum);
}
12设有整数列p1,p2,…,pn,给出求解其最大值的递归程序。
13假设以带头结点的循环链表表示队列,并且只设一个指针指向队尾元素结点(注意不设头指针),试编写相应的队列初始化、入队和出队的算法。
14假设称正读和反读都相同的字符序列为“回文”,试编写一个算法判别读入的一个以@为结束符的字符序列是否是“回文”。
15编写一个算法,借助于栈将一个单链表逆序输出。
16假设循环队列中只设rear和length来分别指示队尾元素的位置和队中元素的个数,试给出此循环队列的队满条件,并写出相应的入队和出队算法,要求出队时需返回队头元素。

《数据结构与算法 C语言版》—— 3.8习题相关推荐

  1. 《数据结构与算法 C语言版》—— 2.5上机实验

    本节书摘来自华章出版社<数据结构与算法 C语言版>一 书中的第2章,第2.5节,作者:徐凤生,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.5上机实验 实 ...

  2. 《数据结构与算法 C语言版》—— 2.7习题

    本节书摘来自华章出版社<数据结构与算法 C语言版>一 书中的第2章,第2.7节,作者:徐凤生,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.7习题 1描 ...

  3. 【数据结构与算法——C语言版】1. 数据结构与算法简介

    概念 数据结构:"一组数据的存储结构" 算法:"操作数据的一组方法" 数据结构是为算法服务的,算法是要作用再特定的数据结构上的. 简言之,在编程实践中,我们可能 ...

  4. 数据结构与算法C语言版—绪论

    1.基本概念和术语 1.数据(data):所有能输入到计算机中去的描述客观事物的符号 数值性数据 非数值性数据(多媒体信息处理) 2.数据元素(data element):数据的基本单位,也称结点(n ...

  5. c语言数据结构算法设计题,数据结构题集(C语言版)算法设计题答案[].doc

    数据结构题集(C语言版)算法设计题答案[].doc 第一章 绪论 1.16 void print_descending(int x,int y,int z)// 按从大到小顺序输出三个数 { scan ...

  6. c语言线性表库函数大全,数据结构(C语言版)-线性表习题详解

    <数据结构(C语言版)-线性表习题详解>由会员分享,可在线阅读,更多相关<数据结构(C语言版)-线性表习题详解(23页珍藏版)>请在人人文库网上搜索. 1.数 据 结 构 ,线 ...

  7. java递归单链表查找中间元素_《数据结构与算法——C语言描述》答案 3.11 查找单链表中的特定元素(递归)...

    转载请注明出处:http://blog.csdn.net/xdz78 #include #include //查找单链表中的特定元素,<数据结构与算法--c语言描述> 3.11 答案 in ...

  8. 数据结构与算法python描述_数据结构与算法——Python语言描述.pdf

    数据结构与算法--Python语言描述.pdf 欢迎加入非盈利Python编学习交流程QQ群783462347,群里免费提供500+本Python书籍! 欢迎加入非盈利Python编程学习交流程QQ群 ...

  9. 构建线性表的c语言代码,数据结构严蔚敏C语言版—线性表顺序存储结构(顺序表)C语言实现相关代码...

    1.运行环境 这里说明一下这里所有的C语言代码都是基于code::blocks 20.03编译运行的.当然一些其他集成开发环境应该也是可以的,个人不太喜欢功能太过强大的IDE,因为那同样意味着相关设置 ...

最新文章

  1. java连接mysql以及增删改查操作
  2. 深入理解 Mybatis 插件开发
  3. 百度地图应用开发(一)
  4. android邮件系统开发的基础知识
  5. Qt中的QPrintDialog
  6. 计算器初步添加消息响应
  7. Java Spring注解实现分析之@requestMapping工作原理
  8. 记录最近的一些遇到的前端面试题
  9. LeetCode 1338. 数组大小减半
  10. matlab设置背景颜色
  11. C++ 11互斥锁的应用(针对于多线程的情况)
  12. keil uvisoin软件出现闪退和打开工程以前添加的c文件上面出现黄色感叹号
  13. MyBatis框架的基本使用
  14. (转)币圈人物志 BM(EOS,BTS,Steem缔造者)
  15. 计算机的it入门知识,IT基础知识入门课程.ppt
  16. 车载安卓屏刷鸿蒙,车载安卓大屏相比于原车导航种种优势
  17. 免费直播系统源码,可控的跑马灯,无需焦点
  18. java graphics类详解_Java中Graphics2D类的使用操作解析
  19. 从修正Adam到理解泛化:概览2017年深度学习优化算法的最新研究进展
  20. 微信小程序开发实战3 使用Go语言开发Web服务

热门文章

  1. 微信红包随机算法实现
  2. POJ 3126 Prime Path(筛法,双向搜索)
  3. thinkphp链接mssql以及查询中文乱码问题
  4. 请确保此代码文件中定义的类与“inherits”属性匹配,并且该类扩展的基类(例如Page 或UserControl)是正确的。...
  5. 《HTML5与CSS3实例教程》
  6. [转]python的requests发送/上传多个文件
  7. Cisco与Linux的NAT
  8. finally代码块和return的执行顺序问题
  9. 分组背包----HDU1712 ACboy needs your help
  10. Ubuntu 下添加OpenERP command 快捷启动方式