Hello 算法 1.2.0 繁体中文 C++ 版
8.1 堆積 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 8.2 建堆積操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 8.3 Top‑k 問題 258 12.2 分治搜尋策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 12.3 構建二元樹問題 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263 12.4 河內塔問題 . . . ! 如果你已經積累一定的刷題量,熟悉大部分題型,那麼本書可助你回顧與梳理演算法知識體系,倉庫源程式 碼可以當作“刷題工具庫”或“演算法字典”來使用。 若你是演算法“大神”,我們期待收到你的寶貴建議,或者一起參與創作。 前置條件 你需要至少具備任一語言的程式設計基礎,能夠閱讀和編寫簡單程式碼。 0.1.2 內容結構 本書的主要內容如圖 0‑1 所示。 ‧ 複雜度分析:資料結構和演算法0 码力 | 379 页 | 18.79 MB | 10 月前3Hello 算法 1.0.0b1 C++版
堆 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 8.2. 建堆操作 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 8.3. 小结 . = maxHeap.size(); 8. 堆 hello‑algo.com 125 /* 判断堆是否为空 */ bool isEmpty = maxHeap.empty(); /* 输入列表并建堆 */ vectorinput{1, 3, 2, 5, 4}; priority_queue , greater > minHeap(input (log ?) ,建队操 作为 ?(?) ,皆非常高效。 ‧ 堆排序。给定一组数据,我们使用其建堆,并依次全部弹出,则可以得到有序的序列。当然,堆排序一 般无需弹出元素,仅需每轮将堆顶元素交换至数组尾部并减小堆的长度即可。 ‧ 获取最大的 ? 个元素。这既是一道经典算法题目,也是一种常见应用,例如选取热度前 10 的新闻作为 微博热搜,选取前 10 销量的商品等。 8.2. 建堆操作 * 0 码力 | 187 页 | 14.71 MB | 1 年前3Hello 算法 1.0.0b2 C++版
堆 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 8.2. 建堆操作 * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 8.3. 小结 . = maxHeap.size(); 8. 堆 hello‑algo.com 125 /* 判断堆是否为空 */ bool isEmpty = maxHeap.empty(); /* 输入列表并建堆 */ vectorinput{1, 3, 2, 5, 4}; priority_queue , greater > minHeap(input (log ?) ,建队操 作为 ?(?) ,皆非常高效。 ‧ 堆排序。给定一组数据,我们使用其建堆,并依次全部弹出,则可以得到有序的序列。当然,堆排序一 般无需弹出元素,仅需每轮将堆顶元素交换至数组尾部并减小堆的长度即可。 ‧ 获取最大的 ? 个元素。这既是一道经典算法题目,也是一种常见应用,例如选取热度前 10 的新闻作为 微博热搜,选取前 10 销量的商品等。 8.2. 建堆操作 * 0 码力 | 197 页 | 15.72 MB | 1 年前3Hello 算法 1.0.0b4 C++版
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 目 录 hello‑algo.com ii 8.2. 建堆操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157 8.3. Top‑K 问题 = maxHeap.size(); 8. 堆 hello‑algo.com 151 /* 判断堆是否为空 */ bool isEmpty = maxHeap.empty(); /* 输入列表并建堆 */ vectorinput{1, 3, 2, 5, 4}; priority_queue , greater > minHeap(input ,而建队操作为 ?(?) ,这些操作都非常高效。 ‧ 堆排序:给定一组数据,我们可以用它们建立一个堆,然后不断地执行元素出堆操作,从而得到有序数 据。然而,我们通常会使用一种更优雅的方式实现堆排序,详见后续的堆排序章节。 ‧ 获取最大的 ? 个元素:这是一个经典的算法问题,同时也是一种典型应用,例如选择热度前 10 的新闻 作为微博热搜,选取销量前 10 的商品等。 8.2. 建堆操作 0 码力 | 343 页 | 27.39 MB | 1 年前3Hello 算法 1.1.0 C++ 版
1 堆 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 8.2 建堆操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 8.3 Top‑k 问题 1 /* 获取堆大小 */ int size = maxHeap.size(); /* 判断堆是否为空 */ bool isEmpty = maxHeap.empty(); /* 输入列表并建堆 */ 第 8 章 堆 hello‑algo.com 176 vectorinput{1, 3, 2, 5, 4}; priority_queue ) ,而建队操作为 ?(?) ,这些操作都非常高效。 ‧ 堆排序:给定一组数据,我们可以用它们建立一个堆,然后不断地执行元素出堆操作,从而得到有序数 据。然而,我们通常会使用一种更优雅的方式实现堆排序,详见“堆排序”章节。 ‧ 获取最大的 ? 个元素:这是一个经典的算法问题,同时也是一种典型应用,例如选择热度前 10 的新闻 作为微博热搜,选取销量前 10 的商品等。 8.2 建堆操作 0 码力 | 379 页 | 18.47 MB | 1 年前3Hello 算法 1.0.0b5 C++版
1 堆 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 8.2 建堆操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 8.3 Top‑K 问题 maxHeap.size(); 第 8 章 堆 hello‑algo.com 173 /* 判断堆是否为空 */ bool isEmpty = maxHeap.empty(); /* 输入列表并建堆 */ vectorinput{1, 3, 2, 5, 4}; priority_queue , greater > minHeap(input ,而建队操作为 ?(?) ,这些操作都非常高效。 ‧ 堆排序:给定一组数据,我们可以用它们建立一个堆,然后不断地执行元素出堆操作,从而得到有序数 据。然而,我们通常会使用一种更优雅的方式实现堆排序,详见后续的堆排序章节。 ‧ 获取最大的 ? 个元素:这是一个经典的算法问题,同时也是一种典型应用,例如选择热度前 10 的新闻 作为微博热搜,选取销量前 10 的商品等。 8.2 建堆操作 0 码力 | 377 页 | 30.69 MB | 1 年前3Hello 算法 1.0.0 C++版
1 堆 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 8.2 建堆操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 8.3 Top‑k 问题 1 /* 获取堆大小 */ int size = maxHeap.size(); /* 判断堆是否为空 */ bool isEmpty = maxHeap.empty(); /* 输入列表并建堆 */ 第 8 章 堆 hello‑algo.com 176 vectorinput{1, 3, 2, 5, 4}; priority_queue ) ,而建队操作为 ?(?) ,这些操作都非常高效。 ‧ 堆排序:给定一组数据,我们可以用它们建立一个堆,然后不断地执行元素出堆操作,从而得到有序数 据。然而,我们通常会使用一种更优雅的方式实现堆排序,详见“堆排序”章节。 ‧ 获取最大的 ? 个元素:这是一个经典的算法问题,同时也是一种典型应用,例如选择热度前 10 的新闻 作为微博热搜,选取销量前 10 的商品等。 8.2 建堆操作 0 码力 | 378 页 | 17.59 MB | 1 年前3Hello 算法 1.2.0 简体中文 C++ 版
1 堆 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 8.2 建堆操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181 8.3 Top‑k 问题 1 /* 获取堆大小 */ int size = maxHeap.size(); /* 判断堆是否为空 */ bool isEmpty = maxHeap.empty(); /* 输入列表并建堆 */ 第 8 章 堆 www.hello‑algo.com 176 vectorinput{1, 3, 2, 5, 4}; priority_queue ) ,而建堆操作为 ?(?) ,这些操作都非常高效。 ‧ 堆排序:给定一组数据,我们可以用它们建立一个堆,然后不断地执行元素出堆操作,从而得到有序数 据。然而,我们通常会使用一种更优雅的方式实现堆排序,详见“堆排序”章节。 ‧ 获取最大的 ? 个元素:这是一个经典的算法问题,同时也是一种典型应用,例如选择热度前 10 的新闻 作为微博热搜,选取销量前 10 的商品等。 8.2 建堆操作 0 码力 | 379 页 | 18.48 MB | 10 月前3C++高性能并行编程与优化 - 课件 - Zeno 中的现代 C++ 最佳实践
• 这就是函数静态初始化 (func-static-init) 大法。 函数静态初始化可用于“懒汉单例模式” • 如右图。 • getMyClassInstance() 会在第一次调用时创 建 MyClass 对象,并返回指向他的引用。 • 根据 C++ 函数静态变量初始化的规则,之后 的调用不会再重复创建。 • 并且 C++11 也保证了不会多线程的危险, 不需要手动写 if 去判断是否已经初始化过,0 码力 | 54 页 | 3.94 MB | 1 年前3C++高性能并行编程与优化 - 课件 - 11 现代 CMake 进阶指南
Visual Studio 2019 生成器; MacOS 系统默认是 Xcode 生成器。 • 可以用 -G 参数改用别的生成器,例如 cmake -GNinja 会生成 Ninja 这个构建系统的构 建规则。 Ninja 是一个高性能,跨平台的构建系统, Linux 、 Windows 、 MacOS 上都可 以用。 • Ninja 可以从包管理器里安装,没有包管理器的 Windows 可以用 Python0 码力 | 166 页 | 6.54 MB | 1 年前3
共 12 条
- 1
- 2