舞伴问题数据结构 的问题

提问回答都赚钱
> 问题详情
关于程序的说法错误的是()。A.数据结构是描述问题的B.程序=(算法)(数据结构)C.算法是解决问题的D
悬赏:0&&答案豆&&&&提问人:匿名网友&&&&提问收益:0.00答案豆&&&&&&
关于程序的说法错误的是( )。A.数据结构是描述问题的B.程序=(算法)+(数据结构)C.算法是解决问题的D.数据结构=(算法)+(程序)请帮忙给出正确答案和分析,谢谢!
发布时间:&&截止时间:
网友回答&(共0条)
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&10.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&10.00元收益
回答悬赏问题预计能赚取&2.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&10.00元收益
回答悬赏问题预计能赚取&4.00元收益
回答悬赏问题预计能赚取&10.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&2.00元收益
回答悬赏问题预计能赚取&5.00元收益
回答悬赏问题预计能赚取&2.00元收益
回答悬赏问题预计能赚取&20.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&3.00元收益
回答悬赏问题预计能赚取&22.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&22.00元收益
回答悬赏问题预计能赚取&5.00元收益
回答悬赏问题预计能赚取&1.00元收益
回答悬赏问题预计能赚取&1.00元收益
你可能喜欢的
[] [] [] [] [] [] [] [] [] [] [] []
请先输入下方的验证码查看最佳答案
图形验证:数据结构图的问题设连通图G中的边集E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},则从顶点a出发可以得到一种深度优先遍历的顶点序列为( ).(A) abedfc (B) acfebd (C) aebdfc (D) aedfcb这是如何解出来的?_百度作业帮
数据结构图的问题设连通图G中的边集E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},则从顶点a出发可以得到一种深度优先遍历的顶点序列为( ).(A) abedfc (B) acfebd (C) aebdfc (D) aedfcb这是如何解出来的?
数据结构图的问题设连通图G中的边集E={(a,b),(a,e),(a,c),(b,e),(e,d),(d,f),(f,c)},则从顶点a出发可以得到一种深度优先遍历的顶点序列为( ).(A) abedfc (B) acfebd (C) aebdfc (D) aedfcb这是如何解出来的?
a b c d e f a 0 1 1 0 1 0 b 1 0 0 0 1 0 c 1 0 0 0 0 1 d 0 0 0 0 1 1 e 1 0 0 1 0 0 f 0 0 1 1 0 0 a dfs(b) b dfs(e) e dfs(d) d dfs(f) f dfs(c) c
abedfc (A)数据结构1000个问题与解答-C语言版_百度百科
数据结构1000个问题与解答-C语言版
《数据结构1000个问题与解答-C语言版》是一本(印度)慕克吉(Sudipta Mukherjee)编制,由清华大学出版社在日出版的书籍。
出版社: 清华大学出版社; 第1版 (日)
外文书名: Data Structures Using C 1000 Problems and Solutions
丛书名: 计算机科学本科核心课程教材
平装: 644页
正文语种: 简体中文
尺寸: 23 x 18.4 x 2.8 cm
重量: 898 g
作者:(印度)慕克吉(Sudipta Mukherjee) 译者:张长富 等
《数据结构(C语言版):1000个问题与解答》内容简介:数据结构是所有应用程序的核心,良好设计的数据结构可以极大地提供系统的性能,因此,数据结构是计算机及相关专业的基础核心课程。为了更好地帮助读者学习和掌握数据结构的知识,《数据结构(C语言版):1000个问题与解答》给出了1000多个问题及其解答。这些问题涉及到很多的学科领域,包括数值方法,应用统计,物理等。因此,《数据结构(C语言版):1000个问题与解答》不仅可以作为计算机,电子信息等专业学生学习数据结构的教学用书.对于其他专业学生也是很好的参考用书;因为《数据结构(C语言版):1000个问题与解答》介绍了各种数据结构的知识,教授读者如何创建自己的数据结构,以满足特定领域的需要。
第1章 数组
1.1 如何初始化数组
1.1.1 初始化:在声明数组时
1.1.2 初始化:使用循环
1.1.3 初始化:使用另一个数组的值
1.1.4 初始化:使用特殊值
1.2 如何使用下标遍历一维数组
1.2.1 如何使用指针遍历一维数组
1.2.2 如何使用下标遍历二维数组
1.2.3 如何使用指针遍历二维数组
1.3 如何操作数组元素
1.4 如何把指定范围内的数据元素加起来
1.5 如何把数组中偶数位置和奇数位置的元素加起来
1.6 如何执行包含外部变量的运算
1.6.1 如何乘以数组元素
1.6.2 如何仅仅把数组中的偶数元素加起来
1.6.3 如何仅仅把数组中的奇数元素加起来
1.6.4 如何把一个元素加到数组每一个元素上
1.6.5 如何从数组的每一个元素中减去某个元素
1.6.6 如何将一个元素乘以数组的每一个元素
1.6.7 如何让数组的每一个元素除以某个元素
1.6.8 如何平方数组的每一个元素
1.7 如何找出函数值
1.8 如何求解人口统计学应用——一个人口统计的问题
1.9 在什么地方使用三维数组
1.10 如何删除数组中的某个特定数据项
1.11 如何删除特定位置的数据项
1.12 如何得到数组中的最大值
1.13 如何得到数组中的最小值
1.14 如何按字母顺序排序数组
1.15 如何检查字符串是否是回文字符串
1.16 如何搜索数组元素
1.17 如何让数组元素唯
1.18 如何计算数组元素的平均值
1.19 如何计算一组整数的加权平均值
1.20 如何计算己排序数组元素的中值
1.21 如何找出数组元素的众数
1.22 如何得到数组元素的值域
1.23 如何得到数组的标准差
1.24 如何得到数组元素的方差
1.25 如何使用牛顿前向差分内插法得到内插值
1.26 如何使用拉格朗曰内插公式插值
1.27 如何得到X或Y的回归线
1.28 如何得到简单聚合指数
1.29 如何得到价格相关指数的简单平均值:
1.30 如何得到拉斯贝尔(Laspeyre)指数
1.31 如何得到派许(Paasche)指数
1.32 如何得到鲍莱(Bow1ey)指数
1.33 如何得到费雪(Fisher)指数
1.34 如何得到马歇尔一爱德华(Marsha11-Edward)指数
1.35 如何使用二维数组表示矩阵
1.36 如何把两个3x3矩阵加起来
1.37 如何做两个3x3矩阵的减法
1.38 如何做两个矩阵的乘法
1.39 如何使用矩阵乘法计算收入
1.40 使用斯特拉森算法计算2x2矩阵的乘法,它仅需7次乘法和18次加法即可完成
1.41 如何得到两个矩阵的Hadamard积
1.42 如何得到两个矩阵的Kronecker积
1.43 如何得到矩阵的转置矩阵
1.44 如何得到方阵的逆矩阵
1.45 如何得到矩阵的上三角矩阵
1.46 如何得到严格上三角矩阵
1.47 如何得到矩阵的下三角矩阵
1.48 如何得到严格下三角矩阵
1.49 如何用给定的行和列构造Toep1itz矩阵
1.50 如何判断矩阵是否是对称矩阵
1.51 将稀疏矩阵表示为数组
1.5 1.1 如何把两个稀疏矩阵相加
1.52三维数组应用
1.53 如何从函数中返回多个值
1.54 如何克隆Java的字符串分词类
1.55 二进制到十进制转换
1.56 如何为股票交易设计一张图表
1.57如何得到HHI指数
1.58 如何得到城市的基尼系数
1.59 如何判断三个给定数字是否构成等差数列、 等比数列或调和数列
1.60 不同信号格式的动画
1.61 一个著名的密码技术——密写术
1.62 上述加密法的解密程序
1.63 如何得到256级灰度图像的直方图
1.64 如何把灰度图像转换为黑白图像/负片图像
第2章 结构
2.1 使用typedef
2.2 访问结构元素
2.3 Turbo C(DOS下)中一些内置的有用结构
2.4 如何定义一个表示三维空间中点的结构
2.5 如何使用点结构得到多边形的图心
2.6 如何得到三维空间中两个点之间的距离
2.7 如何得到任何正多边形的面积
2.8 如何测试三个点的共线性
2.9 如何检查三角形是否是等边三角形
2.10 如何检查三角形是否是等腰三角形
2.11 如何使用Point结构建立三角形模型
2.12 如何检查三角形是否是直角三角形
2.13 如何得到三角形是否是等边三角形
2.14 如何使用三角形构建四面体模型
2.1 5 如何使用Struct和Enum建立矩形模型
2.16 如何使用Point建立梯形模型
2.17 如何检查梯形是否是等腰梯形
2.1 8 如何检查点是否位于三角形内部
2.19 如何检查点是否位于矩形内部
2.20 如何检查点是否位于圆内部
2.21 如何检查两个圆是否相交
2.22 如何检查两个圆是否相切
2.23 如何以斜率方式建立直线模型
2.24 如何以XY截距格式建立直线模型
2.25 如何把XY截距形式的直线转换为斜率格式的直线
2.26 如何把斜率格式的直线转换为XY截距形式的直线
2.27 如何检查两条直线是否平行
2.28 如何得到两条直线的交点
2.29 如何得到圆上任一点的切线
2.30 如何使用直线和点建立抛物线模型
2.31 如何得到抛物线上任一点的切线
2.32 如何得到抛物线上任一点的法线
2,33 如何建立椭圆模型
2.34 如何计算椭圆的面积
2.35 如何得到椭圆上任何一点的切线
2.36 如何得到椭圆上任何一点的法线
2.37 如何用结构建立棱柱建模
2.38 如何建立圆柱的模型
2.39 如何得到圆柱的表面积
2.40 如何建立圆锥的模型
2.41 如何得到圆锥的面积
2.42 如何得到由圆和点定义的圆柱的体积
2.43 如何得到棱柱的面积
2.44 如何检查点是否位于椭圆的内部
2.45 如何检查点是否位于双曲线内部,假定给出了长轴或短轴
2.46 如何建立菱形的模型
2.47 如何得到菱形的面积数据结构问题数据结构中的循环队列 队满判定条件是(q.rear+1)%maxsize=q.front 这个式子怎么来的?(q.rear+1)%maxsize是什么意思?为什么等于头指针?_百度作业帮
数据结构问题数据结构中的循环队列 队满判定条件是(q.rear+1)%maxsize=q.front 这个式子怎么来的?(q.rear+1)%maxsize是什么意思?为什么等于头指针?
数据结构问题数据结构中的循环队列 队满判定条件是(q.rear+1)%maxsize=q.front 这个式子怎么来的?(q.rear+1)%maxsize是什么意思?为什么等于头指针?
严蔚敏的数据结构书上63页倒数第二段定义了判定队列空间是空还是满的方法:少用一个元素空间,判定队列呈“满”状态的标志是“队列头指针在队列尾指针的下一位置上(指环状的下一位置)” 意思就是说,循环队列留了一个元素空间,即当maxsize=100的时候,实际能存的数据只有99个,留一个不存的目的就是用来区分队列空还是满.因为空的时候q.rear=q.front,而满的时候就变成了(q.rear+1)%maxsize=q.front. 如果判定条件是q.rear%maxsize=q.front,就是判定头指针和尾指针是否在同一个位置上如果判定条件是(q.rear+1)%maxsize=q.front,就是判定头指针在尾指针的下一个位置上1003人阅读
while(top != 0)
&&&&&&&& & while(ch != '.')
&&&&&&&& & {
&&&&&&&& & &&&& scanf("%c",&ch);
&&&&&&&& & &&&& if(ch
&&&&&&&& &&& {
&&&&&&&& &&&& &&&&&& p
= (link)malloc(sizeof(node));
&&&&&&&& &&&&&&& p-&data =
&&&&&&&& &&&&&&& s[top-1]-&lch =
&&&&&&&& &&&&&&& s[top++] =&&& &&&
&&&&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&& else
&&&&&&&&&&&&&&&&&& & s[top-1]-&lch = NULL;
&&&&&&&& & }&
& &&&& &&&q = s[--top];
&&&&&&&& && scanf("%c",&ch);
&&&&&&&& && if(ch != '.')
&&&&&&&& && {
&&&&&&&& &&&& p = (link)malloc(sizeof(node));
&&&&&&&& &&&& p-&data =
&&&&&&&& &&&& q-&rch =
&&&&&&&& &&&& s[top++] =
&&&&&&&& && }
&&&&&&&& && else
q-&rch = NULL;
while(top != 0)
scanf("%c",&ch);
&&&&&&&& & while(ch != '.')
&&&&&&&& & {
&&&&&&&& &&&& p = (link)malloc(sizeof(node));
&&&&&&&& &&&& p-&data =
&&&&&&&& &&&& s[top-1]-&lch =
&&&&&&&& & &&&s[top++]
&& &&&&&&scanf("%c",&ch);
&&&&&&&& & }&
& &&&& &&&q = s[--top];
q-&lch = NULL;
&&&&&&&& && scanf("%c",&ch);
&&&&&&&& && if(ch != '.')
&&&&&&&& && {
&&&&&&&& &&&& p = (link)malloc(sizeof(node));
&&&&&&&& &&&& p-&data =
&&&&&&&& &&&& q-&rch =
&&&&&&&& &&&& s[top++] =
&&&&&&&& && }
&&&&&&&& && else
q-&rch = NULL;
㈠ 问题的提出:
&在使用先根非递归方法建树的时候,一开始我使用的是右边的代码.在语法角度上,编译器并不报错,能过顺利通过.但是运行时,输入数据后却不能得到正确的结果.对此进行分析:
测试数据:& ab..c..
正确结果应该是abc&&&& (先根遍历)&
(本来是有示意图的,结果万恶的CSDN不提供图片插入了,懒的弄了,就这样吧.)
& &&&&&&&&&&&&&&&&&&&&&&&&
左边给出的正确实现代码,现在问题是为什么右边的代码不能得到正确的结果.
㈡ 问题的分析:
粗看起来,二者的差异在于进入循环后,是先进入小循环再输入数据,还是先输入数据,再判断是否进入小循环,即顺序的问题.
按照右边代码的逻辑:进入循环后就输入数据.如果数据为&.& 就是数据域为空的时候.不做小循环,直接退栈.当数据域不为空的时候,进入小循环,生成结点,挂到栈顶元素的左孩子的位置上.再输入数据.依次循环.如果数据为&.&就退栈,再输入数据,为&.&则为叶子结点.不为&.&则为右孩子的位置.
这样看起来似乎逻辑上没有问题.但是为什么就是得不到正确结果呢?问题出在哪里呢?
我们可以将测试数据代入,用手动测试的方法检查问题所在.
按照右边代码的思路,走过一遍后的状态是:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ch的值是& &.&
& 回到开头,一开始要求输入数据,我们输入的是c.由于c != &.& 所以进入小循环.
接着生成结点.此时,c挂在了栈顶元素a的左孩子的位置上.显然是不对的.而且往下一走,发现不能正常结束(栈里不为空).
显然,我们看到了问题的所在,但是左边的代码又是如何解决这个问题的呢?
按照左边代码的逻辑走到刚才的地方,即输入了ab..后,程序的状态与上图完全一样.接着,我们来看下一次的循环.
& 回到开头,一开始并不是输入数据,而是判断ch的值是否是&.& 由于程序的当时的状态,ch里面的值是&.& 就跳过了小循环.直接退栈,c放到了a的右孩子的位置,同时由于退栈,栈为空.程序正常结束.
& 也就是说.由于输入数据的位置不同,使得第二次大循环的过程发生了差异.使得代码运行结果的不同.
㈢ 问题的实质:
&看起来只是因为输入数据位置的不同造成了一个正确,一个错误.但是实际上二者是存在思想上的差异的.右边代码中小循环的条件ch &!= &.& 位于scanf(&%c&,&ch);
的后面,只是为了将输入的数据中不为&.&的所有数据都挂为栈顶元素的左孩子.实际上,我们知道这是错误的.
而左边代码中小循环中的条件ch != &.& 直接位于大循环的开头,是着眼整个循环.
①在小循环中的角度,只要ch != &.&按照先根的特点,就相当于左支上不断地挂结点.
②在大循环中的角度,只要循环又回到大循环的开头,说明后面的退栈部分做过一次.而退栈部分是用到了变量ch的.如果回到大循环开头后,ch仍然为 &.& 就说明刚刚是叶子结点.即某部分的左支已经走到尽头.此时,就应该跳过小循环挂左孩子结点的过程,直接退栈.开始挂栈顶元素的右支.
所以说,在左边代码中,条件ch != &.& 的作用比右边代码中 ch != &.& 的作用和意义都要大.
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:76436次
积分:1176
积分:1176
排名:千里之外
原创:38篇
评论:19条
(1)(3)(7)(1)(3)(3)(8)(6)(5)(2)(4)}

我要回帖

更多关于 c语言 数据结构的问题 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信