Hello 算法 1.1.0 C++ 版建模为“图”;大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码示例,使读者理解算法和数据结构的核心概念,并能够通 过编程来实现它们。在此基础上,本书致力于揭示算法在复杂世界中的生动体现,展现算法之美。希望本书 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 第 6 章 哈希表 114 6.1 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6.2 哈希冲突 16.2 一起参与创作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365 16.3 术语表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 1 第 0 章 前言0 码力 | 379 页 | 18.47 MB | 1 年前3
Hello 算法 1.0.0 C++版. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 第 6 章 哈希表 114 6.1 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6.2 哈希冲突 16.2 一起参与创作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 16.3 术语表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 1 第 0 章 前言 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度和空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型和数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤 和示例问题等。0 码力 | 378 页 | 17.59 MB | 1 年前3
Hello 算法 1.0.0b5 C++版. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 第 6 章 哈希表 109 6.1 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 6.2 哈希冲突 0‑1 所示。 ‧ 复杂度分析:数据结构和算法的评价维度与方法。时间复杂度、空间复杂度的推算方法、常见类型、示 例等。 ‧ 数据结构:基本数据类型,数据结构的分类方法。数组、链表、栈、队列、哈希表、树、堆、图等数据 结构的定义、优缺点、常用操作、常见类型、典型应用、实现方法等。 ‧ 算法:搜索、排序、分治、回溯、动态规划、贪心等算法的定义、优缺点、效率、应用场景、解题步骤、 示例题目等。 顺序排列的。假设我们需要 查找一个拼音首字母为 ? 的字,通常会按照图 1‑1 所示的方式实现。 1. 翻开字典约一半的页数,查看该页的首字母是什么,假设首字母为 ? 。 2. 由于在拼音字母表中 ? 位于 ? 之后,所以排除字典前半部分,查找范围缩小到后半部分。 3. 不断重复步骤 1. 和 步骤 2. ,直至找到拼音首字母为 ? 的页码为止。 图 1‑1 查字典步骤 第 1 章 初识算法0 码力 | 377 页 | 30.69 MB | 1 年前3
Hello 算法 1.2.0 简体中文 C++ 版建模为“图”;大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码示例,使读者理解算法和数据结构的核心概念,并能够通 过编程来实现它们。在此基础上,本书致力于揭示算法在复杂世界中的生动体现,展现算法之美。希望本书 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 第 6 章 哈希表 114 6.1 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6.2 哈希冲突 16.2 一起参与创作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 16.3 术语表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 1 第 0 章 前言0 码力 | 379 页 | 18.48 MB | 10 月前3
Hello 算法 1.2.0 繁体中文 C++ 版建模為“圖”;大到一個國家,小 到一個家庭,社會的主要組織形式呈現出“樹”的特徵;冬天的衣服就像“堆疊”,最先穿上的最後才能脫下; 羽毛球筒則如同“佇列”,一端放入、一端取出;字典就像一個“雜湊表”,能夠快速查找目標詞條。 本書旨在透過清晰易懂的動畫圖解與可執行的程式碼範例,使讀者理解演算法和資料結構的核心概念,並能 夠透過程式設計來實現它們。在此基礎上,本書致力於揭示演算法在複雜世界中的生動體現,展現演算法之 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 第 6 章 雜湊表 114 6.1 雜湊表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 6.2 雜湊衝突 16.2 一起參與創作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366 16.3 術語表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367 1 第 0 章 前言0 码力 | 379 页 | 18.79 MB | 10 月前3
Hello 算法 1.0.0b4 C++版. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 6. 散列表 92 6.1. 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 6.2. 哈希冲突 . . 字典是按照拼音的英文字母顺序排列的。假设我 们需要查找一个拼音首字母为 ? 的字,通常会这样操作: 1. 翻开字典约一半的页数,查看该页首字母是什么,假设首字母为 ? 。 2. 由于在英文字母表中 ? 位于 ? 之后,所以排除字典前半部分,查找范围缩小到后半部分。 3. 不断重复步骤 1‑2 ,直至找到拼音首字母为 ? 的页码为止。 1. 初识算法 hello‑algo.com 8 Figure vectornodes; for (int i = 0; i < n; i++) { nodes.push_back(ListNode(i)); } // 长度为 n 的哈希表占用 O(n) 空间 unordered_map map; for (int i = 0; i < n; i++) { map[i] = to_string(i); } 0 码力 | 343 页 | 27.39 MB | 1 年前3
Hello 算法 1.0.0b1 C++版. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6. 散列表 82 6.1. 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.2. 哈希冲突 . 系列步骤就是 算法。 例二:查字典。在字典中,每个汉字都有一个对应的拼音,而字典是按照拼音的英文字母表顺序排列的。假设 需要在字典中查询任意一个拼音首字母为 ? 的字,一般我们会这样做: 1. 打开字典大致一半页数的位置,查看此页的首字母是什么(假设为 ? ); 2. 由于在英文字母表中 ? 在 ? 的后面,因此应排除字典前半部分,查找范围仅剩后半部分; 3. 循环执行步骤 1‑2 ,直到找到拼音首字母为 (int i = 0; i < n; i++) { nodes.push_back(ListNode(i)); } 2. 复杂度分析 hello‑algo.com 31 // 长度为 n 的哈希表占用 O(n) 空间 unordered_mapmap; for (int i = 0; i < n; i++) { map[i] = to_string(i); } 0 码力 | 187 页 | 14.71 MB | 1 年前3
Hello 算法 1.0.0b2 C++版. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 6. 散列表 82 6.1. 哈希表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 6.2. 哈希冲突 . 系列步骤就是 算法。 例二:查字典。在字典中,每个汉字都有一个对应的拼音,而字典是按照拼音的英文字母表顺序排列的。假设 需要在字典中查询任意一个拼音首字母为 ? 的字,一般我们会这样做: 1. 打开字典大致一半页数的位置,查看此页的首字母是什么(假设为 ? ); 2. 由于在英文字母表中 ? 在 ? 的后面,因此应排除字典前半部分,查找范围仅剩后半部分; 3. 循环执行步骤 1‑2 ,直到找到拼音首字母为 (int i = 0; i < n; i++) { nodes.push_back(ListNode(i)); } 2. 复杂度分析 hello‑algo.com 31 // 长度为 n 的哈希表占用 O(n) 空间 unordered_mapmap; for (int i = 0; i < n; i++) { map[i] = to_string(i); } 0 码力 | 197 页 | 15.72 MB | 1 年前3
C++高性能并行编程与优化 - 课件 - 10 从稀疏数据结构到量化数据类型用 unordered_map 来存储 map 基于红黑树,会按照键值排序,需要键值具有 operator< 重载,复杂度 O(logn) C++11 新增的 unordered_map 基于哈希表,不保证顺序但更高效,需要键值能被哈希,复杂度 O(1) 用 unordered_map 按 16x16 分块存储 分块能减少 unordered_map 中存储的表项数量,从而减轻哈 希的压力 无边界稀疏分块哈希表 有了无边界的稀疏网格,再也不用担心二维数组要分配多大了。 坐标可以无限延伸,甚至可以是负数!比如 (-1,2) 等…… 他会自动在写入时分配 16x16 的子网格,称之为叶节点 (leaf node) ,而这里的 unordered_map 就是充当根节点 (root node) 。 图片解释稀疏的好处 传统稠密二维数组 无边界稀疏分块哈希表 此外,还是按需分配 这些被写入的部分被称为激活元素 (active element) ,反之则是未激活 (inactive) 。 这就是稀疏的好处,按需分配,自动扩容。 分块则是利用了我们存储的数据常常有着空间局域性的特点,减轻哈希表的压 力,同时在每个块内部也可以快乐地 SIMD 矢量化, CPU 自动预取之类的。 第 2 章:位运算 稀疏的好处:坐标可以是负数 这样即使坐标为负数,或者可以是任意大的坐标,都不会产生越界错误。0 码力 | 102 页 | 9.50 MB | 1 年前3
《深入浅出MFC》2/e/ 001 第1章 Win32 程式基本觀念/ 003 Win32 程式開發流程/ 005 需要什麼函式庫(.LIB) / 005 需要什麼表頭檔(.H) / 006 深入淺出 MFC 14 以訊息為基礎,以事件驅動之 / 007 ㆒個具體而微的 Win32 程式 / 009 配置 GDI 繪圖工具 / 687 尺寸與方向:關於映像模式(座標系統) / 688 分頁 / 693 表頭(Header)與表尾(Footer)/ 695 動態計算頁碼 / 696 列印預覽(Print Preview) / 697 本章回顧 / 698 Scribble Step5-打印与预视(第12 章):Step1 已有打印和预视能力,这当然 归功于CScribbleView::OnDraw。现在要加强的是更细致的打印能力,包括表 ■ ■ ■ 深入淺出 MFC 38 头、表尾、页码、映射模式等等。坐标系统(也就是映射模式,Mapping Mode) 的选择,关系到是否能够「所见即所得」。为了这个目的,必须使用能够反应 真实世界之尺寸(如英寸、公分)的映像模式,本例使用0 码力 | 1009 页 | 11.08 MB | 1 年前3
共 23 条
- 1
- 2
- 3













