小编Apr*_*ude的帖子

了解 Grossman & Zeitman 计算阿克曼函数的算法?

我读过 Grossman 和 Zeitman 发表的论文《阿克曼函数的本质迭代计算》,其中提出了一种优化阿克曼函数的算法。

\n

我们知道阿克曼函数产生子序列 A(m,n) 的结果

\n
\n

m=0: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,... \
n m=1: 2, 3 , 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,...
\n m=2: 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33,...
\n m=3: 5, 13, 29, 61, 125, 253, 509, 1021, …

algorithm optimization ackermann

8
推荐指数
1
解决办法
421
查看次数

如何在小于 O(N*M) 的时间内连接两个列表?

假设我们有两个表(就像 SQL 表一样),其中一个表中的主键是另一个表中的外键。我应该编写一个简单的算法来模拟这两个表的连接。我考虑过迭代第一个表中主键列中的每个元素,并进行第二个循环,检查外键是否匹配,然后将其存储在外部数组或列表中。然而,这需要 O(N*M) 并且我需要找到更好的东西。教科书上有一个提示,它涉及到哈希,但是,我不确定这里如何实现哈希,或者如何让它变得更好?

编辑以添加示例:

Table Employees
|ID (Primary Key)| Name | Department|
|:---------------|:----:|----------:|
|       1        | Jack |    IT     |   
|       2        | Amy  |  Finance  |

Table Transactions
|Sold Product| Sold By(Foreign Key)| Sold To|
|:-----------|:-------------------:|-------:|
|    TV      |          1          |  Mary  |
|   Radio    |          1          |  Bob   |
|   Mobile   |          2          |  Lisa  |
Run Code Online (Sandbox Code Playgroud)

我想做的是编写一个使用散列连接这两个表的算法,而不是任何复杂的东西,只是一个关于如何做到这一点的简单想法。

java algorithm hash

5
推荐指数
1
解决办法
472
查看次数

标签 统计

algorithm ×2

ackermann ×1

hash ×1

java ×1

optimization ×1