 Hello 算法 1.1.0 Go版件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码 . . . . . . . . . . . . . . . . . 132 第 7 章 树 135 7.1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . 142 7.3 二叉树数组表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 7.4 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 7.5 AVL 树 * . .0 码力 | 383 页 | 18.48 MB | 1 年前3 Hello 算法 1.1.0 Go版件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码 . . . . . . . . . . . . . . . . . 132 第 7 章 树 135 7.1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . 142 7.3 二叉树数组表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 7.4 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 7.5 AVL 树 * . .0 码力 | 383 页 | 18.48 MB | 1 年前3
 Hello 算法 1.0.0 Golang版. . . . . . . . . . . . . . . . . 133 第 7 章 树 135 7.1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . 142 7.3 二叉树数组表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 7.4 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 7.5 AVL 树 * . . 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 第 10 章 搜索 209 10.1 二分查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2100 码力 | 382 页 | 17.60 MB | 1 年前3 Hello 算法 1.0.0 Golang版. . . . . . . . . . . . . . . . . 133 第 7 章 树 135 7.1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . 142 7.3 二叉树数组表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 7.4 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 7.5 AVL 树 * . . 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 第 10 章 搜索 209 10.1 二分查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2100 码力 | 382 页 | 17.60 MB | 1 年前3
 Hello 算法 1.0.0b4 Golang版. . . . . . . . . . . . . . . . . . 110 7. 树 112 7.1. 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 7.2. 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . 7.3. 二叉树数组表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 7.4. 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 7.5. AVL 树 * . . 4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 10. 搜索 184 10.1. 二分查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1840 码力 | 347 页 | 27.40 MB | 1 年前3 Hello 算法 1.0.0b4 Golang版. . . . . . . . . . . . . . . . . . 110 7. 树 112 7.1. 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 7.2. 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . 7.3. 二叉树数组表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 7.4. 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 7.5. AVL 树 * . . 4. 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182 10. 搜索 184 10.1. 二分查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1840 码力 | 347 页 | 27.40 MB | 1 年前3
 Hello 算法 1.0.0b5 Golang版. . . . . . . . . . . . . . . . . 126 第 7 章 树 128 7.1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . 135 7.3 二叉树数组表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 7.4 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 7.5 AVL 树 * . . 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 第 10 章 搜索 204 10.1 二分查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2050 码力 | 379 页 | 30.70 MB | 1 年前3 Hello 算法 1.0.0b5 Golang版. . . . . . . . . . . . . . . . . 126 第 7 章 树 128 7.1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . 135 7.3 二叉树数组表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 7.4 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144 7.5 AVL 树 * . . 小结 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202 第 10 章 搜索 204 10.1 二分查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2050 码力 | 379 页 | 30.70 MB | 1 年前3
 Hello 算法 1.2.0 简体中文 Go 版件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码 . . . . . . . . . . . . . . . . . 132 第 7 章 树 135 7.1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . 142 7.3 二叉树数组表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 7.4 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 7.5 AVL 树 * . .0 码力 | 384 页 | 18.49 MB | 10 月前3 Hello 算法 1.2.0 简体中文 Go 版件平凡或令人惊叹的事物背后,都隐藏着精 妙的算法思想。 同样,数据结构无处不在:大到社会网络,小到地铁线路,许多系统都可以建模为“图”;大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码 . . . . . . . . . . . . . . . . . 132 第 7 章 树 135 7.1 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136 7.2 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . 142 7.3 二叉树数组表示 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 7.4 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151 7.5 AVL 树 * . .0 码力 | 384 页 | 18.49 MB | 10 月前3
 Hello 算法 1.0.0b1 Golang版. . . . . . . . . . . . . . . . . . 88 7. 树 89 7.1. 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 7.2. 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 7.3. 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.4. AVL 树 * . . . . . . . . . . . . . . . . . . . . . . . . . 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划、分治算法,内容包括定义、使用场景、优劣势、时 空效率、实现方法、示例题目等。 0. 写在前面 hello‑algo.com0 码力 | 190 页 | 14.71 MB | 1 年前3 Hello 算法 1.0.0b1 Golang版. . . . . . . . . . . . . . . . . . 88 7. 树 89 7.1. 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 7.2. 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 7.3. 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.4. AVL 树 * . . . . . . . . . . . . . . . . . . . . . . . . . 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划、分治算法,内容包括定义、使用场景、优劣势、时 空效率、实现方法、示例题目等。 0. 写在前面 hello‑algo.com0 码力 | 190 页 | 14.71 MB | 1 年前3
 Hello 算法 1.0.0b2 Golang版. . . . . . . . . . . . . . . . . . 91 7. 树 92 7.1. 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 7.2. 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.3. 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 7.4. AVL 树 * . . . . . . . . . . . . . . . . . . . . . . . . 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划、分治算法,内容包括定义、使用场景、优劣势、时 空效率、实现方法、示例题目等。 0. 写在前面 hello‑algo.com0 码力 | 202 页 | 15.73 MB | 1 年前3 Hello 算法 1.0.0b2 Golang版. . . . . . . . . . . . . . . . . . 91 7. 树 92 7.1. 二叉树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 7.2. 二叉树遍历 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 7.3. 二叉搜索树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 7.4. AVL 树 * . . . . . . . . . . . . . . . . . . . . . . . . 方法、常见类型、示例等。 ‧ 数据结构:常用的基本数据类型,数据在内存中的存储方式、数据结构分类方法。数组、链表、栈、队列、 散列表、树、堆、图等数据结构,内容包括定义、优劣势、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:查找算法、排序算法、搜索与回溯、动态规划、分治算法,内容包括定义、使用场景、优劣势、时 空效率、实现方法、示例题目等。 0. 写在前面 hello‑algo.com0 码力 | 202 页 | 15.73 MB | 1 年前3
 Hello 算法 1.2.0 繁体中文 Go 版圖的走訪 樹代表的是“一對多”的關係,而圖則具有更高的自由度,可以表示任意的“多對多”關係。因此,我們可以 把樹看作圖的一種特例。顯然,樹的走訪操作也是圖的走訪操作的一種特例。 圖和樹都需要應用搜索演算法來實現走訪操作。圖的走訪方式也可分為兩種:廣度優先走訪和深度優先走訪。 9.3.1 廣度優先走訪 廣度優先走訪是一種由近及遠的走訪方式,從某個節點出發,始終優先訪問距離最近的頂點,並一層層向外 在演算法題中,我們常透過將線性查詢替換為雜湊查詢來降低演算法的時間複雜度。我們藉助一個演算法題 來加深理解。 Question 給定一個整數陣列 nums 和一個目標元素 target ,請在陣列中搜索“和”為 target 的兩個元素,並返 回它們的陣列索引。返回任意一個解即可。 10.4.1 線性查詢:以時間換空間 考慮直接走訪所有可能的組合。如圖 10‑9 所示,我們開啟一個兩層迴圈,在每輪中判斷兩個整數的和是否為 因此它是本題的最優解法。 第 10 章 搜尋 www.hello‑algo.com 223 10.5 重識搜尋演算法 搜尋演算法(searching algorithm)用於在資料結構(例如陣列、鏈結串列、樹或圖)中搜索一個或一組滿足 特定條件的元素。 搜尋演算法可根據實現思路分為以下兩類。 ‧ 透過走訪資料結構來定位目標元素,例如陣列、鏈結串列、樹和圖的走訪等。 ‧ 利用資料組織結構或資料包含的先驗資訊,0 码力 | 385 页 | 18.80 MB | 10 月前3 Hello 算法 1.2.0 繁体中文 Go 版圖的走訪 樹代表的是“一對多”的關係,而圖則具有更高的自由度,可以表示任意的“多對多”關係。因此,我們可以 把樹看作圖的一種特例。顯然,樹的走訪操作也是圖的走訪操作的一種特例。 圖和樹都需要應用搜索演算法來實現走訪操作。圖的走訪方式也可分為兩種:廣度優先走訪和深度優先走訪。 9.3.1 廣度優先走訪 廣度優先走訪是一種由近及遠的走訪方式,從某個節點出發,始終優先訪問距離最近的頂點,並一層層向外 在演算法題中,我們常透過將線性查詢替換為雜湊查詢來降低演算法的時間複雜度。我們藉助一個演算法題 來加深理解。 Question 給定一個整數陣列 nums 和一個目標元素 target ,請在陣列中搜索“和”為 target 的兩個元素,並返 回它們的陣列索引。返回任意一個解即可。 10.4.1 線性查詢:以時間換空間 考慮直接走訪所有可能的組合。如圖 10‑9 所示,我們開啟一個兩層迴圈,在每輪中判斷兩個整數的和是否為 因此它是本題的最優解法。 第 10 章 搜尋 www.hello‑algo.com 223 10.5 重識搜尋演算法 搜尋演算法(searching algorithm)用於在資料結構(例如陣列、鏈結串列、樹或圖)中搜索一個或一組滿足 特定條件的元素。 搜尋演算法可根據實現思路分為以下兩類。 ‧ 透過走訪資料結構來定位目標元素,例如陣列、鏈結串列、樹和圖的走訪等。 ‧ 利用資料組織結構或資料包含的先驗資訊,0 码力 | 385 页 | 18.80 MB | 10 月前3
 Go 入门指南(The way to Go)gid=2524765&trk=myg_ugrp_ovr。 Go 编程语言的维基百科:en.wikipedia.org/wiki/Go_(programming_language) Go 语言相关资源的搜索引擎页面:gowalker.org Go 语言还有一个运行在 Google App Engine 上的 Go Tour,你也可以通过执行命令 go install go-tour.googlecode 可用的编译器标记如下: flags: -I 针对包的目录搜索 -d 打印声明信息 -e 不限制错误打印的个数 -f 打印栈结构 -h 发生错误时进入恐慌(panic)状态 -o 指定输出文件名 // 详见第3.4节 -S 打印产生的汇编代码 -V 打印编译器版本 // 详见第2.3节 -u 禁止使用 unsafe 包中的代码 -w 打印归类后的语法解析树 -x 打印 lex tokens 从 Go 1 下运行在虚拟机里的 Linux 系统上安装 Go : 如果你想要在 Windows 下的虚拟机里的 Linux 系统上安装 Go,你可以选择使用虚拟机软件 VMware, 下载 VMware player,搜索并下载一个你喜欢的 Linux 发行版镜像,然后安装到虚拟机里,安装 Go 的流 程参考第 2.3 节中的内容。 2.6 安装目录清单 你的 Go 安装目录( $GOROOT )的文件夹结构应该如下所示:0 码力 | 380 页 | 2.97 MB | 1 年前3 Go 入门指南(The way to Go)gid=2524765&trk=myg_ugrp_ovr。 Go 编程语言的维基百科:en.wikipedia.org/wiki/Go_(programming_language) Go 语言相关资源的搜索引擎页面:gowalker.org Go 语言还有一个运行在 Google App Engine 上的 Go Tour,你也可以通过执行命令 go install go-tour.googlecode 可用的编译器标记如下: flags: -I 针对包的目录搜索 -d 打印声明信息 -e 不限制错误打印的个数 -f 打印栈结构 -h 发生错误时进入恐慌(panic)状态 -o 指定输出文件名 // 详见第3.4节 -S 打印产生的汇编代码 -V 打印编译器版本 // 详见第2.3节 -u 禁止使用 unsafe 包中的代码 -w 打印归类后的语法解析树 -x 打印 lex tokens 从 Go 1 下运行在虚拟机里的 Linux 系统上安装 Go : 如果你想要在 Windows 下的虚拟机里的 Linux 系统上安装 Go,你可以选择使用虚拟机软件 VMware, 下载 VMware player,搜索并下载一个你喜欢的 Linux 发行版镜像,然后安装到虚拟机里,安装 Go 的流 程参考第 2.3 节中的内容。 2.6 安装目录清单 你的 Go 安装目录( $GOROOT )的文件夹结构应该如下所示:0 码力 | 380 页 | 2.97 MB | 1 年前3
 Go 入门指南(The way to Go)gid=2524765&trk=myg_ugrp_ovr。 Go 编程语言的维基百科:en.wikipedia.org/wiki/Go_(programming_language)) Go 语言相关资源的搜索引擎页面:gowalker.org Go 语言还有一个运行在 Google App Engine 上的 Go Tour,你也可以通过执行命令 go install go- 时间轴: 1.1 5a) 标记(Flags) 是指可以通过命令行设置可选参数来影响编译器或链接器的构建过程或得到一个特殊的目标结 果。 可用的编译器标记如下: 1. flags: 2. -I 针对包的目录搜索 3. -d 打印声明信息 4. -e 不限制错误打印的个数 5. -f 打印栈结构 6. -h 发生错误时进入恐慌(panic)状态 7. -o 指定输出文件名 // 详见第3 详见第3.4节 8. -S 打印产生的汇编代码 9. -V 打印编译器版本 // 详见第2.3节 10. -u 禁止使用 unsafe 包中的代码 11. -w 打印归类后的语法解析树 12. -x 打印 lex tokens 从 Go 1.0.3 版本开始,不再使用 8g,8l 之类的指令进行程序的构建,取而代之的是统一的 go build 和 go install0 码力 | 466 页 | 4.44 MB | 1 年前3 Go 入门指南(The way to Go)gid=2524765&trk=myg_ugrp_ovr。 Go 编程语言的维基百科:en.wikipedia.org/wiki/Go_(programming_language)) Go 语言相关资源的搜索引擎页面:gowalker.org Go 语言还有一个运行在 Google App Engine 上的 Go Tour,你也可以通过执行命令 go install go- 时间轴: 1.1 5a) 标记(Flags) 是指可以通过命令行设置可选参数来影响编译器或链接器的构建过程或得到一个特殊的目标结 果。 可用的编译器标记如下: 1. flags: 2. -I 针对包的目录搜索 3. -d 打印声明信息 4. -e 不限制错误打印的个数 5. -f 打印栈结构 6. -h 发生错误时进入恐慌(panic)状态 7. -o 指定输出文件名 // 详见第3 详见第3.4节 8. -S 打印产生的汇编代码 9. -V 打印编译器版本 // 详见第2.3节 10. -u 禁止使用 unsafe 包中的代码 11. -w 打印归类后的语法解析树 12. -x 打印 lex tokens 从 Go 1.0.3 版本开始,不再使用 8g,8l 之类的指令进行程序的构建,取而代之的是统一的 go build 和 go install0 码力 | 466 页 | 4.44 MB | 1 年前3
共 26 条
- 1
- 2
- 3














