아와 아와 애니메이션에서 버블 정렬
17079 단어 파이썬matplotlib
그 이름의 기원은 "거품"입니다. 거품이 떠오르도록, 부드럽게 정렬됩니다. 따라서 거품으로 거품 정렬하는 애니메이션을 만들어 봅시다.
거품
import random
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from IPython.display import HTML
fig = plt.figure()
ims = []
for _ in range(30):
image = []
for _ in range(30):
image += plt.plot(random.randint(10, 100), random.randint(10, 100),
markersize=random.randint(10, 100), marker="o", c="white",
markeredgecolor="blue", alpha=0.5)
ims.append(image)
# 動画に変換する
ani = animation.ArtistAnimation(fig, ims, interval=100, repeat_delay=1000)
ani.save("bubble.gif", writer='pillow') # gif ファイルとして保存
HTML(ani.to_jshtml()) # HTML上で表示
이봐, 거품 같은거야? 무엇을 이미지 했습니까? 탄산 음료? 맥주?
※ 애니메이션이 종료되어 정지해 버렸을 경우, 이미지를 클릭하면 다시 한번 움직일 수 있다고 생각합니다.
거품 정렬
import random
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from IPython.display import HTML
def bubble_sort(data, x=0):
movie = [] # 動画=静止画の集合を格納するリスト
image = []
for i in range(len(data)):
im1 = plt.plot(x, i, markersize=data[i], marker="o", c="white",
markeredgecolor="blue", alpha=0.5)
image += im1
movie.append(image) # 静止画を1つ追加する
for index in range(len(data)-1, 0, -1):
for low in range(index):
image = []
for i in range(len(data)):
if i == low or i == low + 1:
color = "skyblue"
else:
color = "white"
im1 = plt.plot(x, i, markersize=data[i], marker="o", c=color,
markeredgecolor="blue", alpha=0.5)
im2 = plt.plot(x, i, markersize=20, marker="$" + str(data[i]) + "$",
c="blue", alpha=0.5)
image += im2
image += im1
movie.append(image)
if data[low] > data[low+1]:
tmp = data[low+1]
data[low+1] = data[low]
data[low] = tmp
image = []
for i in range(len(data)):
if i == low or i == low + 1:
color="cyan"
else:
color="white"
im1 = plt.plot(x, i, markersize=data[i], marker="o", c=color, markeredgecolor="blue", alpha=0.5)
im2 = plt.plot(x, i, markersize=20, marker="$" + str(data[i]) + "$", c="blue", alpha=0.5)
image += im2
image += im1
movie.append(image)
return movie
data = [(i + 1) * 10 for i in range(10)]
random.shuffle(data)
fig = plt.figure(figsize=(8, 8))
movie1 = bubble_sort(data)
ani = animation.ArtistAnimation(fig, movie1, interval=1000, repeat_delay=1000)
ani.save("bubble_sort.gif", writer='pillow') # gif ファイルとして保存
HTML(ani.to_jshtml()) # HTML上で表示
이것은 아무래도 거품 정렬입니다. 감사합니다.
※ 애니메이션이 종료되어 정지해 버렸을 경우, 이미지를 클릭하면 다시 한번 움직일 수 있다고 생각합니다.
마지막으로
그래, 상당히 노력해 만들었습니다. 정렬에만.
Reference
이 문제에 관하여(아와 아와 애니메이션에서 버블 정렬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/maskot1977/items/d467fd5afaef93fbcaa0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import random
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from IPython.display import HTML
fig = plt.figure()
ims = []
for _ in range(30):
image = []
for _ in range(30):
image += plt.plot(random.randint(10, 100), random.randint(10, 100),
markersize=random.randint(10, 100), marker="o", c="white",
markeredgecolor="blue", alpha=0.5)
ims.append(image)
# 動画に変換する
ani = animation.ArtistAnimation(fig, ims, interval=100, repeat_delay=1000)
ani.save("bubble.gif", writer='pillow') # gif ファイルとして保存
HTML(ani.to_jshtml()) # HTML上で表示
import random
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from IPython.display import HTML
def bubble_sort(data, x=0):
movie = [] # 動画=静止画の集合を格納するリスト
image = []
for i in range(len(data)):
im1 = plt.plot(x, i, markersize=data[i], marker="o", c="white",
markeredgecolor="blue", alpha=0.5)
image += im1
movie.append(image) # 静止画を1つ追加する
for index in range(len(data)-1, 0, -1):
for low in range(index):
image = []
for i in range(len(data)):
if i == low or i == low + 1:
color = "skyblue"
else:
color = "white"
im1 = plt.plot(x, i, markersize=data[i], marker="o", c=color,
markeredgecolor="blue", alpha=0.5)
im2 = plt.plot(x, i, markersize=20, marker="$" + str(data[i]) + "$",
c="blue", alpha=0.5)
image += im2
image += im1
movie.append(image)
if data[low] > data[low+1]:
tmp = data[low+1]
data[low+1] = data[low]
data[low] = tmp
image = []
for i in range(len(data)):
if i == low or i == low + 1:
color="cyan"
else:
color="white"
im1 = plt.plot(x, i, markersize=data[i], marker="o", c=color, markeredgecolor="blue", alpha=0.5)
im2 = plt.plot(x, i, markersize=20, marker="$" + str(data[i]) + "$", c="blue", alpha=0.5)
image += im2
image += im1
movie.append(image)
return movie
data = [(i + 1) * 10 for i in range(10)]
random.shuffle(data)
fig = plt.figure(figsize=(8, 8))
movie1 = bubble_sort(data)
ani = animation.ArtistAnimation(fig, movie1, interval=1000, repeat_delay=1000)
ani.save("bubble_sort.gif", writer='pillow') # gif ファイルとして保存
HTML(ani.to_jshtml()) # HTML上で表示
이것은 아무래도 거품 정렬입니다. 감사합니다.
※ 애니메이션이 종료되어 정지해 버렸을 경우, 이미지를 클릭하면 다시 한번 움직일 수 있다고 생각합니다.
마지막으로
그래, 상당히 노력해 만들었습니다. 정렬에만.
Reference
이 문제에 관하여(아와 아와 애니메이션에서 버블 정렬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/maskot1977/items/d467fd5afaef93fbcaa0
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(아와 아와 애니메이션에서 버블 정렬), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/maskot1977/items/d467fd5afaef93fbcaa0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)