Hello 算法 1.0.0b1 C++版算法是什么 1.2.1. 算法定义 「算法 Algorithm」是在有限时间内解决特定问题的一组指令或操作步骤。算法具有以下特性: ‧ 问题是明确的,需要拥有明确的输入和输出定义。 ‧ 解具有确定性,即给定相同输入时,输出一定相同。 ‧ 具有可行性,可在有限步骤、有限时间、有限内存空间下完成。 ‧ 独立于编程语言,即可用多种语言实现。 1.2.2. 数据结构定义 「数据结构 Data 乐高」类比到「数据结构与算法」,那么可以得到下表所示的对应关系。 数据结构与算法 LEGO 乐高 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 1. 引言 hello‑algo.com 11 � 约定俗成的简称 在实际讨论中,我们通常会将「数据结构与算法」直接简称为「算法」。例如,我们熟称的 LeetCode 算法 算法运行中,使用的内存空间主要有以下几种: ‧「输入空间」用于存储算法的输入数据; ‧「暂存空间」用于存储算法运行中的变量、对象、函数上下文等数据; ‧「输出空间」用于存储算法的输出数据; � 通常情况下,空间复杂度统计范围是「暂存空间」+「输出空间」。 暂存空间可分为三个部分: ‧「暂存数据」用于保存算法运行中的各种 常量、变量、对象 等。 ‧「栈帧空间」用于保存调用函数的上下文数据。系0 码力 | 187 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b2 C++版算法是什么 1.2.1. 算法定义 「算法 Algorithm」是在有限时间内解决特定问题的一组指令或操作步骤。算法具有以下特性: ‧ 问题是明确的,需要拥有明确的输入和输出定义。 ‧ 解具有确定性,即给定相同输入时,输出一定相同。 ‧ 具有可行性,可在有限步骤、有限时间、有限内存空间下完成。 ‧ 独立于编程语言,即可用多种语言实现。 1.2.2. 数据结构定义 「数据结构 Data 乐高」类比到「数据结构与算法」,那么可以得到下表所示的对应关系。 数据结构与算法 LEGO 乐高 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 1. 引言 hello‑algo.com 11 � 约定俗成的简称 在实际讨论中,我们通常会将「数据结构与算法」直接简称为「算法」。例如,我们熟称的 LeetCode 算法 算法运行中,使用的内存空间主要有以下几种: ‧「输入空间」用于存储算法的输入数据; ‧「暂存空间」用于存储算法运行中的变量、对象、函数上下文等数据; ‧「输出空间」用于存储算法的输出数据; � 通常情况下,空间复杂度统计范围是「暂存空间」+「输出空间」。 暂存空间可分为三个部分: ‧「暂存数据」用于保存算法运行中的各种 常量、变量、对象 等。 ‧「栈帧空间」用于保存调用函数的上下文数据。系0 码力 | 197 页 | 15.72 MB | 1 年前3
Hello 算法 1.0.0b5 C++版算法定义 「算法 algorithm」是在有限时间内解决特定问题的一组指令或操作步骤,它具有以下特性。 ‧ 问题是明确的,包含清晰的输入和输出定义。 ‧ 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 「数据结构 data structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 所示。 表 1‑1 将数据结构与算法类比为积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供多种编程语言的实现。 � 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 算法在运行过程中使用的内存空间主要包括以下几种。 ‧ 输入空间:用于存储算法的输入数据。 ‧ 暂存空间:用于存储算法在运行过程中的变量、对象、函数上下文等数据。 ‧ 输出空间:用于存储算法的输出数据。 一般情况下,空间复杂度的统计范围是“暂存空间”加上“输出空间”。 暂存空间可以进一步划分为三个部分。 ‧ 暂存数据:用于保存算法运行过程中的各种常量、变量、对象等。 ‧ 栈帧空间:用于保存调用函数的上下文0 码力 | 377 页 | 30.69 MB | 1 年前3
Hello 算法 1.1.0 C++ 版算法定义 算法(algorithm)是在有限时间内解决特定问题的一组指令或操作步骤,它具有以下特性。 ‧ 问题是明确的,包含清晰的输入和输出定义。 ‧ 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 数据结构(data structure)是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 表 1‑1 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 输入空间:用于存储算法的输入数据。 ‧ 暂存空间:用于存储算法在运行过程中的变量、对象、函数上下文等数据。 第 2 章 复杂度分析 hello‑algo.com 42 ‧ 输出空间:用于存储算法的输出数据。 一般情况下,空间复杂度的统计范围是“暂存空间”加上“输出空间”。 暂存空间可以进一步划分为三个部分。 ‧ 暂存数据:用于保存算法运行过程中的各种常量、变量、对象等。 ‧ 栈帧空间:用于保存调用函数的上下文0 码力 | 379 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0 C++版算法定义 「算法 algorithm」是在有限时间内解决特定问题的一组指令或操作步骤,它具有以下特性。 ‧ 问题是明确的,包含清晰的输入和输出定义。 ‧ 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 「数据结构 data structure」是计算机中组织和存储数据的方式,具有以下设计目标。 ‧ 表 1‑1 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 � 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 输入空间:用于存储算法的输入数据。 第 2 章 复杂度分析 hello‑algo.com 42 ‧ 暂存空间:用于存储算法在运行过程中的变量、对象、函数上下文等数据。 ‧ 输出空间:用于存储算法的输出数据。 一般情况下,空间复杂度的统计范围是“暂存空间”加上“输出空间”。 暂存空间可以进一步划分为三个部分。 ‧ 暂存数据:用于保存算法运行过程中的各种常量、变量、对象等。 ‧ 栈帧空间:用于保存调用函数的上下文0 码力 | 378 页 | 17.59 MB | 1 年前3
Hello 算法 1.0.0b4 C++版算法定义 「算法 Algorithm」是在有限时间内解决特定问题的一组指令或操作步骤。算法具有以下特性: ‧ 问题是明确的,包含清晰的输入和输出定义。 ‧ 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,相同的输入和运行条件下,输出始终相同。 1.2.2. 数据结构定义 「数据结构 Data Structure」是计算机中组织和存储数据的方式。为了提高数据存储和操作性能,数据结构 拼装积木 两者的详细对应关系如下表所示。 数据结构与算法 LEGO 乐高 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得注意的是,数据结构与算法独立于编程语言。正因如此,本书得以提供多种编程语言的实现。 � 约定俗成的简称 在实际讨论时,我们通常会将「数据结构与算法」简称为「算法」。例如,众所周知的 算法运行过程中使用的内存空间主要包括以下几种: ‧「输入空间」用于存储算法的输入数据。 ‧「暂存空间」用于存储算法运行过程中的变量、对象、函数上下文等数据。 ‧「输出空间」用于存储算法的输出数据。 通常情况下,空间复杂度统计范围是「暂存空间」+「输出空间」。 暂存空间可以进一步划分为三个部分: ‧「暂存数据」用于保存算法运行过程中的各种常量、变量、对象等。 ‧「栈帧空间」用于保存调用函数的上下文数0 码力 | 343 页 | 27.39 MB | 1 年前3
Hello 算法 1.2.0 简体中文 C++ 版算法定义 算法(algorithm)是在有限时间内解决特定问题的一组指令或操作步骤,它具有以下特性。 ‧ 问题是明确的,包含清晰的输入和输出定义。 ‧ 具有可行性,能够在有限步骤、时间和内存空间下完成。 ‧ 各步骤都有确定的含义,在相同的输入和运行条件下,输出始终相同。 1.2.2 数据结构定义 数据结构(data structure)是组织和存储数据的方式,涵盖数据内容、数据之间关系和数据操作方法,它具 表 1‑1 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 输入空间:用于存储算法的输入数据。 ‧ 暂存空间:用于存储算法在运行过程中的变量、对象、函数上下文等数据。 第 2 章 复杂度分析 www.hello‑algo.com 42 ‧ 输出空间:用于存储算法的输出数据。 一般情况下,空间复杂度的统计范围是“暂存空间”加上“输出空间”。 暂存空间可以进一步划分为三个部分。 ‧ 暂存数据:用于保存算法运行过程中的各种常量、变量、对象等。 ‧ 栈帧空间:用于保存调用函数的上下文0 码力 | 379 页 | 18.48 MB | 10 月前3
现代C++ 教程:高速上手C++11/14/17/20} void foo(int i) { std::cout << "foo(int) is called" << std::endl; } 将输出: foo(int) is called foo(char*) is called 从输出中我们可以看出,NULL 不同于 0 与 nullptr。所以,请养成直接使用 nullptr 的习惯。 此外,在上面的代码中,我们使用了 decltype std::vector::iterator itr2 = std::find(vec.begin(), vec.end(), 3); if (itr2 != vec.end()) { *itr2 = 4; } // 将输出 1, 4, 3, 4 15 2.2 变量及其初始化 第 2 章语言可用性的强化 for (std::vector ::iterator element = vec.begin(); element decltype(z)>::value) std::cout << "type z == type x" << std::endl; 其中,std::is_same 用于判断 T 和 U 这两个类型是否相等。输出结果为: type x == int type z == type x 20 2.3 类型推导 第 2 章语言可用性的强化 尾返回类型推导 你可能会思考,在介绍 auto 时,我们已经提过 0 码力 | 83 页 | 2.42 MB | 1 年前3
《深入浅出MFC》2/e结器做出来的程序,都是所谓Win32 程序。如果程序是以main 为进入点,调用C runtime 函数和「不牵扯GUI」的Win32 API 函数,那么就是一个console 程序,console 窗口将成为其标准输入和输出装置(cin 和cout)。 过去在DOS 环境下开发的程序,称为DOS 程序,它也是以main 为程序进入点,可 以调用C runtime 函数。但,当然,不可能调用Win32 API 函数。 拟内存的信息、 刺探操作系统的各种资料。但是它不能够有华丽的外表-- 因为它不能够调用与GUI 有 关的各种API 函数。 DOS 程序和console 程序两者都可以做printf 输出和cout 输出,也都可以做scanf 输 入和cin 输入。 可执行档格式 DOS 程序是所谓的MZ 格式(MZ 是Mark Zbikowski 的缩写,他是DOS 系统的一位 主要构造者)。Console JBACKUP:Win32 Console 程序设计 撰写console 程序,有几个重点请注意: 1. 进入点为main。 2. 可以使用printf、scanf、cin、cout 等标准输出入装置。 3. 可以调用和GUI 无关的Win32 API。 我的这个JBACKUP 程序可以有一个或两个参数,用法如下: C:\SomeoneDir>JBACKUP SrcDir [DstDir]0 码力 | 1009 页 | 11.08 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南作为“ IDE 眼中的项目”。 CMAKE_CURRENT_SOURCE_DIR 表示当前源码目录的位置,例如 ~/hellocmake 。 CMAKE_CURRENT_BINARY_DIR 表示当前输出目录的位置,例如 ~/hellocmake/build 。 project :初始化项目信息,并把当前 CMakeLists.txt 所在位置作为根 目录 和子模块的关系: PROJECT_x_DIR :当前项目源码路径(存放 main.cpp 的地方) • PROJECT_BINARY_DIR :当前项目输出路径(存放 main.exe 的地方) • CMAKE_SOURCE_DIR :根项目源码路径(存放 main.cpp 的地方) • CMAKE_BINARY_DIR :根项目输出路径(存放 main.exe 的地方) • PROJECT_IS_TOP_LEVEL : BOOL 类型,表示当前项目是否是(最顶层的)根项目 https://blog.csdn.net/fuyajun01/article/details/8891749 • CMAKE_BUILD_TOOL: 执行构建过程的工具。该变量设置为 CMake 构建时输出所需的程序。对于 VS 6 , CMAKE_BUILD_TOOL 设置为 msdev , 对于 Unix ,它被设置为 make 或 gmake 。 对于 VS 7 , 它被设置为 devenv0 码力 | 166 页 | 6.54 MB | 1 年前3
共 19 条
- 1
- 2













