丨4/7一2/5丨一丨3/5一7/9丨十丨2/9一3/7丨?

  • 2根22/2根25指的是下部4根钢筋,2跟22放上面,2跟25放下面
    有帮助请采纳。
    谢谢,有问题可以HI我
    还有什么需要请点击“向TA求助”。
    我和我们的团队“建筑结构设计师”将尽力帮助你。

2.4 算法和数据结构

解析:首先需要理解"后进先出",其实也可以称之为"先进后出",先进入的元素被压在栈底,栈底的元素要出栈则上层的元素必须全部都出栈,元素 A 要出栈,则必须元素 B先出栈,所以元素 B 的出栈要在 A 之前,所以选 C。

解析:算法的表示可以有多种形式,如文字说明(自然语言)、流程图表示、伪代码(一种介于自然语言和程序设计语言之间的文字和符号表达工具)和程序设计语言等。

解析:算法的设计一般采用由粗到细、由抽象到具体的逐步求精的方法。选项D错误

①、确定性:算法的每一条指令必须有确切的定义,无二义性。

②、有穷性:是指算法必须在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。

③、可行性:算法中的描述在计算机中能执行,且在有穷时间内完成。

④、至少有一个(1个或多个)输出,但是可以没有(0个或多个)输入

根据以上选项A和选项C错误

算法的表示(描述工具):自然语言描述、流程图、程序设计语言、伪代码。选项B正确。

解析:解决问题的算法有很多,可以使用多种语言求解同一问题,那问题的结果必相同,否则算法就不能满足相关条件。

解析:描述算法的可以是流程图、自然语言、伪代码,也可以是程序设计语言。

解析:a=a+b→变量 a中存放着a和b的和;b=a-b→变量b中存放着原来a的值;a=a-b→ 变量 a中存放着原来b 的值。

解析:算法是问题求解规则的一种过程描述,可以没有输入,但一定得有输出。

解析:选项 A 正确,此特性为确定性。选项 B 错误,算法具有确定性,一个程序实现的功能可以使用多种算法来完成。选项C 错误,算法具有有穷性,这一点与程序不同。选项 D 错误,算法的输入可以为 0,但输出不能为0。

解析:算法的设计一般采用由粗到细、由抽象到具体的逐步求精的方法。解决一个问题时肯定从大致的方向去考虑解决问题的方法,不可能一开始就从问题的某一个细节开始人手。

解析:数据结构中数据的逻辑结构分为线性结构和非线性结构。二叉树、森林、图都是非线性的逻辑结构。数据处理的效率与数据的逻辑结构和存储结构均相关。数据的逻辑结构与数据的存储无关。

解析:通常算法由设计人员规划完成,而计算机负责其程序编码的执行。

解析:可以不满足"有穷性",在算法中必须要满足有穷性的特点,而程序在运行的过程中有可能会出现"死循环"的现象,一旦出现此种情况,则程序本身无法终止其执行。

解析:程序=算法+数据结构(是由科学家尼克劳斯-沃思提出)。

解析:算法的设计一般采用由粗到细、由抽象到具体的逐步求解的方法。选项B描述有问题。

解析:研究数据结构一般包括三方面:数据的逻辑结构、数据的存储结构,定义在逻辑结构和存储结构上的运算。D选项正确。

解析:算法:可以没有输入,但是必有1个输出。

程序:可以没有输入,也可以没有输出。

算法的表示(描述)工具:流程图、自然语言、伪代码、程序设计语言。

程序可以被计算机执行。

算法不能被计算机直接执行,需要使用程序设计语言实现,编译或解释。

解析:根据栈的入栈和出栈规则“先进后出”,因为ABCDE为依次入栈:

A选项,要想C先出,那么AB肯定需要在C的下面,所以C出之后,D进入,之后再出,B再出,最后A出,所以可以正常入出栈。

B选项,A进A出,后B进B出,再C进D进D出,后E进E出,最后C出。正常出入栈。

C选项,ABCDE入栈,E出,D再出,C出,B出,A出,可以正常出入栈。

D选项,先出C,那么AB肯定需先进,C出之后D进,D出,E进入,E再进入,AB目前在栈内,且B在上面,即B只能先出,A是最后出。所以按选项中给出的出栈次序,并不能正常出入栈。所以该选项不可能的出栈次序。

解析:顺序查找,对线性表不做有序要求,效率最低。

折半查找(二分查找)效率最高,需要线性线有序,非动态。

分块查找效率居中,需要有序,且最好为动态的,是顺序和折半的一种改装算法。

解析:数据的逻辑结构常的结构:集合、线性、树状、网状等。

数据的物理结构常见的存储结构:顺序,链接,索引等;

解析:算法的表示不一定能让计算机理解。程序才是需要被计算机理解的。

解析:图是网状结构,存在多对多节点连接,地图规则可能 会涉及多个地点与多个地点之间的连接。

解析:算法的有穷性是指算法必须在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。

视频讲解(第23题至第26题):

解析:非线性结构:不满足线性结构条件的数据结构。如树、二叉树为非线性结构。

解析:根据二叉树的性质:二叉树【第i(i≥1)层上至多有 个结点。得到【第5层的结点数最多是16。

解析:所谓满二叉树是指这样的一种二叉树:除最后一层外,每层上的所有结点都有两个子结点。这就是说,在满二叉树中,每一层上的结点数都达到最大值,即在满二叉树的【第K层上有 个结点,且深度为m的满二叉树有 个结点。在满二叉树中,最后一层的结点个数就是叶子结点的个数,本题中深度为5,故叶子结点数为 = =16。本题答案是C。

解析:先遍历左子树、然后访问根结点,最后遍历右子树;并且,在遍历左、右子树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。(左-根-右)。首先访问点节A的左子树,点节A左子树的节点B还有子树,所以还要先访问点节B的左子树,即节点D(左),接着访问节点B(根);之后再访问节点E(右),节点A的左子树访问完,接下来访问A(根),接着访问右子树,节点C还有子树,还要继续按照料左-根-右访问;这时要先访问节点F(左),再访问节点C(根),右没有,所以点A的右子树也访问完毕。即DBEAFC。选项B正确。

解析:算法的必要满足条件:

①、确定性:算法的每一条指令必须有确切的定义,无二义性。

②、有穷性:是指算法必须在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。

③、可行性:算法中的描述在计算机中能执行,且在有穷时间内完成。

④、至少有一个(1个或多个)输出,但是可以没有(0个或多个)输入可以看成是拥有足够的情报

解析:队列是指允许在一端进行插入、而在另一端进行删除的线性表。它又称为"先进先出"或"后进后出"的线性表,体现了"先来先服务"的原则。

解析:计算机算法是指解题方案的准确而完整的描述,它有以下几个基本特征:可行性、确定性、有穷性和拥有足够的情报(输入输出情况)。本题答案为C。

解析:栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种"后进先出"的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种"先进先出"的线性表。本题答案为C。

解析:本题比较难。在有向图中,若任意两个顶点都连通,则称该图是强连通图,这样的有向图的形状是环状,因而至少应有n条边。比如下图所示。本题答案为C。

解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构(也称数据的物理结构)。故本题答案为D。

解析:一般来说,一种数据的逻辑结构根据需要可以表示成多种存储结构,常用的存储结构有顺序、链接、索引等存储结构。而采用不同的存储结构,其数据处理的效率是不同的。故本题答案为D。

解析:根据数据结构中各数据元素之间前后件关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。如果一个非空的数据结构满足下列两个条件:(1)有且只有一个根结点;(2)每一个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构,又称线性表。有一个以上根结点的数据结构肯定是非线性结构,所以选项A是错误的。循环链表、双向链表是线性结构,所以选项C、D是错误的。

解析:栈是一种先进后出的线性表,栈实际上也是线性表,只不过是一种特殊的线性表,所以选项A、C均不正确。队列是指允许在一端进行插入、而在另一端进行删除的线性表,队列是一种"先进先出"或"后进后出"的线性表,所以选项B也不正确。故本题答案为D。

解析:非线性结构的逻辑特征是一个结点元素可能对应多个直接前件和多个后件。常见的非线性结构有:树(二叉树等),图(网等)。由于二叉树的存储结构中每一个存储结点有两个指针域,因此,二叉树的链式存储结构也称为二叉链表,二叉链表属于非线性结构。故本题答案为A。

解析:根据数据结构中各数据元素之间前后关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。如果一个非空的数据结构满足下列两个条件:①有且只有一个根结点;②每个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构,又称线性表。本题答案为D。

解析:根据数据结构中各数据元素之间前后关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。如果一个非空的数据结构满足下列两个条件:①有且只有一个根结点;②每个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构,又称线性表。所以具有两个根结点的数据结构一定是非线性结构。本题答案为D。

解析:本题的考查知识点是线性结构与非线性结构,比较难,略有点超纲。如果一个非空的数据结构有且只有一个根结点,并且每一个结点最多有一个前件,也最多有一个后件,则称该数据结构为线性结构,线性结构又称为线性表。例如双链表和二叉链表的结点都有两个指针域,前者是线性结构,后者是非线性结构。二叉链表中会有两个结点的同一个指针域的值相等即指向父结点。 所以本题答案为B。

解析:本题的考查知识点是线性结构与非线性结构。线性结构用图形表示更加直观,(1,3)图形表示为1->3,(4,1)图形表示为4->1,其余R中的元素图形表示以此类推。线性结构要求有且只有一个根结点,而且每一个结点最多有一个前件,也最多有一个后件。

解析:一个算法必须满足在执行了有限步的操作之后终止,这一特点与程序不同。

解析:队列是一种特殊的线性表,是一种具有先进先出(FIFO)的数据结构。队列中先插入的元素将最先被删除;反之,最后插入的元素将最后被删除。具有线性结构特点的对象还有栈、字符串、数组及广义表等。区分队列与栈的不同。

解析:正确性和算法的复杂度是优先考虑的,其次才会考虑是否可读性、是否健壮性、是否容易调试和测试等。A选项是正确性。C选项是算法的空间复杂度。D选项是算法时间复杂度。

解析:栈和队列都属于线性结构(线性表、字符串、数组以及广义表也属于),栈的特点是后进先出,而队列属于先进先出,A、B 选项中的概念颠倒了。

解析:要理解耦合度和内聚度的概念,首先要搞清楚模块独立性的相关内容,模块只完成系统要求的独立的子功能,并且与其它模块的联系最少并且接口简单,符合信息隐蔽和信息局部化原则,模块间关联和依赖程度尽可能小。衡量模块独立性的标准是耦合度和内聚度。内聚度是衡量同一个模块内部的各个元素彼此结合的紧密程度;耦合度是衡量不同模块彼此间相互依赖的紧密程度。所以在软件设计中应尽量做到高内聚、低耦合。

解析:健壮性是指软件对于规范要求以外的输入情况的处理能力。健壮的系统是指对于规范要求以外的输入能够判断出这个输入不符合规范要求,并能有合理的处理方式。另外健壮性有时也和容错性、可移植性、正确性有交叉的地方。一个软件可以从错误的输入推断出正确合理的输入,这属于容错性量度标准,但是也可以认为这个软件是健壮的。

解析:数据结构:是指由某一数据对象中所有数据成员之间的关系组成的集合。

解析:数据结构相同,但对应的存储结构并不相同。

选项A 正确。数据结构的逻辑结构独立于其存储结构。

选项B 错误。数据结构的存储结构并不独立于该数据结构的逻辑结构。

选项C 错误。逻辑结构的在计算机中的实现方式(存储表示)有多种。

选项D 错误。数据结构有逻辑结构、存储结构和运算组成。

【第1题】答案ABCD

解析:算法的表示(描述工具)

(1)自然语言:算法可以用自然语言来描述,缺点是不够准确。(2)流程图

(3)程序设计语言;(4)伪代码(PDL):介于自然语言和程序设计语言之间的文字和符号表达工具。

【第2题】答案ABCD

解析:评价算法的优劣应考虑的主要因素

(1)算法的复杂度:时间复杂度和空间复杂度

(2)正确性:算法的正确性是评价一个算法优劣的最重要的标准。

(3)可读性(可理解):算法的可读性是指一个算法可供人们阅读的容易程度,算法是否容易理解。

(4)健壮性:健壮性是指一个算法对不合理数据输入的反应能力和处理能力,也称为容错性。

【第3题】答案:ABCD

解析:算法的必要满足条件(有些教材称为五大特性,最后一条拆为无输入和至少一输出):

①、确定性:算法的每一条指令必须有确切的定义,无二义性。

②、有穷性:是指算法必须在有限的时间内做完,即算法必须能在执行有限个步骤之后终止。

③、可行性:算法中的描述在计算机中能执行,且在有穷时间内完成。

① 、至少有一个(1个或多个)输出,但是可以没有(0个或多个)输入

【第4题】答案:ABCD

解析:算法的表示(描述工具)

(1)自然语言:算法可以用自然语言来描述,缺点是不够准确。

(4)伪代码(PDL):介于自然语言和程序设计语言之间的文字和符号表达工具。

【第5题】答案:ABCD

解析:评价算法的优劣指标(算法的分析,考虑的因素)

算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数量级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率

(1)正确性:算法的正确性是评价一个算法优劣的最重要的标准。

(2)算法的复杂度:时间复杂度和空间复杂度。

(3)可读性(可理解):算法的可读性是指一个算法可供人们阅读的容易程度,算法是否容易理解。

(4)健壮性:健壮性是指一个算法对不合理数据输入的反应能力和处理能力,也称为容错性。

【第6题】答案:ABC

(1)算法的复杂度:算法效率的度量

(2)算法复杂度分类:时间复杂度和空间复杂度

①、时间复杂度:指执行算法所需要的计算工作量。通常,一个算法所用的时间包括编译时间和运行时间。度量方法是执行算法所需要的基本运算次数。

②、空间复杂度:指执行这个算法所需要的内存空间。包括算法程序所占的空间,输入的初始数据所占的空间,算法执行过程中所需的额外空间。

(3)空间复杂度和时间复杂度并不相关

【第7题】答案:ABCD

【第8题】答案:BCD

解析:线性表及其顺序存储结构

(1)线性表:由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。

(2)在复杂线性表中,由若干项数据元素组成的数据元素称为记录;由多个记录构成的线性表称为文件。

(3)非空线性表的结构特征:

①、有且只有一个根结点a1,它无前件

②、有且只有一个终端结点an,它无后件;

③、除根结点与终端结点外,其他所有结点有且只有一个前件,也有且只有一个后件。

(4)结点个数n称为线性表的长度,当n=0时,称为空表

(5)线性表的顺序存储结构具有以下两个基本特点:

①、线性表中所有元素所占的存储空间是连续的;

②、线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。

(6)线性表存储结构实现的举例:

①、数组:有序存储,占有一片连继地址,顺序存储结构的。

②、链表:无序存放的元素关联起来,链式存储结构的。

③、栈:先进后出(限定在一端),链式结构或顺序存储结构。

【第9题】答案:ABC

①、入栈运算,在栈顶位置插入元素;

②、退栈运算,删除元素(取出栈顶元素并赋给一个指定的变量);

【第10题】答案:ABCD

解析:)队列是一种特殊的线性表,只允许在表的一端插入,在另一端删除,允许插入的一端是队尾(rear),允许删除的一端为队头(front);当表中没有元素是空队列;队列是一种先进先出的线性表。(FIFO)

(2)队列的存储结构:

①、顺序存储结构:一维数组

②、链式存储:线性链表;

(3)队列的顺序存储结构一般采用循环队列的形式。循环队列s=0表示队列为空;s=1且front=rear表示队满。

①、入队运算:从队尾插入一个元素;

②、退队运算:从队头删除一个元素

解析∶衡量算法的五个特性(或满足条件)分别为∶有穷性、确定性(即无二义性)、可行性、输入及输出(可以没有输入,但一个算法必须有输出,没有输出的算法是毫无意义的)。

解析:算法就是计算机解题的过程,数据结构+算法=程序。

解析:算法中具有有穷性,一个算法总是在执行了有限步的操作后终止,而程序必不一定需要满足这个条件,比如程序中可以出现死循环。

解析:队列是一种特殊的线性表,只允许在表的一端插入,在另一端删除,允许插入的一端是队尾(rear),允许删除的一端为队头(front)。

解析:栈是一种特殊的线性表,只允许在表的一端进行插入和删除的线性表;插入,删除的一端为栈顶,另一端为栈底;当表中没有元素时为空栈。

解析:线性表:由一组数据元素构成,数据元素的位置只取决于自己的序号,元素之间的相对位置是线性的。

解析:线性结构:栈、队列、双向链表等

①、有且只有一个根结点

②、每个结点最多有一个前件,也最多有一个后件

解析:数据的逻辑结构是对数据元素之间的逻辑关系的描述,与数据的存储无关,是面向问题的,是独立于计算机的。

解析:数据的存储结构也称为数据的物理结构,是数据在计算机中的存放的方式,是面向计算机的,它包括数据元素的存储方式和关系的存储方式。

【第10题】答案:正确

解析:二叉树是一种特殊的树形结构,每个结点最多只有两棵子树,且有左右之分不能互换。

【第1题】答案有穷性

解析:一个算法必须保证执行有限步之后结束,即算法的有穷性,这一点与程序不同,程序不一定需要满足这一点,比如程序可能会进入死循环。

【第2题】答案算法分析

解析:关于算法,需要考虑以下三个方面的问题,即如何确定算法(算法设计)、如何表示算法(算法表示)及如何使算法更加有效(算法分析即算法的复杂度分析)

解析:程序=算法+数据结构(是由科学家尼克劳斯-沃思提出),算法是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。

【第4题】答案时间空间

解析:如果一个算法所编制的程序要反复运行多次 ,则应重点从时间代价考虑。如果待解决问题的数据量较大,则算法设计应重点考虑空间代价。

【第5题】答案

解析:数据的逻辑结构可以分为∶线性结构和非线性结构。线性结构,线性表、栈、队列,

字符串、数组、广义表。非线性结构,树、二叉树、森林、有向图、无向图。

解析:根据条件是否成立,反复执行一段程序,这是循环结构。

【第7题】答案:入栈运算;退栈运算

①、入栈运算,在栈顶位置插入元素;

②、退栈运算,删除元素(取出栈顶元素并赋给一个指定的变量);

③、读栈顶元素,将栈顶元素赋给一个指定的变量,此时指针无变化。

【第8题】答案:前序;中序;后序

解析:二叉树遍历:前序、中序和后序

我要回帖

更多关于 5/2,7/4,11/8,19/16 的文章

 

随机推荐