Hello 算法 1.1.0 Dart版forEach 方法遍历数组 nums.forEach((_num) { count += _num; }); } 6. 查找元素 在数组中查找指定元素需要遍历数组,每轮判断元素值是否匹配,若匹配则输出对应索引。 因为数组是线性数据结构,所以上述查找操作被称为“线性查找”。 // === File: array.dart === /* 在数组中查找指定元素 */ int find(List行比较。如果两者匹 配,那么密码就被视为正确。 ‧ 数据完整性检查:数据发送方可以计算数据的哈希值并将其一同发送;接收方可以重新计算接收到的 数据的哈希值,并与接收到的哈希值进行比较。如果两者匹配,那么数据就被视为完整。 对于密码学的相关应用,为了防止从哈希值推导出原始密码等逆向工程,哈希算法需要具备更高等级的安全 特性。 ‧ 单向性:无法通过哈希值反推出关于输入数据的任何信息。 第 被新元素使用。这样做既能保持哈希表的探测序列不变,又能保证哈希表的空间使用率。 Q:为什么在线性探测中,查找元素的时候会出现哈希冲突呢? 查找的时候通过哈希函数找到对应的桶和键值对,发现 key 不匹配,这就代表有哈希冲突。因此,线性探测 法会根据预先设定的步长依次向下查找,直至找到正确的键值对或无法找到跳出为止。 第 6 章 哈希表 hello‑algo.com 135 Q:为什么哈希表扩容能够缓解哈希冲突? 0 码力 | 378 页 | 18.45 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Dart 版forEach 方法遍历数组 nums.forEach((_num) { count += _num; }); } 6. 查找元素 在数组中查找指定元素需要遍历数组,每轮判断元素值是否匹配,若匹配则输出对应索引。 因为数组是线性数据结构,所以上述查找操作被称为“线性查找”。 // === File: array.dart === /* 在数组中查找指定元素 */ int find(List行比较。如果两者匹 配,那么密码就被视为正确。 ‧ 数据完整性检查:数据发送方可以计算数据的哈希值并将其一同发送;接收方可以重新计算接收到的 数据的哈希值,并与接收到的哈希值进行比较。如果两者匹配,那么数据就被视为完整。 对于密码学的相关应用,为了防止从哈希值推导出原始密码等逆向工程,哈希算法需要具备更高等级的安全 特性。 ‧ 单向性:无法通过哈希值反推出关于输入数据的任何信息。 第 被新元素使用。这样做既能保持哈希表的探测序列不变,又能保证哈希表的空间使用率。 Q:为什么在线性探测中,查找元素的时候会出现哈希冲突呢? 查找的时候通过哈希函数找到对应的桶和键值对,发现 key 不匹配,这就代表有哈希冲突。因此,线性探测 法会根据预先设定的步长依次向下查找,直至找到正确的键值对或无法找到跳出为止。 第 6 章 哈希表 www.hello‑algo.com 135 Q:为什么哈希表扩容能够缓解哈希冲突? 0 码力 | 378 页 | 18.46 MB | 10 月前3
Hello 算法 1.0.0b5 Dart版通过 forEach 方法遍历数组 nums.forEach((element) { count++; }); } 6. 查找元素 在数组中查找指定元素需要遍历数组,每轮判断元素值是否匹配,若匹配则输出对应索引。 因为数组是线性数据结构,所以上述查找操作被称为“线性查找”。 // === File: array.dart === /* 在数组中查找指定元素 */ int find(List 行比较。如果两者匹 配,那么密码就被视为正确。 ‧ 数据完整性检查:数据发送方可以计算数据的哈希值并将其一同发送;接收方可以重新计算接收到的 数据的哈希值,并与接收到的哈希值进行比较。如果两者匹配,那么数据就被视为完整的。 对于密码学的相关应用,为了防止从哈希值推导出原始密码等逆向工程,哈希算法需要具备更高等级的安全 特性。 ‧ 抗碰撞性:应当极其困难找到两个不同的输入,使得它们的哈希值相同。 用。这样做既能保持哈希表的探测 序列不变,又能保证哈希表的空间使用率。 � 为什么在线性探测中,查找元素的时候会出现哈希冲突呢? 查找的时候通过哈希函数找到对应的桶和键值对,发现 key 不匹配,这就代表有哈希冲突。因 此,线性探测法会根据预先设定的步长依次向下查找,直至找到正确的键值对或无法找到跳 出为止。 � 为什么哈希表扩容能够缓解哈希冲突? 哈希函数的最后一步往往是对数组长度0 码力 | 376 页 | 30.67 MB | 1 年前3
Hello 算法 1.0.0 Dart版forEach 方法遍历数组 nums.forEach((_num) { count += _num; }); } 6. 查找元素 在数组中查找指定元素需要遍历数组,每轮判断元素值是否匹配,若匹配则输出对应索引。 因为数组是线性数据结构,所以上述查找操作被称为“线性查找”。 // === File: array.dart === /* 在数组中查找指定元素 */ int find(List行比较。如果两者匹 配,那么密码就被视为正确。 ‧ 数据完整性检查:数据发送方可以计算数据的哈希值并将其一同发送;接收方可以重新计算接收到的 数据的哈希值,并与接收到的哈希值进行比较。如果两者匹配,那么数据就被视为完整。 对于密码学的相关应用,为了防止从哈希值推导出原始密码等逆向工程,哈希算法需要具备更高等级的安全 特性。 ‧ 单向性:无法通过哈希值反推出关于输入数据的任何信息。 第 被新元素使用。这样做既能保持哈希表的探测序列不变,又能保证哈希表的空间使用率。 Q:为什么在线性探测中,查找元素的时候会出现哈希冲突呢? 查找的时候通过哈希函数找到对应的桶和键值对,发现 key 不匹配,这就代表有哈希冲突。因此,线性探测 法会根据预先设定的步长依次向下查找,直至找到正确的键值对或无法找到跳出为止。 第 6 章 哈希表 hello‑algo.com 135 Q:为什么哈希表扩容能够缓解哈希冲突? 0 码力 | 377 页 | 17.56 MB | 1 年前3
Hello 算法 1.2.0 繁体中文 Dart 版forEach 方法走訪陣列 nums.forEach((_num) { count += _num; }); } 6. 查詢元素 在陣列中查詢指定元素需要走訪陣列,每輪判斷元素值是否匹配,若匹配則輸出對應索引。 因為陣列是線性資料結構,所以上述查詢操作被稱為“線性查詢”。 // === File: array.dart === /* 在陣列中查詢指定元素 */ int find(List存密碼的雜 湊值。當用戶輸入密碼時,系統會對輸入的密碼計算雜湊值,然後與儲存的雜湊值進行比較。如果兩者 匹配,那麼密碼就被視為正確。 ‧ 資料完整性檢查:資料傳送方可以計算資料的雜湊值並將其一同傳送;接收方可以重新計算接收到的 資料的雜湊值,並與接收到的雜湊值進行比較。如果兩者匹配,那麼資料就被視為完整。 對於密碼學的相關應用,為了防止從雜湊值推導出原始密碼等逆向工程,雜湊演算法需要具備更高等級的安 被新元素使用。這樣做既能保持雜湊表的探測序列不變,又能保證雜湊表的空間使用率。 Q:為什麼線上性探查中,查詢元素的時候會出現雜湊衝突呢? 查詢的時候透過雜湊函式找到對應的桶和鍵值對,發現 key 不匹配,這就代表有雜湊衝突。因此,線性探查 法會根據預先設定的步長依次向下查詢,直至找到正確的鍵值對或無法找到跳出為止。 第 6 章 雜湊表 www.hello‑algo.com 135 Q:為什麼雜湊表擴容能夠緩解雜湊衝突? 0 码力 | 378 页 | 18.77 MB | 10 月前3
共 5 条
- 1













