下列关于数据的逻辑结构的叙述中,哪一个是不正确的(C)。
- A、数据的逻辑结构是数据间关系的描述
- B、数据的逻辑结构抽象反映数据元素间的逻辑关系
- C、数据的逻辑结构具体反映数据在计算机中的存储方式
数据的逻辑结构是从逻辑关系上描述数据,他与数据的存储无关,是独立于计算机的
- D、数据的逻辑结构分为线性结构和非线性结构
- 以下关于数据的存储结构的叙述中哪一条是正确的(B)。
- A、数据的存储结构是数据间关系的抽象描述
- B、数据的存储结构是逻辑结构在计算机存储器中的实现
- C、数据的存储结构分为线性结构和非线性结构
数据结构在计算机中有两种基本的存储结构
- D、数据的存储结构对数据运算的具体实现没有影响
-
按照数据结构中对数据类型的定义,以下为C语言中的复合数据类型的是(B )。
- A、整型
- B、结构型
- C、字符型
- D、实型
-
下面说法错误的是( A )
- A、
算法原地工作的含义是指不需要任何额外的辅助空间
算法原地工作是指算法所需辅助空间是常量,
- B、
在相同的规模n下,复杂度O(n)的算法在时间上总是优于复杂度O(2n)的算法
- C、所谓时间复杂度是指最坏情况下估算算法执行时间的一个上界
- D、同一个算法,实现语言的级别越高,执行效率就越低
-
从逻辑上可以把数据结构分为( C )两大类。
- A、动态结构、静态结构
- B、顺序结构、链式结构
- C、线性结构、非线性结构
- D、初等结构、构造型结构
-
在下面的程序段中,语句x=x+1的频度为(C)
for (i=1;i<= n;i++)
for (j=1;j<= n;j++)
x=x+1;
- A、2n
- B、n
- C、n2
- D、log2n
在给定的程序中,语句x=x+1 在内层循环中每次执行一次,因此内层循环的执行频度为 n;外层循环每执行一次,内层循环就执行 n 次,因此外层循环的执行频度也为 n。因此,总的执行频度为 n * n = n^2。
因此,语句x=x+1的频度为 O(n^2)。
-
程序段 for (i=n;i>0;i--)
for (j=1;j<i;j++)
if (a[j]>a[j+1])
Swap(A[j],A[j+1]); //将A[j]与A[j+1]对换
其中 n为正整数,则在最坏情况下算法的时间复杂度是( D )
- A、O(n)
- B、O(nlogn)
- C、 O(n3)
- D、O(n2)
-
以下数据结构中,( A )是非线性结构。
- A、树
- B、字符串
- C、队列
- D、栈
数据元素是数据的最小单位。×
数据元素是数据的基本单位
数据项是组成数据元素的,有独立含义的,不可分割的最小单位。
数据项是数据不可分割的最小单位。√
数据的逻辑结构是指数据的各数据项之间的逻辑关系;×
算法的优劣与算法描述语言无关。√
健壮的算法不会因非法的输入数据而出现莫名其妙的状态。√
算法可以用不同的语言描述,如果用C 语言或C++语言等高级语言来描述,则算法实际上就是程序了。√
数据的物理结构是指数据在计算机内的实际存储形式。√
数据的逻辑结构说明数据元素之间的逻辑关系,它依赖于计算机的存储结构. ×
关于数据的逻辑结构和物理结构的概念之间的混淆。确切地说,数据的逻辑结构是独立于计算机实际存储方式的,描述了数据元素之间的逻辑关系。逻辑结构是针对问题本身的抽象描述,不依赖于具体的存储结构。
例如,对于线性表来说,我们可以描述它是一种线性结构,数据元素之间存在顺序关系,具有“首元素”、“尾元素”等概念。这种逻辑结构是与线性表的物理存储方式无关的,可以用顺序存储结构或链式存储结构来实现。
因此,虽然不同的存储结构会影响数据的访问效率和操作方式,但逻辑结构是指数据元素之间的逻辑关系,是独立于具体存储方式的。数据的逻辑结构是通过抽象描述数据元素之间的关系,而物理结构则是指具体的存储方式。这两者之间的关系是逻辑上的抽象与实际的存储之间的映射关系。
数据结构的操作的定义与具体实现有关。×
抽象数据类型的定义仅取决于它的一组逻辑特性,而与在计算机内部如何表示和实现无关,即不论其内部结构如何变化,只要它的数学特性不变,都不影响其外部使用。√
树形结构是数据元素之间存在的一种多对多的关系。 ×