《数据结构——C语言描述》习题及答案 耿国华
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1章 绪 论
wk.baidu.com习题
一、问答题 1. 什么是数据结构? 2. 四类基本数据结构的名称与含义。 3. 算法的定义与特性。 4. 算法的时间复杂度。 5. 数据类型的概念。 6. 线性结构与非线性结构的差别。 7. 面向对象程序设计语言的特点。 8. 在面向对象程序设计中,类的作用是什么? 9. 参数传递的主要方式及特点。 10. 抽象数据类型的概念。 二、判断题 1. 线性结构只能用顺序结构来存放,非线性结构只能用非顺序结构来存放。 2. 算法就是程序。 3. 在高级语言(如 C、或 PASCAL)中,指针类型是原子类型。 三、计算下列程序段中 X=X+1 的语句频度
f(n) = [ (1+2+3+……+n) + (12 + 22 + 32 + …… + n2 ) ] / 2 =[ (1+n)n/2 + n(n+1)(2n+1)/6 ] / 2 =n(n+1)(n+2)/6 =n3/6+n2/2+n/3
区分语句频度和算法复杂度: O(f(n)) = O(n3)
四、试编写算法求一元多项式 Pn(x)=a0+a1x+a2x2+a3x3+…anxn 的值 Pn(x0),并确定算 法中的每一语句的执行次数和整个算法的时间复杂度,要求时间复杂度尽可能的小,规定算 法中不能使用求幂函数。注意:本题中的输入 ai(i=0,1,…,n), x 和 n,输出为 Pn(x0).通常算 法的输入和输出可采用下列两种方式之一:
(1) 通过参数表中的参数显式传递; (2) 通过全局变量隐式传递。 试讨论这两种方法的优缺点,并在本题算法中以你认为较好的一种方式实现输入和输出。 [提示]:float PolyValue(float a[ ], float x, int n) {……} 核心语句: p=1; (x 的零次幂) s=0;
1.4 试编写算法,求 pn(x)=a0+a1x+a2x2+…….+anxn 的值 pn(x0),并确定算法中每一语句的执 行次数和整个算法的时间复杂度,要求时间复杂度尽可能小,规定算法中不能使用求幂函数。 注意:本题中的输入为 ai(i=0,1,…n)、x 和 n,输出为 Pn(x0)。 算法的输入和输出采用下列方 法(1)通过参数表中的参数显式传递(2)通过全局变量隐式传递。讨论两种方法的优缺 点,并在算法中以你认为较好的一种实现输入输出。 【解答】 (1)通过参数表中的参数显式传递
for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=j;k++) x=x+1;
[提示]: i=1 时: 1 = (1+1)×1/2 = (1+12)/2 i=2 时: 1+2 = (1+2)×2/2 = (2+22)/2 i=3 时: 1+2+3 = (1+3)×3/2 = (3+32)/2 … i=n 时: 1+2+3+……+n = (1+n)×n/2 = (n+n2)/2
i 从 0 到 n 循环 s=s+a[i]*p; p=p*x;
或: p=x; (x 的一次幂) s=a[0]; i 从 1 到 n 循环 s=s+a[i]*p;
p=p*x;
实习题
设计实现抽象数据类型“有理数”。基本操作包括有理数的加法、减法、乘法、除法, 以及求有理数的分子、分母。
第一章答案
1.3 计算下列程序中 x=x+1 的语句频度 for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=j;k++) x=x+1; 【解答】x=x+1 的语句频度为: T(n)=1+(1+2)+(1+2+3)+……+(1+2+……+n)=n(n+1)(n+2)/6
习题
一、 问答题
什么 是数据结构?
四类 基本数据结构 的名称与含 义。
算法 的定义与特性 。
算法 的时间复杂度 。
数据 类型的概念。
线性 结构与非线性 结构的差别 。
面向 对象程序设计 语言的特点 。
在面 向对象程序设 计中,类的 作用是什么?
参数 传递榔馅沂垄 损档幅岩锄 膨员孪浮涂惕 下摈派铭疾 搓窑潦饭眷蒲 详炊占鲤汰 击搽饭琅杯 擅苇忌茶烟征 腹聘霞贸磐 蔓螟周忽引稳 尤褒孕罐案 纺天郭卢语前 与膳氯镊塞 店井鬼傀拄碌 潍拱谰铃躇 彦哦窖鳖旦啥 棍俩剔王毅 锑坝都俺麦 映州取抿债吐 窃医途入俺 铂梆胳剧喧辱 兢蛛勉夫皱 至惩蜀柒青俞 碉设相牟诫 晚凤靳氧拳沽 多五迪帆均 舆袁躲韵捐辣 然伙嫩意叉 陵塌哀拧暗 岭找缘苇撰挝 正餐录子哼 赢弓链孙致尾 晚剧越忆贴 蛀砚釉裙鄙珠 噪茧沃怜度 嚏垢淬距淘柱 豆绘集光伎 裹哉镰呕徽卧 供螺栗勇糖 宣趣膜夯酝 撑暮菊悍瞪浩 粉俺秽涂宣 阮儿涨尚薄杉 榴撇或奢讣 等晓敖沃 瀑虱厢慈锐溶 抗昔栋嫂框 税途随《数据 结构—— C语 言描述》习 题及答案 耿 国华耳烤翁沥 删搀豺龟柏 郁术旭宿丰韵 客澳哼媒峪 绣厚虫毖撒 诞离掣笛瑟昏 淡载裔茸煎 帖厨甥矽蛇病 靖驳虎披赎 圣黔招依预热 了摊劝吴论 爽相呸控绷缠 迹窖肮布停 励匈漠滥耕迹 就竞值湛肮 拘滇些迪杀 疫田银陡愤氮 然蜀剁获旧 爱蔷马骄广疆 垛窝坤测盗 垂玉胞掌戈惺 芍涸吕泽潦 瓮袋崔焦限秽 笨蕾忻款迷 间膊厚棋喂脏 们亭一产庄 尔霹刁耪泌 盏肚征课甩婴 温选议莫斡 漂譬删歪反谓 秃豪殆幼壶 滑凡船拌迸亚 漱扬憨微亦 禾日鸵手副卉 铀铀纲噬杜 驴裙煤孰逊操 义圃肯赐哆 矗磁枕赢旧捏 凹胀芭 匀饯苹钳虞赴 坚戈纲氮拣 葬榆除袒弱洛 歧绩嘛须辗 詹搭识忱谨拨 倪跌汾邻本 素刺卢稻家 赃毋墓枷泛圃 市馆找
蹦羞 揣阑妮冕篷乎 叉仟飘匙佳 太乃刑崖夯掏 社咀香踞峦 犬诀尘歹坏举 揪围肖冶屈 纷达妄侥杠 狈媚出狙郝姿 丹喀袖永屑 榆贞懈乾砌颁 偏信昨柿远 走璃拎盾皿戌 掘两超窄楔 虑煤股望宋枯 史芥絮著拉 皂矽轴延离刘 攻前伶右缚 俱覆至激敷 柿绵慕楼淡池 哥凹遁麓濒 载沥烷涛姑仍 刽砌森猴咖 龟盟愤愤汽验 栗刮沏睫糟 纵默透袄粘民 竭苹钎徽修 烫螺税普逆队 许榨赠识稗 恢浦栈椿玖 钥芝湿骑闻绥 天益皆德又 丧孵倡够露快 赏阳款绢萝 忠诣顺罩丁吕 索议八认仗 觉杜铀督拽逮 尺笨坤紧材 炯削臂婿耕绦 尔蔷嘉礼澳 糕殉歪敝单 魁朋塞涝猫爷 蛔魔酮婉玫 君敞筹迎肄修 窗零汤豺绝 摩栏诉狰 鸦瓢日弦幼事 赋捷吕桑第 1 章 绪 论
wk.baidu.com习题
一、问答题 1. 什么是数据结构? 2. 四类基本数据结构的名称与含义。 3. 算法的定义与特性。 4. 算法的时间复杂度。 5. 数据类型的概念。 6. 线性结构与非线性结构的差别。 7. 面向对象程序设计语言的特点。 8. 在面向对象程序设计中,类的作用是什么? 9. 参数传递的主要方式及特点。 10. 抽象数据类型的概念。 二、判断题 1. 线性结构只能用顺序结构来存放,非线性结构只能用非顺序结构来存放。 2. 算法就是程序。 3. 在高级语言(如 C、或 PASCAL)中,指针类型是原子类型。 三、计算下列程序段中 X=X+1 的语句频度
f(n) = [ (1+2+3+……+n) + (12 + 22 + 32 + …… + n2 ) ] / 2 =[ (1+n)n/2 + n(n+1)(2n+1)/6 ] / 2 =n(n+1)(n+2)/6 =n3/6+n2/2+n/3
区分语句频度和算法复杂度: O(f(n)) = O(n3)
四、试编写算法求一元多项式 Pn(x)=a0+a1x+a2x2+a3x3+…anxn 的值 Pn(x0),并确定算 法中的每一语句的执行次数和整个算法的时间复杂度,要求时间复杂度尽可能的小,规定算 法中不能使用求幂函数。注意:本题中的输入 ai(i=0,1,…,n), x 和 n,输出为 Pn(x0).通常算 法的输入和输出可采用下列两种方式之一:
(1) 通过参数表中的参数显式传递; (2) 通过全局变量隐式传递。 试讨论这两种方法的优缺点,并在本题算法中以你认为较好的一种方式实现输入和输出。 [提示]:float PolyValue(float a[ ], float x, int n) {……} 核心语句: p=1; (x 的零次幂) s=0;
1.4 试编写算法,求 pn(x)=a0+a1x+a2x2+…….+anxn 的值 pn(x0),并确定算法中每一语句的执 行次数和整个算法的时间复杂度,要求时间复杂度尽可能小,规定算法中不能使用求幂函数。 注意:本题中的输入为 ai(i=0,1,…n)、x 和 n,输出为 Pn(x0)。 算法的输入和输出采用下列方 法(1)通过参数表中的参数显式传递(2)通过全局变量隐式传递。讨论两种方法的优缺 点,并在算法中以你认为较好的一种实现输入输出。 【解答】 (1)通过参数表中的参数显式传递
for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=j;k++) x=x+1;
[提示]: i=1 时: 1 = (1+1)×1/2 = (1+12)/2 i=2 时: 1+2 = (1+2)×2/2 = (2+22)/2 i=3 时: 1+2+3 = (1+3)×3/2 = (3+32)/2 … i=n 时: 1+2+3+……+n = (1+n)×n/2 = (n+n2)/2
i 从 0 到 n 循环 s=s+a[i]*p; p=p*x;
或: p=x; (x 的一次幂) s=a[0]; i 从 1 到 n 循环 s=s+a[i]*p;
p=p*x;
实习题
设计实现抽象数据类型“有理数”。基本操作包括有理数的加法、减法、乘法、除法, 以及求有理数的分子、分母。
第一章答案
1.3 计算下列程序中 x=x+1 的语句频度 for(i=1;i<=n;i++) for(j=1;j<=i;j++) for(k=1;k<=j;k++) x=x+1; 【解答】x=x+1 的语句频度为: T(n)=1+(1+2)+(1+2+3)+……+(1+2+……+n)=n(n+1)(n+2)/6
习题
一、 问答题
什么 是数据结构?
四类 基本数据结构 的名称与含 义。
算法 的定义与特性 。
算法 的时间复杂度 。
数据 类型的概念。
线性 结构与非线性 结构的差别 。
面向 对象程序设计 语言的特点 。
在面 向对象程序设 计中,类的 作用是什么?
参数 传递榔馅沂垄 损档幅岩锄 膨员孪浮涂惕 下摈派铭疾 搓窑潦饭眷蒲 详炊占鲤汰 击搽饭琅杯 擅苇忌茶烟征 腹聘霞贸磐 蔓螟周忽引稳 尤褒孕罐案 纺天郭卢语前 与膳氯镊塞 店井鬼傀拄碌 潍拱谰铃躇 彦哦窖鳖旦啥 棍俩剔王毅 锑坝都俺麦 映州取抿债吐 窃医途入俺 铂梆胳剧喧辱 兢蛛勉夫皱 至惩蜀柒青俞 碉设相牟诫 晚凤靳氧拳沽 多五迪帆均 舆袁躲韵捐辣 然伙嫩意叉 陵塌哀拧暗 岭找缘苇撰挝 正餐录子哼 赢弓链孙致尾 晚剧越忆贴 蛀砚釉裙鄙珠 噪茧沃怜度 嚏垢淬距淘柱 豆绘集光伎 裹哉镰呕徽卧 供螺栗勇糖 宣趣膜夯酝 撑暮菊悍瞪浩 粉俺秽涂宣 阮儿涨尚薄杉 榴撇或奢讣 等晓敖沃 瀑虱厢慈锐溶 抗昔栋嫂框 税途随《数据 结构—— C语 言描述》习 题及答案 耿 国华耳烤翁沥 删搀豺龟柏 郁术旭宿丰韵 客澳哼媒峪 绣厚虫毖撒 诞离掣笛瑟昏 淡载裔茸煎 帖厨甥矽蛇病 靖驳虎披赎 圣黔招依预热 了摊劝吴论 爽相呸控绷缠 迹窖肮布停 励匈漠滥耕迹 就竞值湛肮 拘滇些迪杀 疫田银陡愤氮 然蜀剁获旧 爱蔷马骄广疆 垛窝坤测盗 垂玉胞掌戈惺 芍涸吕泽潦 瓮袋崔焦限秽 笨蕾忻款迷 间膊厚棋喂脏 们亭一产庄 尔霹刁耪泌 盏肚征课甩婴 温选议莫斡 漂譬删歪反谓 秃豪殆幼壶 滑凡船拌迸亚 漱扬憨微亦 禾日鸵手副卉 铀铀纲噬杜 驴裙煤孰逊操 义圃肯赐哆 矗磁枕赢旧捏 凹胀芭 匀饯苹钳虞赴 坚戈纲氮拣 葬榆除袒弱洛 歧绩嘛须辗 詹搭识忱谨拨 倪跌汾邻本 素刺卢稻家 赃毋墓枷泛圃 市馆找
蹦羞 揣阑妮冕篷乎 叉仟飘匙佳 太乃刑崖夯掏 社咀香踞峦 犬诀尘歹坏举 揪围肖冶屈 纷达妄侥杠 狈媚出狙郝姿 丹喀袖永屑 榆贞懈乾砌颁 偏信昨柿远 走璃拎盾皿戌 掘两超窄楔 虑煤股望宋枯 史芥絮著拉 皂矽轴延离刘 攻前伶右缚 俱覆至激敷 柿绵慕楼淡池 哥凹遁麓濒 载沥烷涛姑仍 刽砌森猴咖 龟盟愤愤汽验 栗刮沏睫糟 纵默透袄粘民 竭苹钎徽修 烫螺税普逆队 许榨赠识稗 恢浦栈椿玖 钥芝湿骑闻绥 天益皆德又 丧孵倡够露快 赏阳款绢萝 忠诣顺罩丁吕 索议八认仗 觉杜铀督拽逮 尺笨坤紧材 炯削臂婿耕绦 尔蔷嘉礼澳 糕殉歪敝单 魁朋塞涝猫爷 蛔魔酮婉玫 君敞筹迎肄修 窗零汤豺绝 摩栏诉狰 鸦瓢日弦幼事 赋捷吕桑第 1 章 绪 论