知识大全 第一章绪论习题练习答案

Posted 结点

篇首语:幽沉谢世事,俯默窥唐虞。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 第一章绪论习题练习答案相关的知识,希望对你有一定的参考价值。

简述下列概念 数据 数据元素 数据类型 数据结构 逻辑结构 存储结构 线性结构 非线性结构

● 数据 指能够被计算机识别 存储和加工处理的信息载体 ● 数据元素 就是数据的基本单位 在某些情况下 数据元素也称为元素 结点 顶点 记录 数据元素有时可以由若干数据项组成 ● 数据类型 是一个值的集合以及在这些值上定义的一组操作的总称 通常数据类型可以看作是程序设计语言中已实现的数据结构 ● 数据结构 指的是数据之间的相互关系 即数据的组织形式 一般包括三个方面的内容:数据的逻辑结构 存储结构和数据的运算 ● 逻辑结构 指数据元素之间的逻辑关系 ● 存储结构 数据元素及其关系在计算机存储器内的表示 称为数据的存储结构 ● 线性结构 数据逻辑结构中的一类 它的特征是若结构为非空集 则该结构有且只有一个开始结点和一个终端结点 并且所有结点都有且只有一个直接前趋和一个直接后继 线性表就是一个典型的线性结构 栈 队列 串等都是线性结构 ● 非线性结构 数据逻辑结构中的另一大类 它的逻辑特征是一个结点可能有多个直接前趋和直接后继 数组 广义表 树和图等数据结构都是非线性结构  

试举一个数据结构的例子 叙述其逻辑结构 存储结构 运算三个方面的内容

   例如有一张学生体检情况登记表 记录了一个班的学生的身高 体重等各项体检信息 这张登记表中 每个学生的各项体检信息排在一行上 这个表就是一个数据结构 每个记录(有姓名 学号 身高和体重等字段)就是一个结点 对于整个表来说 只有一个开始结点(它的前面无记录)和一个终端结点(它的后面无记录) 其他的结点则各有一个也只有一个直接前趋和直接后继(它的前面和后面均有且只有一个记录) 这几个关系就确定了这个表的逻辑结构是线性结构   这个表中的数据如何存储到计算机里 并且如何表示数据元素之间的关系呢? 即用一片连续的内存单元来存放这些记录(如用数组表示)还是随机存放各结点数据再用指针进行链接呢? 这就是存储结构的问题   在这个表的某种存储结构基础上 可实现对这张表中的记录进行查询 修改 删除等操作 对这个表可以进行哪些操作以及如何实现这些操作就是数据的运算问题了

常用的存储表示方法有哪几种?

答   常用的存储表示方法有四种: ● 顺序存储方法 它是把逻辑上相邻的结点存储在物理位置相邻的存储单元里 结点间的逻辑关系由存储单元的邻接关系来体现 由此得到的存储表示称为顺序存储结构 通常借助程序语言的数组描述  ● 链接存储方法 它不要求逻辑上相邻的结点在物理位置上亦相邻 结点间的逻辑关系是由附加的指针字段表示 由此得到的存储表示称为链式存储结构 通常借助于程序语言的指针类型描述  ● 索引存储方法 除建立存储结点信息外 还建立附加的索引表来标识结点的地址 组成索引表的索引项由结点的关键字和地址组成 若每个结点在索引表中都有一个索引项 则该索引表称之为稠密索引(Dense Index) 若一组结点在索引表中只对应一个索引项 则该索引表称为稀疏索引  ● 散列存储方法 就是根据结点的关键字直接计算出该结点的存储地址

设三个函数f g h分别为 f(n)= n +n + g(n)= n + n h(n)=n + nlgn 请判断下列关系是否成立 ( ) f(n)=O(g(n)) ( ) g(n)=O(f(n)) ( ) h(n)=O(n )( ) h(n)=O(nlgn)

分析   数学符号 O 的严格的数学定义 若T(n)和f(n)是定义在正整数集合上的两个函数 则T(n)=O(f(n))表示存在正的常数C和n 使得当n≥n 时都满足 ≤T(n)≤C·f(n)   通俗地说 就是当n→∞时 f(n)的函数值增长速度与T(n)的增长速度同阶 一般 一个函数的增长速度与该函数的最高次阶同阶  即    O(f(n))=n    O(g(n))=n    O(h(n))=n   所以答案为    ●( )成立     ●( )成立    ●( )成立    ●( )不成立

设有两个算法在同一机器上运行 其执行时间分别为 nn 要使前者快于后者 n至少要多大?

分析   要使前者快于后者 即前者的时间消耗低于后者 即      n < n  求解上式 可得   n=

设n为正整数 利用大 O 记号 将下列程序段的执行时间表示为n的函数 ( ) i= ; k= ;   while(i<n)    k=k+ *i;i++;    分析   i= ; //   k= ; //    while(i<n) //n    k=k+ *i; //n     i++; //n     由以上列出的各语句的频度 可得该程序段的时间消耗    T(n)= + +n+(n )+(n )= n可表示为T(n)=O(n)( ) i= ; k= ;  do    k=k+ *i; i++;      while(i<n); 分析   i= ; //   k= ; //   do //n    k=k+ *i; //n    i++; //n     while(i<n);//n 由以上列出的各语句的频度 可得该程序段的时间消耗   T(n)= + +n+n+n+n= n+ 可表示为T(n)=O(n)( ) i= ; j= ;   while(i+j<=n)        if (i>j) j++;    else i++;   分析   通过分析以上程序段 可将i+j看成一个控制循环次数的变量 且每执行一次循环 i+j的值加 该程序段的主要时间消耗是while循环 而while循环共做了n次 所以该程序段的执行时间为     T(n)=O(n)( )x=n; // n>   while (x>=(y+ )*(y+ ))  y++;分析   由x=n且x的值在程序中不变 又while的循环条件(x>=(y+ )*(y+ ))可知 当(y+ )*(y+ )刚超过n的值时退出循环   由(y+ )*(y+ )<n得 y<n^   所以 该程序段的执行时间为    向下取整(n^ )( ) x= ; y= ;     while(y> )    if(x> )     x=x ;y ;    else x++;分析   x= ; //   y= ; //   while(y> ) //     if(x> ) //       x=x ; //       y ; //          else      x++; //   以上程序段右侧列出了执行次数 该程序段的执行时间为       T(n)=O( )

算法的时间复杂度仅与问题的规模相关吗?

  算法的时间复杂度不仅与问题的规模相关 还与输入实例中的初始状态有关 但在最坏的情况下 其时间复杂度就是只与求解问题的规模相关的 我们在讨论时间复杂度时 一般就是以最坏情况下的时间复杂度为准的

按增长率由小至大的顺序排列下列各函数    ( / )n ( / )n nn n n! n lgn nlgn n( / )

答   常见的时间复杂度按数量级递增排列 依次为:常数阶 ( ) 对数阶 (log n) 线性阶 (n) 线性对数阶 (nlog n) 平方阶 (n ) 立方阶 (n ) k次方阶 (nk) 指数阶 ( n) 先将题中的函数分成如下几类 常数阶 对数阶 lgnK次方阶 n n( / )指数阶 (按指数由小到大排) nlgn ( / )n n n! nn注意 ( / )^n由于底数小于 所以是一个递减函数 其数量级应小于常数阶  根据以上分析按增长率由小至大的顺序可排列如下 ( / )n < < lgn < n < n( / ) < nlgn < ( / )n < n < n! < n

有时为了比较两个同数量级算法的优劣 须突出主项的常数因子 而将低次项用大 O 记号表示 例如 设T (n)= nlgn+ n+ = nlgn+O(n) T (n)= nlgn n= lgn+O(n) 这两个式子表示 当n足够大时T (n)优于T (n) 因为前者的常数因子小于后者 请用此方法表示下列函数 并指出当n足够大时 哪一个较优 哪一个较劣?

相关参考

知识大全 数据结构第一章 绪论答案[1]

  一选择题  BCCBBDCCDDAC  DDACAC  二判断题  ××××√××√×××√  ×  三填空题  数据元素数据元素间关系集合线性结构树形结构图状结构或网状结构  数据的组织形式即数

知识大全 数据结构第一章 绪论答案[2]

  ()逻辑结构相同但存储不同可以是不同的数据结构例如线性表的逻辑结构属于线性结构采用顺序存储结构为顺序表而采用链式存储结构称为线性链表  ()栈和队列的逻辑结构相同其存储表示也可相同(顺序存储和链式

知识大全 数据结构第一章 绪论答案[3]

  这是一个递归调用因k的初值为由语句()知每次调用k增故第()语句执行n次()是FOR循环语句在满足()的条件下执行该语句进入循环体()n次加上最后一次判断出界故执行了n+次()也是循环语句当k=时

知识大全 求中国人民大学出版社 出版的 <会计基础>一书中各章的练习题正确答案

求中国人民大学出版社出版的<会计基础>一书中各章的练习题正确答案会计基础第一章单选ABAAA多选ABCDABCDABCDABCDABCD判断对对对对对错第二章单选ADCDCBDAA多选AB

知识大全 数据结构第一章串讲+习题答案+复习要点

  本章的重点是了解数据结构的逻辑结构存储结构数据的运算三方面的概念及相互关系难点是算法复杂度的分析方法  需要达到<识记>层次的基本概念和术语有数据数据元素数据项数据结构特别是数据结构的

知识大全 严蔚敏《数据结构(c语言版)习题集》算法设计题第一章答案

  说明:  本文是对严蔚敏《数据结构(c语言版)习题集》一书中所有算法设计题目的解决方案主要作者为kaoyan计算机版版主一具以下网友:siice龙抬头iamkentzamesbirdthinkin

知识大全 数据结构考研分类复习真题 第一章 绪论[1]

  第章 绪论  一选择题  算法的计算量的大小称为计算的(   )【北京邮电大学二(/分)】  A.效率    &nb

知识大全 数据结构考研分类复习真题 第一章 绪论[14]

  PROCEDURE A(hg:pointer);  (hg分别为单循环链表(singlelinked circularlist)中两个结点指针)  PROCEDURE 

知识大全 数据结构考研分类复习真题 第一章 绪论[2]

  .一个算法应该是(    )【中山大学二(分)】  A.程序    B.问题求解步骤的描述  &

知识大全 数据结构考研分类复习真题 第一章 绪论[8]

  .数据结构中评价算法的两个重要指标是         【北京理工大学七(分)】  数据结构是研讨数据的()