Hello 算法 1.2.0 繁体中文 Kotlin 版叫自身來解決問題。它主要包含兩個階段。 1. 遞:程式不斷深入地呼叫自身,通常傳入更小或更簡化的參數,直到達到“終止條件”。 2. 迴:觸發“終止條件”後,程式從最深層的遞迴函式開始逐層返回,匯聚每一層的結果。 而從實現的角度看,遞迴程式碼主要包含三個要素。 1. 終止條件:用於決定什麼時候由“遞”轉“迴”。 2. 遞迴呼叫:對應“遞”,函式呼叫自身,通常輸入更小或更簡化的參數。 3. 。 圖 6‑6 開放定址(線性探查)雜湊表的鍵值對分佈 然而,線性探查容易產生“聚集現象”。具體來說,陣列中連續被佔用的位置越長,這些連續位置發生雜湊衝 突的可能性越大,從而進一步促使該位置的聚堆積生長,形成惡性迴圈,最終導致增刪查改操作效率劣化。 值得注意的是,我們不能在開放定址雜湊表中直接刪除元素。這是因為刪除元素會在陣列內產生一個空桶 None ,而當查詢元素時,線性探查到該空桶就 27, 30, 33, … } hash = {0, 3, 6, 0, 3, 6, 0, 3, 6, 0, 3, 6, … } 如果輸入 key 恰好滿足這種等差數列的資料分佈,那麼雜湊值就會出現聚堆積,從而加重雜湊衝突。現在, 假設將 modulus 替換為質數 13 ,由於 key 和 modulus 之間不存在公約數,因此輸出的雜湊值的均勻性會明 顯提升。 modulus = 130 码力 | 382 页 | 18.79 MB | 10 月前3
Hello 算法 1.1.0 Kotlin版。 图 6‑6 开放寻址(线性探测)哈希表的键值对分布 然而,线性探测容易产生“聚集现象”。具体来说,数组中连续被占用的位置越长,这些连续位置发生哈希冲 突的可能性越大,从而进一步促使该位置的聚堆生长,形成恶性循环,最终导致增删查改操作效率劣化。 值得注意的是,我们不能在开放寻址哈希表中直接删除元素。这是因为删除元素会在数组内产生一个空桶 None ,而当查询元素时,线性探测到该空桶就会 27, 30, 33, … } hash = {0, 3, 6, 0, 3, 6, 0, 3, 6, 0, 3, 6, … } 如果输入 key 恰好满足这种等差数列的数据分布,那么哈希值就会出现聚堆,从而加重哈希冲突。现在,假 设将 modulus 替换为质数 13 ,由于 key 和 modulus 之间不存在公约数,因此输出的哈希值的均匀性会明显 提升。 modulus = 13 key 元素存储在同一个链表中。然而,链表过长会降低查 询效率,可以通过进一步将链表转换为红黑树来提高效率。 ‧ 开放寻址通过多次探测来处理哈希冲突。线性探测使用固定步长,缺点是不能删除元素,且容易产生聚 集。多次哈希使用多个哈希函数进行探测,相较线性探测更不易产生聚集,但多个哈希函数增加了计算 量。 ‧ 不同编程语言采取了不同的哈希表实现。例如,Java 的 HashMap 使用链式地址,而 Python0 码力 | 381 页 | 18.47 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Kotlin 版。 图 6‑6 开放寻址(线性探测)哈希表的键值对分布 然而,线性探测容易产生“聚集现象”。具体来说,数组中连续被占用的位置越长,这些连续位置发生哈希冲 突的可能性越大,从而进一步促使该位置的聚堆生长,形成恶性循环,最终导致增删查改操作效率劣化。 值得注意的是,我们不能在开放寻址哈希表中直接删除元素。这是因为删除元素会在数组内产生一个空桶 None ,而当查询元素时,线性探测到该空桶就会 27, 30, 33, … } hash = {0, 3, 6, 0, 3, 6, 0, 3, 6, 0, 3, 6, … } 如果输入 key 恰好满足这种等差数列的数据分布,那么哈希值就会出现聚堆,从而加重哈希冲突。现在,假 设将 modulus 替换为质数 13 ,由于 key 和 modulus 之间不存在公约数,因此输出的哈希值的均匀性会明显 提升。 modulus = 13 key 元素存储在同一个链表中。然而,链表过长会降低查 询效率,可以通过进一步将链表转换为红黑树来提高效率。 ‧ 开放寻址通过多次探测来处理哈希冲突。线性探测使用固定步长,缺点是不能删除元素,且容易产生聚 集。多次哈希使用多个哈希函数进行探测,相较线性探测更不易产生聚集,但多个哈希函数增加了计算 量。 ‧ 不同编程语言采取了不同的哈希表实现。例如,Java 的 HashMap 使用链式地址,而 Python0 码力 | 382 页 | 18.48 MB | 10 月前3
Kotlin 1.9.10 官方文档 中文版
Quarkus 为使用 Kotlin 提供了头等支持。 它是由 Red Hat 维护的开源框 架。 Quarkus 是为 Kubernetes 全新构建、并利用数百个(还在增加)最佳 库提供内聚的全栈框架。 Vert.x 是在 JVM 上构建反应式 Web 应用程序的框架, 为 Kotlin 提供了专 门支持,包括完整的文档。 kotlinx.html 是可在 Web 应用程序中用于构建 sum 到 skewness )、 切片操 作符(诸如 countBy 、 simpleRegressionBy )、分箱(binning)操作 符、离散 PDF 采样、 朴素贝叶斯分类器、聚类、线性回归等等。 kmath is an experimental library that was intially inspired by NumPy but evolved to more and others. krangl 是一个受 R 语言的 dplyr 与 Python 的 pandas 启发的库。这个库提 供了采用函数式风格 API 进行数据操作的功能;它还包括过滤、转换、聚 合与重塑表格数据的函数。 lets-plot 是一个用 Kotlin 编写的统计数据绘图库。 Lets-Plot 是多平台的, 不仅可以用于 JVM,还可以用于 JS 与 Python。 kravis0 码力 | 3753 页 | 29.69 MB | 1 年前3
Kotlin 官方文档中文版 v1.9API。 Quarkus 为使用 Kotlin 提供了头等支持。 它是由 Red Hat 维护的开源框架。 Quarkus 是为 Kubernetes 全新构建、并利用数百个(还在增加)最佳库提供内聚的全栈框架。 Vert.x 是在 JVM 上构建反应式 Web 应用程序的框架, 为 Kotlin 提供了专门支持,包括完 整的文档。 kotlinx.html 是可在 Web 应用程序中用于构建 sum 到 skewness )、 切片操作符(诸如 countBy 、 simpleRegressionBy )、分箱(binning)操作符、离散 PDF 采样、 朴素贝叶斯分类器、 聚类、线性回归等等。 kmath is an experimental library that was intially inspired by NumPy but evolved to more based toolkit for the processing of natural language text CoreNLP——一个自然语言处理工具包 Apache Mahout——一个回归、聚类与推荐的分布式框架 Weka——一组用于数据挖掘任务的机器学习算法 Tablesaw - a Java dataframe. It includes a visualization library0 码力 | 2049 页 | 45.06 MB | 1 年前3
共 5 条
- 1













