Прикреплённый файл «2012-12-21.measure.py»
Загрузка 1 #!/usr/bin/env python
2 # coding: utf
3 '''
4 Написать программу, создающую в качестве модели таблицы N×N:
5
6 Список списков
7 Дырявый словарь
8 Полный словарь
9
10 Сравнить время:
11 Полного заполнения таблицы
12 Заполнения 10% таблицы
13 Полного заполнения уже заполненной таблицы (возможны различия для модели №2)
14 '''
15
16 import os
17 stamp = os.times()[0]
18
19 def measure():
20 global stamp
21 ostamp, stamp = stamp, os.times()[0]
22 return stamp - ostamp
23
24 def fill(T,N,S=1):
25 for i in xrange(0,N,S):
26 for j in xrange(0,N,S):
27 T[i][j]=i*j*S
28
29 def fillP(T,N,S=1):
30 for i in xrange(0,N,S):
31 for j in xrange(0,N,S):
32 T[i,j]=i*j*S
33
34 N,C=input(),3
35 Types=("LL","SD","TD")
36 Cnt={}
37
38 for ii in xrange(C):
39 for t in Types:
40 print t,"pass",ii
41 measure()
42 if t=="LL":
43 L=[[0]*N for i in xrange(N)]
44 elif t=="SD":
45 L={}
46 else:
47 L=dict(((i,j),0) for i in xrange(N) for j in xrange(N))
48 Cnt.setdefault((t,0),[]).append(measure())
49 Fill = t=="LL" and fill or fillP
50 Fill(L,N,10)
51 Cnt.setdefault((t,1),[]).append(measure())
52 Fill(L,N)
53 Cnt.setdefault((t,2),[]).append(measure())
54 Fill(L,N)
55 Cnt.setdefault((t,3),[]).append(measure())
56 del L
57 Cnt.setdefault((t,4),[]).append(measure())
58
59 Actions=("Create","Fill 10%","Fill","Fill 200%", "Delete")
60 FMT="{0:12.6}"
61 print "".join((t.rjust(12) for t in ("",)+Types))
62 for i, n in enumerate(Actions):
63 print FMT.format(n)+"".join((FMT.format(sum(Cnt[t,i])/C) for t in Types))
Прикреплённые файлы
Для ссылки на прикреплённый файл в тексте страницы напишите attachment:имяфайла, как показано ниже в списке файлов. Не используйте URL из ссылки «[получить]», так как он чисто внутренний и может измениться.- [получить | показать] (2012-12-29 16:52:50, 1.8 KB) [[attachment:2012-12-21.measure.py]]
- [получить | показать] (2012-12-28 14:37:33, 0.7 KB) [[attachment:2012-12-21.sortball.gen.py]]
- [получить | показать] (2012-12-28 14:37:00, 0.8 KB) [[attachment:2012-12-21.sortball.py]]
- [получить | показать] (2012-12-28 14:37:22, 1.0 KB) [[attachment:2012-12-21.spiral.py]]
- [получить | показать] (2012-12-28 14:37:56, 3.0 KB) [[attachment:gravec.py]]
Вам нельзя прикреплять файлы к этой странице.