乘法在每个n/2 * n/2矩阵上完成.我对此几乎没有问题:
n * n矩阵最终都会n=1通过执行来缩小尺寸T(n/2)吗?如果这样返回a11*b11似乎毫无意义好像回到1*6了a11*b11为以下矩阵:然后基本情况应该n==2执行else部分,因为下面的操作似乎是合法的.
0(n^2)?我的意思是,我们完全没有处理矩阵加法,而仅仅是数字,因为每个矩阵都减少到2 * 2如下:那么加法部分应该只贡献4个?(为什么0(n^2)?)
如何获取当前登录的用户forms.py?我正在尝试预先填充当前用户的电子邮件字段。
class ContactMe(forms.Form):
name = forms.CharField(label = "Name")
email_address = forms.CharField(label = "Email Address", intital = request.user.email)
subject = forms.CharField(label = "Subject")
message = forms.CharField(label = "Message", widget=forms.Textarea(attrs={'cols': 10, 'rows': 3}))
additional_comments = forms.CharField(required = False)
class Meta:
model = Contact_me
Run Code Online (Sandbox Code Playgroud)
我尝试从views.pyas传递请求:
contact_form = ContactMe(request.POST or None, request)
Run Code Online (Sandbox Code Playgroud)
然后在类内接收请求ContactMe:
class ContactMe(forms.Form, request):
name = forms.CharField(label = "Name")
email_address = forms.CharField(label = "Email Address", intital = **request.user.email**)
subject = forms.CharField(label = "Subject")
message = forms.CharField(label …Run Code Online (Sandbox Code Playgroud) 我尝试用Python生成格雷码.此代码正常工作.问题是我正在初始化函数中的基本case(n=1,[0,1])main并将其传递给gray_code函数来计算其余部分.我想在函数本身内生成所有格雷码,包括基本案例.我怎么做?
def gray_code(g,n):
k=len(g)
if n<=0:
return
else:
for i in range (k-1,-1,-1):
char='1'+g[i]
g.append(char)
for i in range (k-1,-1,-1):
g[i]='0'+g[i]
gray_code(g,n-1)
def main():
n=int(raw_input())
g=['0','1']
gray_code(g,n-1)
if n>=1:
for i in range (len(g)):
print g[i],
main()
Run Code Online (Sandbox Code Playgroud)
这个算法的递归关系是T(n)=T(n-1)+n什么?
如何自下而上的O(n)阶的堆构造方法?Anany Levitin在他的书中说,与自上而下的O(log n)方法相比,这更有效.为什么?
我是Python的初学者.我正在编码"数组元素之间的最小差异"问题.我们的想法是对数组进行排序,然后找出相邻元素之间的差异,找到具有最小差异的元素.
但是,我想知道如何在for循环中定义列表索引的范围,以便我的索引不会超过size-2.
import sys
a=[34,56,78,32,97,123]
a,size=sorted(a),len(a)
min=sys.maxint
for i,x in enumerate(a): # Need a range for index i from 0 to size-2
if(abs(a[i]-a[i+1])<min):
min=abs(a[i]-a[i+1])
print min
Run Code Online (Sandbox Code Playgroud) CLRS 练习:6.5-8
该操作从堆中HEAP-DELETE(A,i)删除节点中的项目。给出一个针对 n 元素最大堆及时运行的实现。iAHEAP-DELETEO(lg n)
我想知道算法对于输入A[10]={84,22,19,21,3,10,6,5,20}(索引从1开始)和A[6]=10被删除是否错误。用替换最后一个节点A[6]将导致违反堆属性,忽略父值。
我为此编写了一个算法,想知道它是否正确或者我哪里出错了?
HEAP-DELETE(A,i)
A[i]=A[A.heapsize]
A.heapsize-=1
while i>1 and A[parent(i)]<A[i]
swap A[i] with A[parent(i)]
i=parent(i);
Run Code Online (Sandbox Code Playgroud)