Hello 算法 1.1.0 C#版大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码示例,使读者理解算法和数据结构的核心概念,并能够通 过编程来实现它们。在此基础上,本书致力于揭示算法在复杂世界中的生动体现,展现算法之美。希望本书 10.1 二分查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 10.2 二分查找插入点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 10.3 二分查找边界 . . 位于 ? 之后,所以排除字典前半部分,查找范围缩小到后半部分。 3. 不断重复步骤 1. 和 步骤 2. ,直至找到拼音首字母为 ? 的页码为止。 图 1‑1 查字典步骤 查字典这个小学生必备技能,实际上就是著名的“二分查找”算法。从数据结构的角度,我们可以把字典视 为一个已排序的“数组”;从算法的角度,我们可以将上述查字典的一系列操作看作“二分查找”。 例二:整理扑克。我们在打牌时,每0 码力 | 378 页 | 18.47 MB | 1 年前3
Hello 算法 1.2.0 简体中文 C# 版大到一个国家,小 到一个家庭,社会的主要组织形式呈现出“树”的特征;冬天的衣服就像“栈”,最先穿上的最后才能脱下; 羽毛球筒则如同“队列”,一端放入、另一端取出;字典就像一个“哈希表”,能够快速查找目标词条。 本书旨在通过清晰易懂的动画图解和可运行的代码示例,使读者理解算法和数据结构的核心概念,并能够通 过编程来实现它们。在此基础上,本书致力于揭示算法在复杂世界中的生动体现,展现算法之美。希望本书 10.1 二分查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 10.2 二分查找插入点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 10.3 二分查找边界 . . 位于 ? 之后,所以排除字典前半部分,查找范围缩小到后半部分。 3. 不断重复步骤 1. 和步骤 2. ,直至找到拼音首字母为 ? 的页码为止。 图 1‑1 查字典步骤 查字典这个小学生必备技能,实际上就是著名的“二分查找”算法。从数据结构的角度,我们可以把字典视 为一个已排序的“数组”;从算法的角度,我们可以将上述查字典的一系列操作看作“二分查找”。 例二:整理扑克。我们在打牌时,每0 码力 | 379 页 | 18.48 MB | 10 月前3
Hello 算法 1.0.0 C#版10.1 二分查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207 10.2 二分查找插入点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 10.3 二分查找边界 . . 位于 ? 之后,所以排除字典前半部分,查找范围缩小到后半部分。 3. 不断重复步骤 1. 和 步骤 2. ,直至找到拼音首字母为 ? 的页码为止。 图 1‑1 查字典步骤 查字典这个小学生必备技能,实际上就是著名的“二分查找”算法。从数据结构的角度,我们可以把字典视 为一个已排序的“数组”;从算法的角度,我们可以将上述查字典的一系列操作看作“二分查找”。 例二:整理扑克。我们在打牌时,每 将数据结构存储在内存中,同时编写代码调用 CPU 和 GPU 执行算法。这样一来,我们就能把生活中的问题 转移到计算机上,以更高效的方式解决各种复杂问题。 � 如果你对数据结构、算法、数组和二分查找等概念仍感到一知半解,请继续往下阅读,本书将 引导你迈入数据结构与算法的知识殿堂。 1.2 算法是什么 1.2.1 算法定义 「算法 algorithm」是在有限时间内解决特定问题的一组指令或操作步骤,它具有以下特性。0 码力 | 376 页 | 17.59 MB | 1 年前3
Hello 算法 1.0.0b5 C#版10.1 二分查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204 10.2 二分查找插入点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208 10.3 二分查找边界 . . 例一:查阅字典。在字典里,每个汉字都对应一个拼音,而字典是按照拼音字母顺序排列的。假设我们需要 查找一个拼音首字母为 ? 的字,通常会按照图 1‑1 所示的方式实现。 1. 翻开字典约一半的页数,查看该页的首字母是什么,假设首字母为 ? 。 2. 由于在拼音字母表中 ? 位于 ? 之后,所以排除字典前半部分,查找范围缩小到后半部分。 3. 不断重复步骤 1. 和 步骤 2. ,直至找到拼音首字母为 图 1‑1 查字典步骤 第 1 章 初识算法 hello‑algo.com 11 查阅字典这个小学生必备技能,实际上就是著名的二分查找算法。从数据结构的角度,我们可以把字典视为 一个已排序的“数组”;从算法的角度,我们可以将上述查字典的一系列操作看作是“二分查找”。 例二:整理扑克。我们在打牌时,每局都需要整理扑克牌,使其从小到大排列,实现流程如图 1‑2 所示。 1. 将扑克牌划分为“有0 码力 | 376 页 | 30.69 MB | 1 年前3
Hello 算法 1.0.0b4 C#版. . . . . . . . . . . . . 179 10. 搜索 180 10.1. 二分查找 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180 10.2. 二分查找边界 . . . . . . . . . . . . . . . . . . . . . . . . . 例一:查阅字典。在字典里,每个汉字都对应一个拼音,而字典是按照拼音的英文字母顺序排列的。假设我 们需要查找一个拼音首字母为 ? 的字,通常会这样操作: 1. 翻开字典约一半的页数,查看该页首字母是什么,假设首字母为 ? 。 2. 由于在英文字母表中 ? 位于 ? 之后,所以排除字典前半部分,查找范围缩小到后半部分。 3. 不断重复步骤 1‑2 ,直至找到拼音首字母为 ? 的页码为止。 1. 初识算法 初识算法 hello‑algo.com 8 Figure 1‑1. 查字典步骤 查阅字典这个小学生必备技能,实际上就是著名的「二分查找」。从数据结构的角度,我们可以把字典视为一 个已排序的「数组」;从算法的角度,我们可以将上述查字典的一系列操作看作是「二分查找」算法。 例二:整理扑克。我们在打牌时,每局都需要整理扑克牌,使其从小到大排列,实现流程如下: 1. 将扑克牌划分为“有序”和“无序”两部分,并假设初始状态下最左0 码力 | 341 页 | 27.39 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 C# 版大到一個國家,小 到一個家庭,社會的主要組織形式呈現出“樹”的特徵;冬天的衣服就像“堆疊”,最先穿上的最後才能脫下; 羽毛球筒則如同“佇列”,一端放入、一端取出;字典就像一個“雜湊表”,能夠快速查找目標詞條。 本書旨在透過清晰易懂的動畫圖解與可執行的程式碼範例,使讀者理解演算法和資料結構的核心概念,並能 夠透過程式設計來實現它們。在此基礎上,本書致力於揭示演算法在複雜世界中的生動體現,展現演算法之 雜湊衝突 load factor 负载因子 負載因子 separate chaining 链式地址 鏈結位址 open addressing 开放寻址 開放定址 linear probing 线性探测 線性探查 lazy deletion 懒删除 懶刪除 binary tree 二叉树 二元樹 tree node 树节点 樹節點 left‑child node 左子节点 左子節點 right‑child list 邻接表 鄰接表 breadth‑first search 广度优先搜索 廣度優先搜尋 depth‑first search 深度优先搜索 深度優先搜尋 binary search 二分查找 二分搜尋 searching algorithm 搜索算法 搜尋演算法 sorting algorithm 排序算法 排序演算法 selection sort 选择排序 選擇排序 bubble0 码力 | 379 页 | 18.79 MB | 10 月前3
共 6 条
- 1













