Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 4da3b02

Browse files
committed
1.10
1 parent a6823fa commit 4da3b02

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

‎algo_visualizer.py‎

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ def __init__(self, root, title) -> None:
3737
self.start.grid(column=5, row=2, padx=5, pady=5)
3838

3939
ttk.Label(self.root, text='Speed & Array Size:').grid(row=2,column=0)
40-
self.timespan=ttk.Scale(self.root,from_=1,to=1000,value=0.1,style='success.Horizontal.TScale',length=250,
40+
self.timespan=ttk.Scale(self.root,from_=1,to=1000,value=0.2,style='success.Horizontal.TScale',length=250,
4141
command=lambda x:self.slide_function())
4242
self.timespan.grid(row=2,column=1,columnspan=2)
43-
self.arraysize=ttk.Scale(self.root,from_=6,to=120,length=250,style='success.Horizontal.TScale',value=30,
43+
self.arraysize=ttk.Scale(self.root,from_=6,to=120,length=250,style='success.Horizontal.TScale',value=10,
4444
command=lambda x:self.slide_function())
4545
self.arraysize.grid(row=2,column=3,columnspan=2)
4646

@@ -57,9 +57,9 @@ def __init__(self, root, title) -> None:
5757

5858
# some constants
5959
self.speed=0.2
60-
self.N=30
60+
self.N=10
6161
self.colours=['dodgerblue' for i in range(self.N)]
62-
N=30
62+
N=self.N
6363
self.data=np.linspace(5,400,N,dtype=np.uint16)
6464
np.random.shuffle(self.data)
6565
self.display(N,self.data,self.colours)
@@ -200,23 +200,29 @@ def start(self):
200200
if self.st['bubble'] is True:
201201
for i in range(self.N-1):
202202
for j in range(self.N-1-i):
203+
self.display(self.N,self.data,['purple' if a==j or a==j+1 else 'green' if a>self.N-1-i else 'dodgerblue' for a in range(self.N)])
204+
time.sleep(self.speed)
203205
if self.data[j]>self.data[j+1]:
206+
self.display(self.N,self.data,['red' if a==j or a==j+1 else 'green' if a>self.N-1-i else 'dodgerblue' for a in range(self.N)])
207+
time.sleep(self.speed)
204208
self.data[j],self.data[j+1]=self.data[j+1],self.data[j]
205-
self.display(self.N,self.data,['purple' if a==j or a==j+1 else 'green' if a>self.N-1-i else 'dodgerblue' for a in range(self.N)])
209+
self.display(self.N,self.data,['lime' if a==j or a==j+1 else 'green' if a>self.N-1-i else 'dodgerblue' for a in range(self.N)])
206210
time.sleep(self.speed)
207-
self.display(self.N,self.data,['green' for _ in range(self.N)])
211+
self.display(self.N,self.data,['lime' for _ in range(self.N)])
208212

209213
elif self.st['insertion'] is True:
210214
for j in range(1,len(self.data)):
211215
key=self.data[j]
212216
i=j-1
217+
self.display(self.N,self.data,['purple' if a==i or a==i+1 else 'green' if a<=j else'dodgerblue' for a in range(self.N)])
218+
time.sleep(self.speed)
213219
while i>=0 and self.data[i]>key:
214220
self.data[i+1]=self.data[i]
215-
i-=1
216-
self.display(self.N,self.data,['purple' if a==j or a==j+1 else 'green' if a<=j else'dodgerblue' for a in range(self.N)])
221+
self.display(self.N,self.data,['yellow' if a==i else 'green' if a<=j else'dodgerblue' for a in range(self.N)])
217222
time.sleep(self.speed)
223+
i-=1
218224
self.data[i+1]=key
219-
self.display(self.N,self.data,['green' for _ in range(self.N)])
225+
self.display(self.N,self.data,['lime' for _ in range(self.N)])
220226

221227
elif self.st['selection'] is True:
222228
for i in range(len(self.data)-1):
@@ -229,16 +235,16 @@ def start(self):
229235
min_index=j
230236
if min_index!=i:
231237
self.data[i], self.data[min_index]=self.data[min_index],self.data[i]
232-
self.display(self.N,self.data,['green' for _ in range(self.N)])
238+
self.display(self.N,self.data,['lime' for _ in range(self.N)])
233239

234240

235241
elif self.st['merge'] is True:
236242
self.mergesort(self.data,0,self.N-1)
237-
self.display(self.N,self.data,['green' for _ in range(self.N)])
243+
self.display(self.N,self.data,['lime' for _ in range(self.N)])
238244

239245
elif self.st['quick'] is True:
240246
self.quicksort(self.data,0,self.N-1)
241-
self.display(self.N,self.data,['green' for _ in range(self.N)])
247+
self.display(self.N,self.data,['lime' for _ in range(self.N)])
242248

243249
else:
244250
#show messege box

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /