《计算机算法》王志喜,李宝密,姜磊著|(epub+azw3+mobi+pdf)电子书下载

图书名称:《计算机算法》

【作 者】王志喜,李宝密,姜磊著
【页 数】 250
【出版社】 湘潭:湘潭大学出版社 , 2020.09
【ISBN号】978-7-5687-0473-1
【分 类】计算机算法
【参考文献】 王志喜,李宝密,姜磊著. 计算机算法. 湘潭:湘潭大学出版社, 2020.09.

图书封面:

图书目录:

《计算机算法》内容提要:

本书主要介绍计算机算法设计与分析的基本原理、一些常用的算法设计策略和复杂性理论的基础知识,重点介绍各种算法设计策略的基本思想和一些常用的经典算法。本书的主要内容包括基本的算法分析技术、基本的的遍历技术、分治方法、贪心方法、动态规划方法、回溯方法、分枝限界方法、概率方法、NP完全性理论和NP完全问题的近似算法等。本书对部分常用经典算法的适用范围进行了扩充,并构造了回溯算法和分枝限界算法的公式化描述。这三项工作是本书最明显的特色和创新之处。

《计算机算法》内容试读

第1章C++复习

本章简要复习描述算法需要使用的C++基础知识,介绍C++标准模板库的使用,构

建描述算法所需的支持程序。

1.1关于开发环境“

1.1.1开发环境的选择和安装

本书中,IDE使用Dev-Cpp5.11,C++编译器使用MinGW-W64中的GCC-8.1.0。

1.Dev-C++的下载和安装

Dev-C+原始版本为Bloodshed Dev-C++,最高版本号为4.9.9.2,4.9.9.2以后的版本为Orwell Dev-C++。Orwell Dev-C++的下载地址为

http://orwelldevcpp.blogspot.com/

从该网站下载最新的不带编译器的Orwell Dev-C++。下载完成后直接运行安装程序,按照提示完成安装。注意:安装完成以后不要立即运行Orwell Dev-C++。

2.GCC编译器的下载和安装

使用Orwell Dev-C++编写程序通常使用GCC编译器。这里选用MinGW-W64GCC-8.1.0的i686-posix-dwarf,.下载地址是

https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20 Win32/Personal%20Builds/mingw-builds/8.1.0/threads-posix/dwarf/i686-

8.1.0-release-posix-dwarf-rt_v6-rev0.7z

下载完成后解压该文件,将解压得到的MinGW32文件夹复制到Dev-C++的安装目录(例如C:\Dev-Cpp)

完成复制后运行Orwell Dev-C++,按照提示完成Orwell Dev-C++的配置和编译器的默认配置。

1.1.2编译器设置

1.设置方法

从Tools菜单中选择Compiler Options,打开Compiler Options对话框,在Compiler

·2

计算机算法

Options对话框中完成编译器设置。如图1-1所示。

Dev-C++5.11

回☒

Rile Edit Search View Project Execute Tools AStyle Window Help

口圆■增惠→I目gp1 er Options.■

Engironment Options.

(globals)

图Editor0 ptions,

Project Classes Debug

▣Configure Shorteuts,.TConfigure Tools.唱Eackage ManagerAStyle

Compiler Resources d Compile Log Debug Find Results

图1-1编译器设置

2.语言支持

本书有很多程序使用了一些C++17新增的特性,可以使用选项“std=C++17”使

得编译器支持C++17,如图1-2所示。

Compiler Options

Compiler set to configure32-bit Release

可刻因剑

General Seings Drectories Programs

Add the following commands whencalling the compiler:

-std=c11-stdec++17

Add the following commands whencalling theinker

static-bstdc++Hglu32 -lopeng32 -lfreeglut -Hopency_core2413.opencv_impproc2413-lopencv_highgu2413

OK CancelHep图1-2语言支持

3.可执行文件路径

首先从Directories页中选择Binaries,然后将编译和运行应用程序所需要的可执行文件的路径添加到列表中(可以使用“浏览”按钮选择文件路径),最后调整这些路径的顺序。如图13所示。

第1章C+复习

·3·

Compiler Options

Compler set to configure32-bit Release

习到组国

General Settings Directories Programs

Binanies Libraries C Includes C++Includes

C:\Dev-Cpp\MinGW32\bin

C:\Dev-Cpp\MinGW32\686-w64-mingw32\bin

C:\Dev-Cpp\bin

Add

Delete Invalid

OKX Cancel Helo

图1-3可执行文件路径设置

4.链接库文件路径

首先从Directories页中选择Libraries,然后将编译应用程序所需要的链接库文件的路径添加到列表中(可以使用“浏览”按钮选择文件路径),最后调整这些路径的顺序。如图1-4所示。

Compiler Options

x

-Compiler set to configure32-bit Release

习刻国剑

General Seltings Directories Programs

Binarie LibraresCIncudesC+Includes

C:\Dev-Cpp\MinGW32Vlib

C:\Dev-Cpp\MinGW32\686-w64-mingw32\lib

C:\Dev-Cpp\ib

日eplace

Add

Delete Invaid

■OKx Cancel7eb

图1-4链接库文件路径设置

5.C Include文件路径

首先从Directories页中选择C Includes,.然后将编译应用程序所需要的C Include文件的路径添加到列表中(可以使用“浏览”按钮选择文件路径),最后调整这些路径的顺

。4

计算机算法

序。如图1-5所示。

Compiler Options

-Compiler set to configure32-bit Release

可金园合

General Settings Directories Programs

Binaries Lbraries CIncludesCIncludes

C:\Dev-Cpp\MinGW32\include

C:\Dev-Cpp\MinGW32\686-w64-minow32\include

C(Dev-Cpp\MinGW32\b\gce\686-w64-mingw32\8.1.0\include

Dev-CooV

D:\Exercise\CStdExt

Replace

Add

Delete Delete Invaid

K☐Cancel?He的

图1-5 C Include文件路径设置

6.C++Include文件路径

首先从Directories中选择C++Includes,然后将编译应用程序所需要的C++Include文件的路径添加到列表中(可以使用“浏览”按钮选择文件路径),最后调整这些路径的顺序。如图1-6所示。

Compiler Options

Compiler set to configute32-bit Release

可刻必分

General Settings Drectories Programs

Binaries Libraries CIncludes C++Includes

C:\Dev-Cpp\MinGW32Vinclude

C:\Dev-Cpp\MinGW32V686-w64-mingw32\include

C:\Dev-Cpp\MinGW32\b\gcc\i686-w64-mingw32\8.1.0\include

C:\Dev-Cpp\MinGW32blgceV686-w64-mingw32\8.1.0\include\c++

且eplac

Add

Delete Delete Invalid■KCancel?Heb

图1-6C++Include文件路径设置

7.编译器文件

在Programs页中指定编译器各主要组成文件的文件名(可以使用“浏览”按钮选择

第1章C++复习

·5·

文件路径)。如图1-7所示。

Compiler Options

-Compiler set to configure32-bit Release

可刻因

Genetal Seting Directories Programs

You may want to change the programs filenames that are used in

Dev-C++(for example when using a cross compiler

gcc:

gcc.exe

9+

g++.exe

make

mingw32-make.exe

gdb:

gdb.exe

gprof.exe

DK X Cancel?Help

图1-7编译器文件路径设置

1.1.3使用方法

在完成开发环境的安装和编译器的设置以后,便可使用Dv-C++开发应用程序了。打开Dv-C++集成开发环境,创建一个空白源程序文件,编写源程序、编译、调试、运行。

1.2C++对C的几种过程性扩充

1.2.1C++版的“Hello”程序

下列程序是使用C++标准模板库的“Hllo”程序。

#include//cin.cout.endl:#include//stringusing namespace std;

int main()/C++标准要求返回int值

{std:cout<<"Input your name."<

std::cin>>name://假设输人John

cout<<"Hello,"<<"!"<

。6

计算机算法

1.2.2输人输出

C++通常使用标准输入流对象std::cin和标准输出流对象std:cout进行输人和输出。

1.输入

std::cin必须与输人运算符“>>”配套使用。例如“std:cin>>x;”将输入数据转换为变量x的类型并存入x。运算符“>>”允许连续输人数据,如“std:cin>>x>>y>>z;”。

2.输出

std:cout必须与输出运算符“<<”配套使用。例如“std:cout<<<”进行输出操作时,可以把多个不同类型的数据组合在一条语句中,也可以输出表达式的值。例如“std:cout<<"a十b=”<<2.5十

3.5<

3.说明

std::cin、std:cout和std:endl等在文件iostream中定义。在使用“usingnamespace std;”后,std::cin、std::cout和std::endl等可以简写为cin、cout和endl等。

1.2.3变量声明和名字空间

1.变量声明和类型转换

·在C++中,结构名、联合名、枚举名等都是类型名,在定义变量时,不需要在这些

名字前冠以struct、union或enum等关键字。

·C++允许在源程序的任何合适位置声明变量,只要符合“先定义,后使用”的规定

即可。

·C++增加了一种类似于函数调用的类型转换格式。例如,“x=double(i)”和“p=(double*)(&.i)”。

·C+ll可以使用decltype(表达式)指定变量类型,也允许使用auto由编译器推断变量类型。例如,对于int变量i,“decltype(&i)p;”相当于“int*p;”,“auto q=&.i;”相当于“int*q=&i;”。

·C++17允许使用结构化的绑定声明,使用方法如下例。

struct Test int id;string name;);

Test X =1,"Zhang")

auto[id,name]=X;/等价于auto id=X.id,name=X,name:

2.函数的返回值

C++11允许返回值类型后置。此时,使用auto作为返回值类型的占位符,在函数头部的末尾使用“一>返回值类型”指定函数的返回值类型。例如:

···试读结束···

阅读剩余
THE END