AT's Blog

プログラミング、回路設計、ギター、音楽、読書とか

JavaScriptはじめました

目次

JavaScriptはじめました

春になってなんだか新しいことが始めたくなったので、とりあえずJavaScriptに手を出し始めました。 上記入門書を買って勉強し始めています。

関数型言語オブジェクト指向言語をちょっとかじったことのある人なら、スラスラ読み進められると思います。 私なんかでも1時間程度で半分以上読了しました。

見た目にカッコイイことをしようとするとHTML5とCSS3の知識も必要になりそうなので、 Web技術方面に手を広げていこうかと思います(自分はどこに向かっているのだろう…)。

クロスバイクはじめました

クロスバイク買っちゃいました。

自宅から会社まで片道3.5km程度の距離を毎日自転車通勤しています。 学生時代から乗っているママチャリがボロボロになってきたので、どうせ自転車新調するならカッコイイ方がいいじゃん、 ということでクロスバイクに手を出した次第。

これで社畜生活が捗る(^o^)

在庫切れにつきブツが届くのは来月なので、今から楽しみです。

Python】【アルゴリズム】単純選択法

  • アルゴリズムを、はじめよう」を読んで、本日は単純選択法をPython実装しました。
  • 0から4までのシャッフルされた整数を重複なしで要素に持つリストを、昇順にソートします。
  • 単純選択法の名前どおり、単純にリストの頭から最小値を探索して、リストの先頭と入れ替えていくアルゴリズムです。
  • あくまで勉強目的での実装なので、実際にはlist.sort()を使用するのが正解かと思います。
  • 2値交換は下記サイト様を参考にしました。

www.yukun.info

import random

ls = list(range(0,5))
random.shuffle(ls)
print(ls)

for i in range(0, len(ls)-1):
    indexMin = i
    
    for k in range(i, len(ls)-1):
        if ls[indexMin] > ls[k+1]:
            indexMin = k+1
        print("k:",k)
        print("indexMin:",indexMin)
        
    ls[i], ls[indexMin] = ls[indexMin], ls[i]
    print(i, ls)
    
print(ls)
>python3 selection_sort.py 
[2, 4, 3, 0, 1]
k: 0
indexMin: 0
k: 1
indexMin: 0
k: 2
indexMin: 3
k: 3
indexMin: 3
0 [0, 4, 3, 2, 1]
k: 1
indexMin: 2
k: 2
indexMin: 3
k: 3
indexMin: 4
1 [0, 1, 3, 2, 4]
k: 2
indexMin: 3
k: 3
indexMin: 3
2 [0, 1, 2, 3, 4]
k: 3
indexMin: 3
3 [0, 1, 2, 3, 4]
[0, 1, 2, 3, 4]