07 مهر 1392, 08:17 ب.ظ
08 مهر 1392, 04:44 ب.ظ
ممنون
یه الگوریتمی سید جوادی گفته در حد 5-4 خطه فکر کنم... اونم بلدین ؟؟؟ گفت تو کتاب ساختمان داده پارسه صفحه 4-5 توضیح داده شده..... ولی کتاب من واسه 3 ساله پیشه چنین چیزی نداره !!! گفت کتاب هورویتز هم اینو گفته!! وبلی من پیداش نکردم !!
یه الگوریتمی سید جوادی گفته در حد 5-4 خطه فکر کنم... اونم بلدین ؟؟؟ گفت تو کتاب ساختمان داده پارسه صفحه 4-5 توضیح داده شده..... ولی کتاب من واسه 3 ساله پیشه چنین چیزی نداره !!! گفت کتاب هورویتز هم اینو گفته!! وبلی من پیداش نکردم !!
24 بهمن 1393, 12:35 ق.ظ
این یه کد پایتونه که تمام جایگشت های بدون تکرار n رقمی رو حساب میکنه و در یه آرایه به نام solve میریزه. فقط همه رو پشت سر هم میریزه تو یه آرایه و باید موقع خوندن، خودت جداشون کنی. جداکردنشم آسونه، به تعداد n ازش میخونیم و میریم جلو. که اونم نوشتم پایینش:
کد:
selected = [-1,-1,-1]
solve = []
digits = 3
def jaygasht(level):
global selected,solve
if level == 3:
if -1 not in selected:
solve = solve+selected
return
for i in range(digits):
if i not in selected:
selected[level] = i
jaygasht(level+1)
selected[level]=-1
def fact(n):
i = 1
f = 1
while i<=n:
f = f*i
i+=1
return f
print (fact(3))
def show_solve():
i = 0
j = 1
print()
cnt = fact(digits)
while j<= cnt:
print(solve[i:i+digits])
i=i+3
j+=1
jaygasht(0)
show_solve()