プログラマーの徒然ブログ

プログラミングに関することをはじめ、興味がでたものを雑多に!

Programming

【Python】ソートの復讐1:バブルソート

ソートの復習用の記事です。 最初なので実装も簡単なバブルソートについて書きます。 ひとまず結論 最悪・平均計算量: O(n2) Pythonでの実装例 def bubble_sort(input_arr): len_arr = len(input_arr) update_flag = True while update_flag: update_flag =…

【Python】総和計算は、自作が速い!?

基本的な処理でもある総和計算、Pythonだと組み込み関数やNumPyの関数などいろいろ関数で求めることができます。 結局、どれが速いのか?どれを使えばいいのか?知らなかったので、 外出自粛期間の暇つぶしに、比較してみました。 総和計算とは 複数の入力値…

【Counting 1-bits】高速にビット列の1を数える!

外出自粛中に、急に気になった"ビット列の1を数える"アルゴリズムの忘却録! ビットカウント:ビット列の1を数えるとは? population countなんかともいわれる処理で、やりたいことは簡単! 整数を2進数としてみたときに、1の出現回数を数えること! (本当…

【Python】リストの初期化は[None]*n

Pythonでリストは頻繁に使うと思います。 固定長のリストの初期化は、どの方法が速いのか気になったので検証してみました。 ひとまず結論 list1 = [None] * N この書き方が速い!(N:リスト長) 速度検証を行う記法 検証対象は以下の3通り パターン1 list…

【Python】イテレータを知ってみる

Pythonにあるイテレータ(iterator)について書こうと思います。 存在は知っていましたが、使ったことがなかったのでよく知らない機能でした。 外出自粛中なので、これを機に使いこなせるようになろうと調べました。 イテレータ 反復して要素を取り出すこと…

【caps2ctrl】CapsLockキーは邪魔!Ctrlキーに変える!(windows10)

Caps LockキーをCtrlキーに変更する方法を紹介します。変更は簡単で、以下の3ステップで、問題なければ数分で終わります。

【vim】これだけは覚えとけ的なコマンド

vimマスターになれば、音楽を奏でるかのようにコーディングができるらしいですが、未だにコマンドを覚えられない私には程遠い存在です。これから少しずつコマンドを覚えていこうと思います。まずは、最低限必要だと思ったコマンドをまとめます。

【concurrent】サクッと並列処理でPython高速化

Pythonは使いやすいが、処理が遅いということが往々にしてあります。 前回は、numbaを使った高速化方法を紹介しました。 t49m1.hatenablog.com しかし、numbaも万能ではありません。 適用が難しい場面もあります。 そんな時のために、並列処理という別のアプ…

【numba】サクッとPythonを高速化

www.python.jp Deep Learningも流行ってきて、Pythonでプログラムを作成する人も多いんじゃないでしょうか? Pythonは簡単に書けるので、私もちょっとしたデータ整形など色んな所で使っています。 そんなPythonですが、時々気になってしまうのが処理の遅さで…