数据结构基础概念与选择题解析

5星 · 超过95%的资源 需积分: 42 373 下载量 97 浏览量 更新于2024-07-26 136 收藏 951KB DOC 举报
"《数据结构 1800题》" 这部分内容主要涵盖了数据结构和算法的基础知识,涉及了以下几个核心知识点: 1. 算法的复杂性:算法的计算量大小通常用时间复杂度和空间复杂度衡量,分别表示算法运行时间和所需的内存空间。时间复杂度描述了算法在最坏情况下的运行时间与问题规模的关系,如题目中的O(n)、O(n^2)等。 2. 算法的基本特性:算法应具备可执行性、确定性和有穷性,这些是算法正确性的基础。例如,算法的可行性指的是每一步操作在有限时间内都能完成,无二义性。 3. 数据结构分类:数据结构从逻辑上分为线性结构和非线性结构,线性结构如数组、链表、栈和队列,非线性结构包括树、图等。线性结构的数据元素之间存在一对一的关系,而非线性结构则可能是一对多或多对多的关系。 4. 存储结构:数据结构在计算机中的实际表示称为存储结构,包括顺序存储和链式存储等。顺序存储结构通常指数据元素在内存中是连续的,如数组,而链式存储结构则通过指针连接数据元素。 5. 算法实现与语言的关系:算法可以通过不同编程语言实现,如C、PASCAL等,实现语言的不同并不影响算法的本质,但可能影响其执行效率。 6. 原地工作与辅助空间:原地工作算法指在执行过程中不需要额外的存储空间,只使用输入数据的存储空间。 7. 数据元素与记录:数据元素是最小的数据单位,而记录是数据处理的基本单位,包含了一个或多个数据元素。 8. 数据的逻辑结构与物理结构:逻辑结构描述数据元素之间的逻辑关系,物理结构是指数据在计算机内存中的实际存储形式。 9. 算法的性能分析:通过分析算法的频度,可以评估算法在特定条件下的执行次数,如嵌套循环中的语句执行频率。 10. 数据结构的操作:数据结构通常定义了一组操作,这些操作反映了数据结构的特性,并且设计时应尽量使应用程序与存储结构独立,提高代码的可重用性和灵活性。 11. 抽象数据类型:抽象数据类型只关注数据的操作而不关注其实现细节,提供了一种数据模型和操作接口。 这些知识点是数据结构和算法学习的基础,对于理解和设计高效的算法至关重要。通过《数据结构 1800题》这样的资源,学生可以深入理解这些概念,并通过大量练习提升解决实际问题的能力。
2011-12-04 上传
第一章 绪论 一、选择题 1. 算法的计算量的大小称为计算的( ) 。 【北京邮电大学 2000 二、3 (20/8 分) 】 A.效率 B. 复杂性 C. 现实性 D. 难度 2. 算法的时间复杂度取决于( ) 【中科院计算所 1998 二、1 (2 分) 】 A.问题的规模 B. 待处理数据的初态 C. A 和B 3.计算机算法指的是(1) ,它必须具备(2) 这三个特性。 (1) A.计算方法 B. 排序方法 C. 解决问题的步骤序列 D. 调度方法 (2) A.可执行性、可移植性、可扩充性 B. 可执行性、确定性、有穷性 C. 确定性、有穷性、稳定性 D. 易读性、稳定性、安全性 【南京理工大学 1999 一、1(2 分) 【武汉交通科技大学 1996 一、1( 4 分) 】 4.一个算法应该是( ) 。 【中山大学 1998 二、1(2 分) 】 A.程序 B.问题求解步骤的描述 C.要满足五个基本特性 D.A 和C. 5. 下面关于算法说法错误的是( ) 【南京理工大学 2000 一、1(1.5 分) 】 A.算法最终必须由计算机程序实现 B.为解决某问题的算法同为该问题编写的程序含义是相同的 C. 算法的可行性是指指令不能有二义性 D. 以上几个都是错误的 6. 下面说法错误的是( ) 【南京理工大学 2000 一、2 (1.5 分) 】 (1)算法原地工作的含义是指不需要任何额外的辅助空间 (2)在相同的规模 n 下,复杂度 O(n)的算法在时间上总是优于复杂度 O(2 n )的算法 (3)所谓时间复杂度是指最坏情况下,估算算法执行时间的一个上界 (4)同一个算法,实现语言的级别越高,执行效率就越低 A.(1) B.(1),(2) C.(1),(4) D.(3) 7.从逻辑上可以把数据结构分为( )两大类。 【武汉交通科技大学 1996 一 、4(2 分) 】 A.动态结构、静态结构 B.顺序结构、链式结构 C.线性结构、非线性结构 D.初等结构、构造型结构 8.以下与数据的存储结构无关的术语是( ) 。 【北方交通大学 2000 二、1(2 分) 】 A.循环队列 B. 链表 C. 哈希表 D. 栈 9.以下数据结构中,哪一个是线性结构( )?【北方交通大学 2001 一、1(2 分) 】 A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串 10.以下那一个术语与数据的存储结构无关?( ) 【北方交通大学 2001 一、2(2 分) 】 A.栈 B. 哈希表 C. 线索树 D. 双向链表 11.在下面的程序段中,对 x 的赋值语句的频度为( ) 【北京工商大学 2001 一、10(3 分) 】 FOR i:=1 TO n DO FOR j:=1 TO n DO x:=x+1; A. O(2n) B.O(n) C.O(n 2 ) D.O(log2 n ) 12.程序段 FOR i:=n-1 DOWNTO 1 DO FOR j:=1 TO i DO IF A[j]>A[j+1] THEN A[j]与A[j+1]对换; 其中 n 为正整数,则最后一行的语句频度在最坏情况下是( )