 MySQL ZIP Archive版本安装说明MySQL ZIP Archive版本安装说明 1 系统环境 硬件 Surface Pro 4; 操作系统 Windows 10专业版 16299.19 64bit; MySQL MySQL Community Server 5.7.20,Windows (x86,64bit) ZIP Archive; MySQL安装路径 C:\MySQL,请视自己计算机情况选择安装目录。 20 码力 | 4 页 | 756.23 KB | 1 年前3 MySQL ZIP Archive版本安装说明MySQL ZIP Archive版本安装说明 1 系统环境 硬件 Surface Pro 4; 操作系统 Windows 10专业版 16299.19 64bit; MySQL MySQL Community Server 5.7.20,Windows (x86,64bit) ZIP Archive; MySQL安装路径 C:\MySQL,请视自己计算机情况选择安装目录。 20 码力 | 4 页 | 756.23 KB | 1 年前3
 Nacos架构&原理
Nacos 配置模型 基础模型 上图是 Nacos 配置管理的基础模型: 25 > Nacos 架构 1. Nacos 提供可视化的控制台,可以对配置进行发布、更新、删除、灰度、版本管理等功能。 2. SDK 可以提供发布配置、更新配置、监听配置等功能。 3. SDK 通过 GRPC 长连接监听配置变更,Server 端对比 Client 端配置的 MD5 和本地 MD5 是否相等,不相等推送配置变更。 _ips 字段用于客户端请求配置时判断是否是灰度的 ip。  config_tags_relation 配置的标签表,在发布配置的时候如果指定了标签,那么会把标签和配置 的关联信息存储在该表中。  his_config_info 配置的历史信息表,在配置的发布、更新、删除等操作都会记录⼀条数据,可 以做多版本管理和快速回滚。 Nacos 架构 < 28 Nacos 内核设计 Nacos 配置数据,是直接在 Nacos 服务端进行创建并进行管理的,必须保证大部分的节点都保存了此配 置数据才能认为配置被成功保存了,否则就会丢失配置的变更,如果出现这种情况,问题是很严重 的,如果是发布重要配置变更出现了丢失变更动作的情况,那多半就要引起严重的现网故障了,因 此对于配置数据的管理,是必须要求集群中大部分的节点是强⼀致的,而这里的话只能使用强⼀致 性共识算法。 为什么是 Raft0 码力 | 326 页 | 12.83 MB | 9 月前3 Nacos架构&原理
Nacos 配置模型 基础模型 上图是 Nacos 配置管理的基础模型: 25 > Nacos 架构 1. Nacos 提供可视化的控制台,可以对配置进行发布、更新、删除、灰度、版本管理等功能。 2. SDK 可以提供发布配置、更新配置、监听配置等功能。 3. SDK 通过 GRPC 长连接监听配置变更,Server 端对比 Client 端配置的 MD5 和本地 MD5 是否相等,不相等推送配置变更。 _ips 字段用于客户端请求配置时判断是否是灰度的 ip。  config_tags_relation 配置的标签表,在发布配置的时候如果指定了标签,那么会把标签和配置 的关联信息存储在该表中。  his_config_info 配置的历史信息表,在配置的发布、更新、删除等操作都会记录⼀条数据,可 以做多版本管理和快速回滚。 Nacos 架构 < 28 Nacos 内核设计 Nacos 配置数据,是直接在 Nacos 服务端进行创建并进行管理的,必须保证大部分的节点都保存了此配 置数据才能认为配置被成功保存了,否则就会丢失配置的变更,如果出现这种情况,问题是很严重 的,如果是发布重要配置变更出现了丢失变更动作的情况,那多半就要引起严重的现网故障了,因 此对于配置数据的管理,是必须要求集群中大部分的节点是强⼀致的,而这里的话只能使用强⼀致 性共识算法。 为什么是 Raft0 码力 | 326 页 | 12.83 MB | 9 月前3
 《Java 应用与开发》课程讲义 - 王晓东. . . . . . . 106 9.7.1 制作并使用自己的 jar 文件 . . . . . . . . . . . . . . . . . . . . . . . 107 9.7.2 发布 Java 应用程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 9.7.3 清单文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 10.1.3 对 Java 集合中只能保存引用类型的数据的说明 . . . . . . . . . . . 113 10.1.4 集合相关 API 的关系 . . . . . . . . . . . . . . . . . . . . . . . . . . 但家电厂商此时对这种跨平台编程技术并不感兴趣 需求不足 互联网的蓬勃发展,由于异构性的大量存在, 跨平台编程技术受到追捧 Sun在SunWorld'95宣布Java技术诞生,发布HotJava浏览器。 一次编写、随处运行 Sun发布Java的第1版。并开始提供和维护完备的Java开发工具集和代码库。 Java JDK JRE Java1 Java1.1 Java1.2 Java2 J2SE J2ME0 码力 | 330 页 | 6.54 MB | 1 年前3 《Java 应用与开发》课程讲义 - 王晓东. . . . . . . 106 9.7.1 制作并使用自己的 jar 文件 . . . . . . . . . . . . . . . . . . . . . . . 107 9.7.2 发布 Java 应用程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 9.7.3 清单文件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 10.1.3 对 Java 集合中只能保存引用类型的数据的说明 . . . . . . . . . . . 113 10.1.4 集合相关 API 的关系 . . . . . . . . . . . . . . . . . . . . . . . . . . 但家电厂商此时对这种跨平台编程技术并不感兴趣 需求不足 互联网的蓬勃发展,由于异构性的大量存在, 跨平台编程技术受到追捧 Sun在SunWorld'95宣布Java技术诞生,发布HotJava浏览器。 一次编写、随处运行 Sun发布Java的第1版。并开始提供和维护完备的Java开发工具集和代码库。 Java JDK JRE Java1 Java1.1 Java1.2 Java2 J2SE J2ME0 码力 | 330 页 | 6.54 MB | 1 年前3
 JAVA 应用与开发 - 控制台应用程序设计��行参数 ���� Java ��������可�一������������ ������参数���参数��为��行参数��法����� 1 java <������> [<��行参数>]* O 说明 命令行参数将被系统接收并静态初始化为一个一维的 String 数 组对象,然后将之作为实参传给应用程序入口方法 main()。 命令行参数须使用空格符分隔,如果参数中包含空格符则必须 使用双引号括起来。 ��行参数 ���� Java ��������可�一������������ ������参数���参数��为��行参数��法����� 1 java <������> [<��行参数>]* O 说明 命令行参数将被系统接收并静态初始化为一个一维的 String 数 组对象,然后将之作为实参传给应用程序入口方法 main()。 命令行参数须使用空格符分隔,如果参数中包含空格符则必须 使用双引号括起来。 18 } catch (IOException e2) { 19 e2.printStackTrace(); 20 } 21 } 22 } 22 41 ������ 上述代码几点说明 1. FileReader 的��方法�重���接��������出的文 件���������� 1 FileReader fr = new FileReader("test.txt"); 20 码力 | 63 页 | 2.84 MB | 1 年前3 JAVA 应用与开发 - 控制台应用程序设计��行参数 ���� Java ��������可�一������������ ������参数���参数��为��行参数��法����� 1 java <������> [<��行参数>]* O 说明 命令行参数将被系统接收并静态初始化为一个一维的 String 数 组对象,然后将之作为实参传给应用程序入口方法 main()。 命令行参数须使用空格符分隔,如果参数中包含空格符则必须 使用双引号括起来。 ��行参数 ���� Java ��������可�一������������ ������参数���参数��为��行参数��法����� 1 java <������> [<��行参数>]* O 说明 命令行参数将被系统接收并静态初始化为一个一维的 String 数 组对象,然后将之作为实参传给应用程序入口方法 main()。 命令行参数须使用空格符分隔,如果参数中包含空格符则必须 使用双引号括起来。 18 } catch (IOException e2) { 19 e2.printStackTrace(); 20 } 21 } 22 } 22 41 ������ 上述代码几点说明 1. FileReader 的��方法�重���接��������出的文 件���������� 1 FileReader fr = new FileReader("test.txt"); 20 码力 | 63 页 | 2.84 MB | 1 年前3
 Apache Shiro 1.2.x Reference Manual 中文翻译Subversion 存储库: https://svn.apache.org/repos/asf/shiro/trunk/samples/quickstart/ 在Apache Shiro 的源码发布 samples/quickstart 目录中。 源码可以下载。 (译者注:译者也提供了自己的代码,包含了中文注解,本章所含示例如下) 示例1 示例2 示例3 Setup 设置 在这个简单的示例中 "someKey", "aValue" ); Session 是 shiro 指定的一个实例,提供基本上所有 HttpSession 的功能,但具备额外的好处 和不同:它不需要一个 HTTP 环境! 如果发布到一个 web 程序中,默认情况下 Session 将会使用HttpSession 作为基础,但是, 在一个非 web 程序中,比如该简单示例程序中,Shiro 将自动默认使用它的 Enterprise 就是这样,不能再简单了。 但如果登录失败了呢,你可以捕获所有异常然后按你期望的方式去处理: try { currentUser.login( token ); //无异常,说明就是我们想要的! } catch ( UnknownAccountException uae ) { //username 不存在,给个错误提示? } catch ( Incorrec0 码力 | 196 页 | 2.34 MB | 1 年前3 Apache Shiro 1.2.x Reference Manual 中文翻译Subversion 存储库: https://svn.apache.org/repos/asf/shiro/trunk/samples/quickstart/ 在Apache Shiro 的源码发布 samples/quickstart 目录中。 源码可以下载。 (译者注:译者也提供了自己的代码,包含了中文注解,本章所含示例如下) 示例1 示例2 示例3 Setup 设置 在这个简单的示例中 "someKey", "aValue" ); Session 是 shiro 指定的一个实例,提供基本上所有 HttpSession 的功能,但具备额外的好处 和不同:它不需要一个 HTTP 环境! 如果发布到一个 web 程序中,默认情况下 Session 将会使用HttpSession 作为基础,但是, 在一个非 web 程序中,比如该简单示例程序中,Shiro 将自动默认使用它的 Enterprise 就是这样,不能再简单了。 但如果登录失败了呢,你可以捕获所有异常然后按你期望的方式去处理: try { currentUser.login( token ); //无异常,说明就是我们想要的! } catch ( UnknownAccountException uae ) { //username 不存在,给个错误提示? } catch ( Incorrec0 码力 | 196 页 | 2.34 MB | 1 年前3
 Apache Shiro参考手册中文版HashedCredentialsMatcher 的 JavaDoc 来更 好的理解哈希策略,如果它们对你可能有用的话。 例如,如果你的用户密码字符串是 Base64 编码而不是默认的 16 进制,你可以指定说明: [roles] [roles] section 允许你把定义在[users] section 中的角色与权限关联起来。另外,这在大部分拥有少数用户帐户或用户 帐户不需要在运行 Shiro 的 Authentication Token 概念是不挂钩的。 你可以创建和实例化你喜欢的 Authentication Token 实例——它是与协议无关的。 这个例子也说明了我们希望 Shiro 为身份验证的尝试执行“记住我”的服务。这将确保在以后的日子,如果用 户返回到应用程序时,Shiro 能够记得用户的身份。我们将在后面的章节讨论 Remember Me 服务。 例如,一个检查来判断一个 Subject 可以访问财务信息应该几乎总是取决于 isAuthenticated(),而不是 isRemembered(),以保证一个预期和核实的身份。 一个说明的例子 下面是一个相当普遍的情况,有助于说明 Remembered 和 Authenticated 之间区别的重要性。 比方说,你正在访问 Amazon.com。你已经登录成功并添加了几本书到你的购物车。但你心烦意乱地跑出去开0 码力 | 92 页 | 1.16 MB | 1 年前3 Apache Shiro参考手册中文版HashedCredentialsMatcher 的 JavaDoc 来更 好的理解哈希策略,如果它们对你可能有用的话。 例如,如果你的用户密码字符串是 Base64 编码而不是默认的 16 进制,你可以指定说明: [roles] [roles] section 允许你把定义在[users] section 中的角色与权限关联起来。另外,这在大部分拥有少数用户帐户或用户 帐户不需要在运行 Shiro 的 Authentication Token 概念是不挂钩的。 你可以创建和实例化你喜欢的 Authentication Token 实例——它是与协议无关的。 这个例子也说明了我们希望 Shiro 为身份验证的尝试执行“记住我”的服务。这将确保在以后的日子,如果用 户返回到应用程序时,Shiro 能够记得用户的身份。我们将在后面的章节讨论 Remember Me 服务。 例如,一个检查来判断一个 Subject 可以访问财务信息应该几乎总是取决于 isAuthenticated(),而不是 isRemembered(),以保证一个预期和核实的身份。 一个说明的例子 下面是一个相当普遍的情况,有助于说明 Remembered 和 Authenticated 之间区别的重要性。 比方说,你正在访问 Amazon.com。你已经登录成功并添加了几本书到你的购物车。但你心烦意乱地跑出去开0 码力 | 92 页 | 1.16 MB | 1 年前3
 Hello 算法 1.0.0b4 Java版据结构进行实现,但最终执行效率 可能相差很大。 Figure 1‑4. 数据结构与算法的关系 我们可以把数据结构与算法类比为拼装积木。一套积木,除了包含许多零件之外,还附有详细的组装说明书。 我们按照说明书一步步操作,就能组装出精美的积木模型。 1. 初识算法 hello‑algo.com 11 Figure 1‑5. 拼装积木 两者的详细对应关系如下表所示。 数据结构与算法 LEGO i++) { // +1(每轮都执行 i ++) System.out.println(0); // +1 2. 复杂度 hello‑algo.com 17 } } ?(?) 是一次函数,说明时间增长趋势是线性的,因此可以得出时间复杂度是线性阶。 我们将线性阶的时间复杂度记为 ?(?) ,这个数学符号称为「大 ? 记号 Big‑? Notation」,表示函数 ?(?) 的「渐近上界 不同语言的需求。 3.4.2. GBK 字符集 后来人们发现,EASCII 码仍然无法满足许多语言的字符数量要求。例如,汉字大约有近十万个,光日常使 用的就有几千个。中国国家标准总局于 1980 年发布了「GB2312」字符集,其收录了 6763 个汉字,基本满 足了汉字的计算机处理需要。 然而,GB2312 无法处理部分的罕见字和繁体字。之后在 GB2312 的基础上,扩展得到了「GBK」字符集,它0 码力 | 342 页 | 27.39 MB | 1 年前3 Hello 算法 1.0.0b4 Java版据结构进行实现,但最终执行效率 可能相差很大。 Figure 1‑4. 数据结构与算法的关系 我们可以把数据结构与算法类比为拼装积木。一套积木,除了包含许多零件之外,还附有详细的组装说明书。 我们按照说明书一步步操作,就能组装出精美的积木模型。 1. 初识算法 hello‑algo.com 11 Figure 1‑5. 拼装积木 两者的详细对应关系如下表所示。 数据结构与算法 LEGO i++) { // +1(每轮都执行 i ++) System.out.println(0); // +1 2. 复杂度 hello‑algo.com 17 } } ?(?) 是一次函数,说明时间增长趋势是线性的,因此可以得出时间复杂度是线性阶。 我们将线性阶的时间复杂度记为 ?(?) ,这个数学符号称为「大 ? 记号 Big‑? Notation」,表示函数 ?(?) 的「渐近上界 不同语言的需求。 3.4.2. GBK 字符集 后来人们发现,EASCII 码仍然无法满足许多语言的字符数量要求。例如,汉字大约有近十万个,光日常使 用的就有几千个。中国国家标准总局于 1980 年发布了「GB2312」字符集,其收录了 6763 个汉字,基本满 足了汉字的计算机处理需要。 然而,GB2312 无法处理部分的罕见字和繁体字。之后在 GB2312 的基础上,扩展得到了「GBK」字符集,它0 码力 | 342 页 | 27.39 MB | 1 年前3
 Hello 算法 1.0.0b5 Java版有对应最优的数据结构,但最终执行效率可能相 差很大。 图 1‑4 数据结构与算法的关系 数据结构与算法犹如图 1‑5 所示的拼装积木。一套积木,除了包含许多零件之外,还附有详细的组装说明书。 我们按照说明书一步步操作,就能组装出精美的积木模型。 第 1 章 初识算法 hello‑algo.com 14 图 1‑5 拼装积木 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为积木 将数据结构与算法类比为积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供多种编程语言的实现。 � 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 LeetCode println(0); // +1 } } 设算法的操作数量是一个关于输入数据大小 ? 的函数,记为 ?(?) ,则以上函数的的操作数量为: ?(?) = 3 + 2? ?(?) 是一次函数,说明其运行时间的增长趋势是线性的,因此它的时间复杂度是线性阶。 我们将线性阶的时间复杂度记为 ?(?) ,这个数学符号称为「大 ? 记号 big‑? notation」,表示函数 ?(?) 的「渐近上界0 码力 | 376 页 | 30.69 MB | 1 年前3 Hello 算法 1.0.0b5 Java版有对应最优的数据结构,但最终执行效率可能相 差很大。 图 1‑4 数据结构与算法的关系 数据结构与算法犹如图 1‑5 所示的拼装积木。一套积木,除了包含许多零件之外,还附有详细的组装说明书。 我们按照说明书一步步操作,就能组装出精美的积木模型。 第 1 章 初识算法 hello‑algo.com 14 图 1‑5 拼装积木 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为积木 将数据结构与算法类比为积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供多种编程语言的实现。 � 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 LeetCode println(0); // +1 } } 设算法的操作数量是一个关于输入数据大小 ? 的函数,记为 ?(?) ,则以上函数的的操作数量为: ?(?) = 3 + 2? ?(?) 是一次函数,说明其运行时间的增长趋势是线性的,因此它的时间复杂度是线性阶。 我们将线性阶的时间复杂度记为 ?(?) ,这个数学符号称为「大 ? 记号 big‑? notation」,表示函数 ?(?) 的「渐近上界0 码力 | 376 页 | 30.69 MB | 1 年前3
 Hello 算法 1.1.0 Java版算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系 数据结构与算法犹如图 1‑5 所示的拼装积木。一套积木,除了包含许多零件之外,还附有详细的组装说明书。 我们按照说明书一步步操作,就能组装出精美的积木模型。 第 1 章 初识算法 hello‑algo.com 15 图 1‑5 拼装积木 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为拼装积木 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 LeetCode println(0); // +1 } } 设算法的操作数量是一个关于输入数据大小 ? 的函数,记为 ?(?) ,则以上函数的操作数量为: ?(?) = 3 + 2? ?(?) 是一次函数,说明其运行时间的增长趋势是线性的,因此它的时间复杂度是线性阶。 我们将线性阶的时间复杂度记为 ?(?) ,这个数学符号称为大 ? 记号(big‑? notation),表示函数 ?(?) 的 渐近上界(asymptotic0 码力 | 378 页 | 18.47 MB | 1 年前3 Hello 算法 1.1.0 Java版算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系 数据结构与算法犹如图 1‑5 所示的拼装积木。一套积木,除了包含许多零件之外,还附有详细的组装说明书。 我们按照说明书一步步操作,就能组装出精美的积木模型。 第 1 章 初识算法 hello‑algo.com 15 图 1‑5 拼装积木 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为拼装积木 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 LeetCode println(0); // +1 } } 设算法的操作数量是一个关于输入数据大小 ? 的函数,记为 ?(?) ,则以上函数的操作数量为: ?(?) = 3 + 2? ?(?) 是一次函数,说明其运行时间的增长趋势是线性的,因此它的时间复杂度是线性阶。 我们将线性阶的时间复杂度记为 ?(?) ,这个数学符号称为大 ? 记号(big‑? notation),表示函数 ?(?) 的 渐近上界(asymptotic0 码力 | 378 页 | 18.47 MB | 1 年前3
 Hello 算法 1.0.0 Java版算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系 数据结构与算法犹如图 1‑5 所示的拼装积木。一套积木,除了包含许多零件之外,还附有详细的组装说明书。 我们按照说明书一步步操作,就能组装出精美的积木模型。 第 1 章 初识算法 hello‑algo.com 15 图 1‑5 拼装积木 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为拼装积木 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 � 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 LeetCode println(0); // +1 } } 设算法的操作数量是一个关于输入数据大小 ? 的函数,记为 ?(?) ,则以上函数的操作数量为: ?(?) = 3 + 2? ?(?) 是一次函数,说明其运行时间的增长趋势是线性的,因此它的时间复杂度是线性阶。 我们将线性阶的时间复杂度记为 ?(?) ,这个数学符号称为「大 ? 记号 big‑? notation」,表示函数 ?(?) 的「渐近上界0 码力 | 376 页 | 17.59 MB | 1 年前3 Hello 算法 1.0.0 Java版算法通常可以基于不同的数据结构实现,但执行效率可能相差很大,选择合适的数据结构是关键。 图 1‑4 数据结构与算法的关系 数据结构与算法犹如图 1‑5 所示的拼装积木。一套积木,除了包含许多零件之外,还附有详细的组装说明书。 我们按照说明书一步步操作,就能组装出精美的积木模型。 第 1 章 初识算法 hello‑algo.com 15 图 1‑5 拼装积木 两者的详细对应关系如表 1‑1 所示。 表 1‑1 将数据结构与算法类比为拼装积木 将数据结构与算法类比为拼装积木 数据结构与算法 拼装积木 输入数据 未拼装的积木 数据结构 积木组织形式,包括形状、大小、连接方式等 算法 把积木拼成目标形态的一系列操作步骤 输出数据 积木模型 值得说明的是,数据结构与算法是独立于编程语言的。正因如此,本书得以提供基于多种编程语言的实现。 � 约定俗成的简称 在实际讨论时,我们通常会将“数据结构与算法”简称为“算法”。比如众所周知的 LeetCode println(0); // +1 } } 设算法的操作数量是一个关于输入数据大小 ? 的函数,记为 ?(?) ,则以上函数的操作数量为: ?(?) = 3 + 2? ?(?) 是一次函数,说明其运行时间的增长趋势是线性的,因此它的时间复杂度是线性阶。 我们将线性阶的时间复杂度记为 ?(?) ,这个数学符号称为「大 ? 记号 big‑? notation」,表示函数 ?(?) 的「渐近上界0 码力 | 376 页 | 17.59 MB | 1 年前3
共 33 条
- 1
- 2
- 3
- 4













