最新中南大学数据结构与算法第1章绪论课后作业答案.docx
- 文档编号:1719042
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:9
- 大小:19.50KB
最新中南大学数据结构与算法第1章绪论课后作业答案.docx
《最新中南大学数据结构与算法第1章绪论课后作业答案.docx》由会员分享,可在线阅读,更多相关《最新中南大学数据结构与算法第1章绪论课后作业答案.docx(9页珍藏版)》请在冰点文库上搜索。
最新中南大学数据结构与算法第1章绪论课后作业答案
第一章绪论习题练习答案
1.1简述下列概念:
数据、数据元素、数据类型、数据结构、逻辑结构、存储结构、线性结构、非线性结构。
●数据:
指能够被计算机识别、存储和加工处理的信息载体。
●数据元素:
就是数据的基本单位,在某些情况下,数据元素也称为元素、结点、顶点、记录。
数据元素有时可以由若干数据项组成。
●数据类型:
是一个值的集合以及在这些值上定义的一组操作的总称。
通常数据类型可以看作是程序设计语言中已实现的数据结构。
●数据结构:
指的是数据之间的相互关系,即数据的组织形式。
一般包括三个方面的内容:
数据的逻辑结构、存储结构和数据的运算。
●逻辑结构:
指数据元素之间的逻辑关系。
●存储结构:
数据元素及其关系在计算机存储器内的表示,称为数据的存储结构.
●线性结构:
数据逻辑结构中的一类。
它的特征是若结构为非空集,则该结构有且只有一个开始结点和一个终端结点,并且所有结点都有且只有一个直接前趋和一个直接后继。
线性表就是一个典型的线性结构。
栈、队列、串等都是线性结构。
●非线性结构:
数据逻辑结构中的另一大类,它的逻辑特征是一个结点可能有多个直接前趋和直接后继。
数组、广义表、树和图等数据结构都是非线性结构。
1.2试举一个数据结构的例子、叙述其逻辑结构、存储结构、运算三个方面的内容。
答:
例如有一张学生体检情况登记表,记录了一个班的学生的身高、体重等各项体检信息。
这张登记表中,每个学生的各项体检信息排在一行上。
这个表就是一个数据结构。
每个记录(有姓名,学号,身高和体重等字段)就是一个结点,对于整个表来说,只有一个开始结点(它的前面无记录)和一个终端结点(它的后面无记录),其他的结点则各有一个也只有一个直接前趋和直接后继(它的前面和后面均有且只有一个记录)。
这几个关系就确定了这个表的逻辑结构是线性结构。
这个表中的数据如何存储到计算机里,并且如何表示数据元素之间的关系呢?
即用一片连续的内存单元来存放这些记录(如用数组表示)还是随机存放各结点数据再用指针进行链接呢?
这就是存储结构的问题。
在这个表的某种存储结构基础上,可实现对这张表中的记录进行查询,修改,删除等操作。
对这个表可以进行哪些操作以及如何实现这些操作就是数据的运算问题了。
1.3常用的存储表示方法有哪几种?
答:
常用的存储表示方法有四种:
●顺序存储方法:
它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里,结点间的逻辑关系由存储单元的邻接关系来体现。
由此得到的存储表示称为顺序存储结构,通常借助程序语言的数组描述。
●链接存储方法:
它不要求逻辑上相邻的结点在物理位置上亦相邻,结点间的逻辑关系是由附加的指针字段表示。
由此得到的存储表示称为链式存储结构,通常借助于程序语言的指针类型描述。
●索引存储方法:
除建立存储结点信息外,还建立附加的索引表来标识结点的地址。
组成索引表的索引项由结点的关键字和地址组成。
若每个结点在索引表中都有一个索引项,则该索引表称之为稠密索引(DenseIndex)。
若一组结点在索引表中只对应一个索引项,则该索引表称为稀疏索引。
●散列存储方法:
就是根据结点的关键字直接计算出该结点的存储地址。
1.4设三个函数f,g,h分别为f(n)=100n3+n2+1000,g(n)=25n3+5000n2,h(n)=n1.5+5000nlgn请判断下列关系是否成立:
(1)f(n)=O(g(n))
(2)g(n)=O(f(n))
(3)h(n)=O(n1.5)
(4)h(n)=O(nlgn)
分析:
数学符号"O"的严格的数学定义:
若T(n)和f(n)是定义在正整数集合上的两个函数,则T(n)=O(f(n))表示存在正的常数C和n0,使得当n≥n0时都满足0≤T(n)≤C·f(n)。
通俗地说,就是当n→∞时,f(n)的函数值增长速度与T(n)的增长速度同阶。
一般,一个函数的增长速度与该函数的最高次阶同阶。
即:
O(f(n))=n3
O(g(n))=n3
O(h(n))=n1.5
所以答案为:
答:
●
(1)成立。
●
(2)成立。
●(3)成立。
●(4)不成立。
1.5设有两个算法在同一机器上运行,其执行时间分别为100n2和2n,要使前者快于后者,n至少要多大?
分析:
要使前者快于后者,即前者的时间消耗低于后者,即:
100n2<2n
求解上式,可得
答:
n=15
1.6设n为正整数,利用大"O"记号,将下列程序段的执行时间表示为n的函数。
(1)i=1;k=0;
while(i {k=k+10*i;i++; } 分析: i=1;//1 k=0;//1 while(i {k=k+10*i;//n-1 i++;//n-1 } 由以上列出的各语句的频度,可得该程序段的时间消耗: T(n)=1+1+n+(n-1)+(n-1)=3n 可表示为T(n)=O(n) (2)i=0;k=0; do{ k=k+10*i;i++; } while(i 分析: i=0;//1 k=0;//1 do{//n k=k+10*i;//n i++;//n } while(i 由以上列出的各语句的频度,可得该程序段的时间消耗: T(n)=1+1+n+n+n+n=4n+2 可表示为T(n)=O(n) (3)i=1;j=0; while(i+j<=n) { if(i>j)j++; elsei++; } 分析: 通过分析以上程序段,可将i+j看成一个控制循环次数的变量,且每执行一次循环,i+j的值加1。 该程序段的主要时间消耗是while循环,而while循环共做了n次,所以该程序段的执行时间为: T(n)=O(n) (4)x=n;//n>1 while(x>=(y+1)*(y+1)) y++; 分析: 由x=n且x的值在程序中不变,又while的循环条件(x>=(y+1)*(y+1))可知: 当(y+1)*(y+1)刚超过n的值时退出循环。 由(y+1)*(y+1) y 所以,该程序段的执行时间为: 向下取整(n^0.5-1) (5)x=91;y=100; while(y>0) if(x>100) {x=x-10;y--;} elsex++; 分析: x=91;//1 y=100;//1 while(y>0)//1101 if(x>100)//1100 { x=x-10;//100 y--;//100 } else x++;//1000 以上程序段右侧列出了执行次数。 该程序段的执行时间为: T(n)=O (1) 1.7算法的时间复杂度仅与问题的规模相关吗? 答: 算法的时间复杂度不仅与问题的规模相关,还与输入实例中的初始状态有关。 但在最坏的情况下,其时间复杂度就是只与求解问题的规模相关的。 我们在讨论时间复杂度时,一般就是以最坏情况下的时间复杂度为准的。 1.8按增长率由小至大的顺序排列下列各函数: 2100,(3/2)n,(2/3)n,nn,n0.5,n! ,2n,lgn,nlgn,n(3/2) 答: 常见的时间复杂度按数量级递增排列,依次为: 常数阶0 (1)、对数阶0(log2n)、线性阶0(n)、线性对数阶0(nlog2n)、平方阶0(n2)、立方阶0(n3)、k次方阶0(nk)、指数阶0(2n)。 先将题中的函数分成如下几类: 常数阶: 2100 对数阶: lgn K次方阶: n0.5、n(3/2) 指数阶(按指数由小到大排): nlgn、(3/2)n、2n、n! 、nn 注意: (2/3)^n由于底数小于1,所以是一个递减函数,其数量级应小于常数阶。 根据以上分析按增长率由小至大的顺序可排列如下: (2/3)n<2100 1.9有时为了比较两个同数量级算法的优劣,须突出主项的常数因子,而将低次项用大"O"记号表示。 例如,设T1(n)=1.39nlgn+100n+256=1.39nlgn+O(n),T2(n)=2.0nlgn-2n=2.0lgn+O(n),这两个式子表示,当n足够大时T1(n)优于T2(n),因为前者的常数因子小于后者。 请用此方法表示下列函数,并指出当n足够大时,哪一个较优,哪一个较劣? 函数 大"O"表示 优劣 (1)T1(n)=5n2-3n+60lgn 5n2+O(n) 较差 (2)T2(n)=3n2+1000n+3lgn 3n2+O(n) 其次 (3)T3(n)=8n2+3lgn 8n2+O(lgn) 最差 (4)T4(n)=1.5n2+6000nlgn 1.5n2+O(nlgn) 最优 浅谈中小企业人力资源管理与开发的重要性 前言 随着我国经济的发展,中小企业也在市场竞争中蓬勃发展,在我国经济发展中的地位和作用越来越明显。 它为我国劳动者提供了大量的就业岗位,缓解了严峻的就业趋势,促进了劳动力市场的发展,创造了大量的社会财富,取得了良好的社会利益。 中小企业自身特征互补了大企业集团不能够解决的问题,在市场经济条件下,灵活的优势使其具有较大的竞争力,近几年来,发展速度飞快。 单在发展过程中,凸显了一系列的问题,尤其是在人力资源管理与开发方面。 人才是21世纪企业最宝贵的资源,中小企业想在同行中间站稳脚跟并不断前进就更要重视企业的人力资源管理与开发与管理,因此如何有效的开发和科学的管理人力资源成为中小企业走向成功的关键,也成为企业提高效率、保证自身竞争优势的强有力的武器。 本文从中小企业人力资源管理与开发的重要性出发,分析了中小企业人力资源管理与开发的现状及存在问题并提出相应对策。 一、中小企业人力资源管理与开发的重要性 当今知识经济时代,人力资源的管理与开发已然变成企业管理工作的重要组成部分,是企业获得长足、稳定发展具有决定性影响的因素。 通过有效的人力资源管理与开发,将促进员工积极参与企业经营,并把它与员工个人目标结合起来,达到企业与员工“共赢”状态,使得企业蓬勃发展。 (一)人力资源管理与开发可以有效促进企业的竞争能力提升 现在社会发展尤为迅速,企业面对的不仅仅是来自市场外激烈的竞争,还存在有内部的竞争。 人力资源管理与开发可有效协调和改善企业内部人员和工作管理,从而获得更多的资源优势以及增加可竞争的资本。 因此,人力资源管理与开发可以有效提升企业的竞争力。 (二)人力资源管理与开发可促进企业重要职能的充分发挥 人力资源管理与开发不仅可以有效提升企业的竞争能力,还可以促进企业中重要职能的充分发挥。 人力资源管理与开发可以有效培养和开发出更多人的聪明才智,将其潜能充分发掘出来,从而有效优化配置人力资源,发挥和做好各项职能工作,有力的保障了企业中各项职能的充分发挥。 因此,人力资源管理与开发是有效促进企业中重要职能的充分发挥的重要保障。 (三)人力资源管理与开发可以促进企业人力资源管理进一步发展 人力资源管理与开发为企业提供更多人才优势,创造更多价值,因此对人力资源进行管理开发是企业更好为社会公益服务、为国民经济发展提供了前进的动力。 对企业人力资源的合理有效开发,可以让其在企业中充分发挥自身优势,提高单位内部管理质量以及人才的平均专业素质。 因此,人力资源的合理有效开发,可以促进企业人力资源管理的进一步发展。 二、企业人力资源管理与开发存在的问题 (一)人力资源的战略规划存在的问题 中小企业在制定发展战略时,往往忽视人力资源规划,也不考虑本企业的人力资源状况及本企业的人力资源体系能否有效的支持企业发展的战略,人力资源与企业发展战略不匹配。 大多中小企业人力资源管理很少从公司的战略层面来考虑,没有根据公司战略发展的需求来配置和引进人才,觉得缺少人了便去随便招个人来用,不适合然后又让人走。 很少考虑目前公司处于哪一个战略阶段,该配置什么样的人才。 于是便出现了配置的人员能力和素质不符合岗位的要求,引进的人才只能适应短期应急需要,不能满足企业长远发展的需要的现象。 所以企业领导总觉得公司可用之才很少,甚至没有,而平庸的人却非常多。 (二)人员招聘中存在的问题
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 中南 大学 数据结构 算法 绪论 课后 作业 答案