1 / 11
文档名称:

数据结构与算法 绪论.pdf

格式:pdf   大小:348KB   页数:11页
下载后只包含 1 个 PDF 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据结构与算法 绪论.pdf

上传人:q1188830 2022/2/22 文件大小:348 KB

下载得到文件列表

数据结构与算法 绪论.pdf

文档介绍

文档介绍:: .
更是提
出了“算法+数据结构=程序”的著名公式,并以此公式作为他所著的一本书的书名,由此可
以看出算法和数据结构二者之间的密切关系。
算法的描述
算法需要用一种语言来描述,通常可有各种描述方法以满足不同的需要。例如,可以直
接用某种高级程序设计语言(如 Pascal、C 语言等)来描述算法,也可以用框图、自然语言或类
高级语言来描述算法。
z 框图描述算法:这种描述方法简单、直观、易懂,在算法研究的早期曾流行过。但
使用框图来描述比较复杂的算法,有时就显得不够方便,甚至难于把算法清晰、简
洁地描述出来。
z 自然语言描述算法:用中文、英文等语言直接来描述算法。这种描述方法直观、易
懂,但描述比较复杂的算法,有时就显得不够简洁、清晰。
z 类高级语言描述算法:用类似高级语言,或称为伪高级语言来描述算法。类高级语
言与程序设计语言相仿,包括了高级语言中的基本语言成分,但较为简单。用类高
级语言描述的算法,虽不能在计算机上直接运行,但简明清晰,不拘泥于高级程序
设计语言的细节,容易编写和阅读。如果需要也容易改写为对应的高级语言程序。
z 高级程序设计语言描述算法:应用某种高级语言直接来描述算法(如 Pascal、C 语言、
C++、Java 等)。这种描述方法必须严格按照所使用的高级语言的语法规则来描述算
法,通常这种算法也称程序,可直接在计算机上被调用运行,并获得结果。
·2·第 1 章 绪 论
考虑到目前许多学校以 C 语言作为基本的教学语言,学生对 C 语言较为了解,同时用 C
语言描述的算法易于上机运行并直接得到验证,本书将采用 C 语言描述算法,所有算法都以
C 语言的函数形式表示:
函数类型 函数名(参数表列)
{
函数内部数据说明;

语句序列;

}

C++是 C 的扩展,是 C 的超集,完全兼容 C,为了方便对算法的描述,书中同时运用了
C++对 C 的部分扩展功能。
为了能够避免由于特殊的语法知识而增加的算法的理解难度,本书在算法的实现中引入
了 C++中的“引用”作为函数的一种参数传递方式。所谓“引用”也可以理解为变量的别名,
它和变量名指的是同一个存储空间,那么通过引用所做的修改也将会影响所引用的变量。下
面简要介绍“引用”的定义和使用。

int a=10;
int ra=&a; //定义 ra 作为 a 的引用
ra=20; //通过 ra 来修改 a 的数据,此时 a 的值是 20

引用定义的一般形式:
数据类型 引用名 = &变量名;
在函数的调用中,如果希望通过参数返回值,可以通过传“地址”进行调用,也可以通
过传“引用”进行调用。例如:

void swap(int &ra , &rb)
{
int temp;
temp=ra;
ra=rb;
rb=temp
}
void main()
{
int a=5,b=7;
swap(a,b);
printf(“a=%d,b=%d”,a,b);//输出的结果 a=7,b=5
}

在此例中,通过“引用”作为参数,在 swap( )函数中对 ra 和 rb 进