第一章 绪论 第一章 绪论 1.简述下列术语:数据、结点、逻辑结构、存储结构、数据处理、数据结构和数据类型。 数据:数据是人们利用文字符号、数字符号以及其他规定的符号对现实世界的事物及其活动所做的描述。 结点:结点也叫数据元素,它是组成数据的基本单位。在程序中通常把结点作为一个整体进行考虑和处理。 逻辑结构:结点和结点之间的逻辑关系称为数据的逻辑结构。 存储结构:数据在计算机中的存储表示称为数据的存储结构。 数据处理:数据处理是指对数据进行查找、插入、删除、合并、排序、统计以及简单计算等的操作过程。 数据结构(Data Structure):数据结构是研究数据元素(Data Element)之间抽象化的相互关系和这种关系在计算机中的存储表示(即所谓数据的逻辑结构和物理结构),并对这种结构定义相适应的运算,设计出相应的算法,而且确保经过这些运算后所得到的新结构仍然是原来的结构类型。 数据类型:数据类型是指程序设计语言中各变量可取的数据种类。数据类型是高级程序设计语言中的一个基本概念,它和数据结构的概念密切相关。 2.什么是算法?算法的主要特点是什么? 算法:简单地说就是解决特定问题的方法 算法是执行特定计算的有穷过程。这个过程有5个特点: 1.动态有穷:当执行一个算法时,不论是何种情况,在经过了 有限步骤后,这个算法一定要终止。 2.确定性:算法中的每条指令都必须是清楚的,指令无二义性。 3.输入:具有0个或0个以上由外界提供的量。 4.输出:产生1个或多个结果。 5.可行性:每条指令都充分基本,原则上可由人仅用笔和纸在 有限的时间内也能完成 3.如何评价一个算法? 设计一个好的算法应考虑以下几个方面: 1.正确性2.运行时间3.占用的存储空间4.简单性 4. 试编一个算法求一维数组float a[n]中的所有元素之和。 float sum(float a[], int n) { // 求数组a[n]中所有元素之和 for (i=0; ii;j--) state; (A)n(n+2)/2 (B)(n-1)(n+2)/2 (C)n(n+1)/2 (D)(n+2)(n-1) 正确答案:B 4、线性表若采用链式存储结构时,要求内存中可用的存储单元的地址___ 。 (A)必须是连续的 (B)部分地址必须是连续的 (C)一定是不连续的 (D)连续不连续都可以 正确答案:D 5、下面程序的时间复杂度为 ___。 i=0;s=0; while(s1*/ y=0; while(x>=(y+1)*(y+1)) y=y+1; (A)O(n1/2) (B)O(1) (C)O(n) (D)O(n2) 正确答案:A 8、算法指的是___ 。 (A)计算机程序 (B)解决问题的计算方法 (C)排序算法 (D)解决问题的有限运算序列 正确答案:D 9、某程序的时间复杂度为(3n+nlog2n+n2+8),其数量级表示为___ 。 (A)O(n) (B)O(nlog2n) (C)O(n2) (D)O(log2n) 正确答案:C 10、若需要利用形参直接访问实参,则应把形参变量说明为____参数。 (A)指针 (B)引用 (C)void (D)值 正确答案:B