【Python】【アルゴリズム】Django、単純交換法(バブルソート)
Django
せっかくPythonとWeb系技術をかじっているのだからと、Djangoに手を出し始めました。
いきなりアプリを作ってみよう!みたいなサイトを見ても仕組みがさっぱり分からないので、 とりあえずシステムの全体像を把握すべく、公式サイトのチュートリアルをガリガリ進めています。
Django ドキュメント | Django documentation | Django
Model、View、URLconfの関係がぼんやりと頭の中でつながってきました。
単純交換法(バブルソート)
- 作者: 伊藤静香
- 出版社/メーカー: インプレス
- 発売日: 2016/03/16
- メディア: Kindle版
- この商品を含むブログ (1件) を見る
- 「アルゴリズムを、はじめよう」第8章の単純交換法(バブルソート)をPython3で実装してみました。
- 0~4までの整数を要素にもつリストを昇順にソートします。
- 要素が泡のように浮かび上がってくることからバブルソートと呼ぶそうです。
import random ls = list(range(0,5)) random.shuffle(ls) print("start:",ls) for k in range(0, len(ls)-1): print("k :", k) for i in range(len(ls)-1, k, -1): if ls[i-1] > ls[i]: ls[i], ls[i-1] = ls[i-1], ls[i] print("i :",i,ls) print("end:",ls)
>python3 bubble_sort.py start: [1, 0, 4, 3, 2] k : 0 i : 4 [1, 0, 4, 2, 3] i : 3 [1, 0, 2, 4, 3] i : 2 [1, 0, 2, 4, 3] i : 1 [0, 1, 2, 4, 3] k : 1 i : 4 [0, 1, 2, 3, 4] i : 3 [0, 1, 2, 3, 4] i : 2 [0, 1, 2, 3, 4] k : 2 i : 4 [0, 1, 2, 3, 4] i : 3 [0, 1, 2, 3, 4] k : 3 i : 4 [0, 1, 2, 3, 4] end: [0, 1, 2, 3, 4]