我有这个家庭作业问题:
假设数据库表在n = 0时有0条记录。假设在时间n,将100n个新记录填充到该表中。记录数每分钟增加20%。编写一个递归关系和一个初始条件,用于定义数据库表中的记录数。如果数据库表中的每条记录包含50KB,那么表的大小是否大于1GB?
所以从阅读我知道的问题:
F(0)= 0时刻0有0条记录
让我了解这个问题的部分是"Suppose that at time n, 100n new records are populated"
F(1)= 100
F(2)= 200
F(3)= 300
如果问题会说在第一分钟创建了100条新记录,那么我将知道在下一分钟将创建120项,然后144等。我相信我的导师错误地提出了问题。
实际问题不涉及数据库记录我修改它以使其更适合在这里询问它。这项功课让我感到非常满意。我认为其中一个原因是因为老师输入了他自己的问题,而且他没有正确解释他的意思。这是实际问题:
假设门罗县的鹿群在时间n = 0时为0。 假设在时间n,100n鹿被引入梦露县 并且人口每年增加20%。写一个 递归关系和定义鹿的初始条件 在时间n的人口,然后解决复发关系。 (10 点)。
这是我到目前为止的答案:
问题说:假设在时间n,100n鹿被引入梦露。换句话说,第一年带来了100头鹿,第二年带来了200头鹿,第三年带来了300头等等。这可以用递归关系来解释:T(n)=T(n-1)+100
问题还说人口每年增加20%。这可以通过以下递归关系来解释:T(n)=T(n-1)*120%
现在我们必须结合递归关系才能获得:
T(n)=T(n-1)*120%+100 where T(0)=0
我不知道这是不对的。我知道递归算法的基础知识,但我认为可以用不同的方式提出问题,以便更容易理解人口的确切增长。
答案 0 :(得分:2)
我认为情况是这样的:在第n分钟,增加了100n个新记录,并且存储到第(n-1)分钟的记录增加了20%。
所以,复发应该是:
F(0) = 0 <-- initial condition
F(n) = 1.2 * F(n - 1) + 100 * n where n > 0
解释了几个步骤:
n F(n) Size(KB)
-- ----- --------
0 0 0
1 100 5000
2 320 16000
3 684 34200
4 1220 61000
5 1964 98200