サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
hrk623.hatenablog.com
今回は選択アルゴリズムの紹介です。 これは、配列からk番目に小さい数を線形時間で 探しだすクイックセレクト(Quick Select)という クイックソートの派生アルゴリズムです。 問題 ソートされていないa1からanまでの数字がn個あり、 その中からk番目に小さい数字を探せ。 例: サイズが9の配列、[2, 5, 3, 7, 1, 8, 6, 0, 4]において、 3番目に小さい数は2です。 解1:ソートする。 ソートしてk番目の数字を取る方法です。 ソートにθ(nlogn)と見つけるのにθ(n)なので、T(n) ∈ θ(nlogn) 解2:選択ソート的解 リストから一番小さい数字を見つけ、取り出します。 これをk回繰り返します。 リストから最小値を見つけるのにO(n)なので T(n) ∈ O(kn)です。 解3:ヒープソートの利用 ヒープソートの構成にO(n)、取り出しにO(logn)
以前報告したとおり、株式会社はてなの『はてなエンジニアインターン2011』に参加してきました。はてなインターンは8月の中旬から9月の初めまでの約3週間のプログラムでした。その中で僕自身多くの事を経験し、また学ぶ事が出来ました。これは、いわゆる「お決まりの言葉」ではなく、本当に実感している事です。 今回はそのインターンのレポートを書かせて頂くのですが、僕はもともとはてなの主たるサービスであるWebアプリケーションについての深い知識と経験を有していませんでした。そんな僕が技術的な部分の話を詳しくしてもつまらないので、代わりにインターンを通して技術面以外で深く印象に残った、でもあまりに表に出ていない様な事を幾つか綴ってみたいと思います。 はてな社員は弱音を吐かない インターンが始まって僕が特に気になったのが、オフィスのどこからも「めんどくさい」「やりたくない」「そんなの無理」などの後ろ向きな言葉
はい、未だに一人暮らしが続いているHRKです。 早いものですでに 2017年も終わりそうです。 日用品・消耗品 消臭+ エリエール 消臭+(プラス)? トイレットティシュー ダブル(37.5m) コンパクト8ロール(1.5倍巻き)? フレッシュクリアの香り パルプ100% 出版社/メーカー: 大王製紙 メディア: ヘルスケア&ケア用品 この商品を含むブログを見る トイレットペーパー。 毎回変えてたのですが、ここ何回かはリピートしてます。 最初は「匂いつきなんて・・」と思っていましたが、友人が遊びに来たときとかはいい意味で驚かれます。 自分の匂いも気にならなくなるので買い続けています。 あせワキパット デオドラント。 匂いの話が続きますが、男性用ですが脇汗の匂いやシミはこれが一番信頼できました。 脇に塗るのは汗で落ちるものが多く、落ちないものは臭いが抑えられない。。 肌に直接貼るタイプは取る
今年に入って、大学の友人達からよく恋愛の相談をされます。 相談と言っても僕は特にアドバイスなんてできないのですが、 何故かいつも向こうから相談がやってきます。 遠距離恋愛と喧嘩 相談の内容は、それぞれの理由から起こった喧嘩です。 僕の周りの人達の恋愛はいわゆる「遠距離恋愛」になります。 カナダと日本なので、喧嘩をしてもすぐに会って話せません。 それが歯がゆくて、不安を煽り、誰かに話したくなるようです。 今回はそんなお話から僕が思った事を、 主に男性視点で文章にまとめてみたいと思います。 あ、全部持論です。 (ちなみに、相談主さんたちには許可を貰っていないので、 この記事の事は内密に・・・え、じゃあ書くな?HAHAHA) 喧嘩をしない努力 そもそも論になりますが、苦しんで誰かに話したくなるくらいなら、 初めから喧嘩をしなければいいわけです。 安定は安心です。 彼らの喧嘩はほとんどが口喧嘩で、
世界高校生プログラミング大会IOIも開催されるというので、今回はアルゴリズム解析ネタです。と言っても、昔のノートを引っ張り出してきただけっゲフンゲフン・・・と、とりわけ、再帰プログラムの実行時間の計算に使われる分類定理についてです。 その前に アルゴリズム解析の際、表記には実行時間の成長を表す漸近記法を使います。よく知られているのは上界を表すO記法ですが、今回は上下界を表すΘ記法を使いますので、そちらも既に習得されている事を前提とします。(知らなくても特に問題はないかも?) ではでは、 再帰プログラムの実行時間は、大抵↑のような形になるので単純な計算で漸近実行時間は出てきません。 そこで 漸近実行時間の計算には、次のような3つの計算方法があります。 置き換え法(Substitution Method) 再帰木法(Recursion Tree Method) 分類法(Master The
プログラムを読んでいると、よく匿名クラスや匿名関数が出てきますよね。でも、自分で書くときは使いどころに困ったりもします。そんな事を授業で取り上げられていて、面白かったので紹介しておきます。 例としてJava.awt のアクションリスナの登録の仕方をあげています。Java.swingでボタンを作成すると、リスナを登録する必要がありますよね。リスナはボタンが押された時の挙動を定義するメソッドを持っているので、そのメソッドをオーバーライドする事によってボタンが押された時の挙動を変更します。 3種類のリスナ登録 ここでは3つのリスナの登録の仕方を紹介します。 匿名クラスとして登録 インナークラスを作って登録 トップレベルクラスをリスナとして登録 これをコードで書いたのが下です。 import java.awt.FlowLayout; import java.awt.event.ActionEven
このページを最初にブックマークしてみませんか?
『LifeTimeException@hrk623』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く