相关疑难解决方法(0)

理解递归

我在学校理解递归方面遇到了很大麻烦.每当教授谈论它时,我似乎都能得到它,但是只要我自己尝试它就会彻底打动我的大脑.

我整晚都试图解决河内塔楼,并彻底打动了我的思绪.我的教科书在递归时只有大约30页,所以它不太有用.有谁知道可以帮助澄清这个主题的书籍或资源?

algorithm recursion tail-recursion

215
推荐指数
11
解决办法
8万
查看次数

什么是递归,什么时候应该使用它?

在邮件列表和在线讨论中经常出现的主题之一是进行计算机科学学位的优点(或缺乏).似乎一次又一次地为负面派对提出的论点是,他们已编码了若干年,他们从未使用过递归.

所以问题是:

  1. 什么是递归?
  2. 我什么时候使用递归?
  3. 为什么人们不使用递归?

recursion computer-science

121
推荐指数
11
解决办法
18万
查看次数

当我需要自我引用词典时,我该怎么办?

我是Python的新手,有点惊讶我无法做到这一点.

dictionary = {
    'a' : '123',
    'b' : dictionary['a'] + '456'
}
Run Code Online (Sandbox Code Playgroud)

我想知道Pythonic在我的脚本中正确执行此操作的方法是什么,因为我觉得我不是唯一一个试图这样做的人.

编辑:足够的人想知道我在做什么,所以这里有更多我的用例的细节.让我们说我想保持字典对象来保存文件系统路径.路径相对于字典中的其他值.例如,这就是我的一本词典.

dictionary = {
    'user': 'sholsapp',
    'home': '/home/' + dictionary['user']
}
Run Code Online (Sandbox Code Playgroud)

重要的是,在任何时候我都可以改变dictionary['user']并让所有词典值反映出变化.再一次,这是我正在使用它的一个例子,所以我希望它能传达我的目标.

根据我自己的研究,我认为我需要实现一个类来完成这项工作.

python dictionary

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

python中的自引用类定义

有没有办法从类声明中引用类名?一个例子如下:

class Plan(SiloBase):
    cost = DataField(int)
    start = DataField(System.DateTime)
    name = DataField(str)
    items = DataCollection(int)
    subPlan = ReferenceField(Plan)
Run Code Online (Sandbox Code Playgroud)

我有一个读取此信息的元类并进行一些设置,基类实现了一些常见的保存.我希望能够创建这样的递归定义,但到目前为止,在我的实验中,我无法获得我想要的效果,通常会遇到"计划未定义"错误.我理解发生了什么,类的名称不在类的范围内.

python

19
推荐指数
2
解决办法
6300
查看次数

2
推荐指数
3
解决办法
1391
查看次数

自引用列表

假设您执行以下操作:

a = [1]
a[0] = a
Run Code Online (Sandbox Code Playgroud)

你最终得到的a等于[[...]].这里发生了什么?这隐含地定义了无限链a指向a的最终结果如何[[...]]

python

2
推荐指数
1
解决办法
2016
查看次数