Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

アルゴリズムに関するryouzoのブックマーク (17)

  • SSL/TLSについてまとめ2018 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに SSL/TLSについて改めて理解を深めたい思い、関連する技術についてまとめました。 記事はTLSに関すること主題として、HTTPS、暗号化、Apache、OpenSSL等について記載しています。 SSL/TLSの通信は色々なプロトコルや暗号化方式が組み合わされ補いあってできています。暗号化の仕組みはパズルのようで面白いです。一つ一つを読み取り理解が深まるごとで、SSL/TLSって当によくできると思いました。フレームワークの意味について考えさられます。 HTTPSの通信 HTTPSの通信はTCP/IPプロトコルスイートとして

    SSL/TLSについてまとめ2018 - Qiita
  • Data Structures and Algorithms (DSA) Tutorial

    Data Structures & Algorithms DSA - Home DSA - Overview DSA - Environment Setup DSA - Algorithms Basics DSA - Asymptotic Analysis Data Structures DSA - Data Structure Basics DSA - Data Structures and Types DSA - Array Data Structure Linked Lists DSA - Linked List Data Structure DSA - Doubly Linked List Data Structure DSA - Circular Linked List Data Structure Stack & Queue DSA - Stack Data Structure

    Data Structures and Algorithms (DSA) Tutorial
  • ITエンジニアなら知っておきたい、今更聞けないアルゴリズムの種類一覧 - paiza times

    Photo by Oferico 皆さんはアルゴリズムやデータ構造について勉強したことはありますか?そして、基的なアルゴリズムについて、どのようなものがあって、どのようなときに使うとよいかといったことを説明することができますか? 仕事をしていると、プログラミング言語等の勉強や業務に忙しくて、正直アルゴリズムどころではないという場合がほとんどでしょう。しかし、いつか勉強しようと思っていたけど、基的なアルゴリズムにどんなものがあるのかなんて今更聞けないな……ということもあるかと思います。 今回はそんな方に向けて、基的なアルゴリズムの一部の概要に加え、アルゴリズムの勉強に役立つサイト、書籍をご紹介したいと思います。 ■アルゴリズムを学ぶ意味 例えば、ソート等については、通常はすでにソート関数があるので、自分で作らなくても済む=アルゴリズムも勉強しなくていいと思ってしまうかもしれません。しか

    ITエンジニアなら知っておきたい、今更聞けないアルゴリズムの種類一覧 - paiza times
  • 暗号に使える乱数と使えない乱数

    まず重要なポイントとして、擬似乱数のシードとなる真の乱数 (質問の場合は円周率のほうではN, 漸化式の方ではM) は十分に広い空間からランダムに選ばれなくてはなりません。 どんな擬似乱数生成器を使っていたとしてもシードが高々1億程度では総当たりで(比較的)簡単にシードがみつかってしまい生成される乱数が再現できてしまいます。 円周率の先頭100万桁のどこかから選ぶなどは問題外です。 シードはRSA/DSAなどの鍵長に合わせて 1000 bit 程度 (10進数で300桁程度) は欲しいかと思います。 質問にある円周率を擬似乱数として使う方法ですが、円周率の N桁目からの数列がある長さ与えられた時に N 自体を逆算したり, 次の出力を推測する高速な (Nのビット数の多項式時間で実行可能な) アルゴリズムは知られていないかと思います。 そのため N が十分に大きければある時点までの出力が攻撃者に

    暗号に使える乱数と使えない乱数
  • https://qiita.com/kenokabe/items/821ce4020644372b648c

  • これはヒドイ「初中級エンジニアが【アルゴリズムを優しく学べる】本とサイト16選」 - カレーなる辛口Javaな加齢日記

    http://paiza.hatenablog.com/entry/20141014algorithm うーん,これはヒドイ.これ書いてる人は,おそらくプログラマーじゃない. 「アルゴリズムとデータ構造」の参考書/学習書ではなく読み物の比率が高い.ソフトウエアエンジニアプログラマーでない人が,なんちゃってアルゴリズムを囓るのにはこれでもいいけど,プログラマの勉強用じゃねーな. 今出てるアルゴリズムだと,だいたいこの辺だと思う. アルゴリズムイントロダクション 第3版 第1巻: 基礎・ソート・データ構造・数学 (世界標準MIT教科書) 作者: T.コルメン,R.リベスト,C.シュタイン,C.ライザーソン,浅野哲夫,岩野和生,梅尾博司,山下雅史,和田幸一出版社/メーカー: 近代科学社発売日: 2012/08/02メディア: 単行購入: 1人 クリック: 16回この商品を含むブログ (21

    これはヒドイ「初中級エンジニアが【アルゴリズムを優しく学べる】本とサイト16選」 - カレーなる辛口Javaな加齢日記
  • 初心者でもアルゴリズムの学習ができる入門本とサイト一覧 - paiza times

    Photo by VFS Digital Design 皆さんはアルゴリズムやデータ構造について知っているでしょうか。情報系の学部出身の人は学校の授業でやったかもしれません。一方で学校で情報系の勉強をせずにITエンジニアになったという方は、アルゴリズムやデータ構造について一度は「勉強したほうが良いんだろうな」と思いつつも、実際の業務であんまり必要なさそうだし、難しそうだし、DevOpsやオブジェクト指向やフレームワークについて学ぶので手一杯で未着手、という人も多いのではないでしょうか。 今回はそんな方に向けて、アルゴリズム、データ構造を学ぶ意義と、それらを学ぶときに役立つとサイトについてまとめました。 ■アルゴリズム、データ構造を学ぶ意味 アルゴリズムやデータ構造について語られるときに、非常に良く言われる事として「そんなものは実務に役立たたないので必要ない」という意見があります。当にア

    初心者でもアルゴリズムの学習ができる入門本とサイト一覧 - paiza times
  • 練習問題 - プログラミングスレまとめ in VIP

    これは何? † 練習問題(アルゴリズム編)もご覧ください。 練習問題を集めてみました。 言語は問いません。入力出力は特に問いません。 キー入力でもファイルでもソースにべた書きでもいいです。 答えは誰かが書いてくれます。それまではスレで聞いてください。 ↑ ループ練習 † Hello World![改行]を5回表示させてください。 print(或いはprintf,cout等)を5回コピーすれば当然可能ですが、 ループ構文(for,while等)を利用して、print等は1回の使用にとどめてみてください。 出力結果 Hello World! Hello World! Hello World! Hello World! Hello World! 解答例 Java版 C Python Haskell Scala Scheme 可能ならコマンドラインから入力を受け取って、n回表示するように改造してく

    ryouzo
    ryouzo 2014/09/29
    おもしろそう
  • もし先輩女子エンジニアが『アルゴリズム』を図解で教えてくれるとしたら - paiza times

    2014年7月30日より8月27日まで開催した、paizaオンラインハッカソン(略してPOH![ポー!])Lite「天才火消しエンジニア霧島 もしPMおじさんが『丸投げ』を覚えたら」ですが、どのような解法が有ったのでしょうか。 今回もPOH恒例の「解説図解」を、天才火消しエンジニア霧島が解説するとしたら、という体で書いてみたいと思います。(特に文体とか変えませんがw 最後に霧島壁紙DLが有るので是非最後までお読みください。) ■どのような高速化ステップがあるのか? 今回の問題ですが、実行時間に大きく影響する計算量別にみたアプローチでは、すべての組み合わせを出して、人数を満たして一番安い組み合わせを見つける全探索[計算量はO(2^N)]と、動的計画法[計算量はq = max(q_i) としてO(Nq) ](やり方によってはO(NM))による2種類があります。 また全探索を改良し、効率的な枝刈

    もし先輩女子エンジニアが『アルゴリズム』を図解で教えてくれるとしたら - paiza times
  • AWSユーザーは必ず覚えておきたいExponential Backoffアルゴリズムとは何か - yoshidashingo

    cloudpackエバンジェリストの吉田真吾(@yoshidashingo)です。 Exponential Backoff 直訳すると「指数関数的後退」つまり、指数関数的に処理のリトライ間隔を後退させるアルゴリズムのことです。 詳しくはWikipediaに記載があります。 Exponential backoff - Wikipedia語でブログに書かれている方もいらっしゃいます。 exponential backoffのメモ – Siguniang's Blog これを見ていると、どうやらこのアルゴリズムは古くから通信装置において、イーサネットフレームのデータ送信時にコリジョン(衝突)を検出したら一定時間待機して再送して、処理を完結させるためのアルゴリズムとして使われているようです。 通信機器の世界に限らず、アプリケーションの分野でも、大規模で予測不能な処理量を有限なリソースでさばく

    AWSユーザーは必ず覚えておきたいExponential Backoffアルゴリズムとは何か - yoshidashingo
  • ハノイの塔 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "ハノイの塔" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2017年7月) 8つの円盤のハノイの塔 ハノイの塔(ハノイのとう、英: Tower of Hanoi)は、パズルの一種。 バラモンの塔または ルーカスタワー(英: Lucas' Tower)[注 1]とも呼ばれる。 以下のルールに従ってすべての円盤を右端の杭に移動させられれば完成。 3の杭と、中央に穴の開いた大きさの異なる複数の円盤から構成される。 最初はすべての円盤が左端の杭に小さいものが上になるように順に積み重ねられている。 円盤を一回に一枚ずつどれかの杭に移動させる

    ハノイの塔 - Wikipedia
  • 食事する哲学者の問題 - Wikipedia

    事する哲学者の問題(しょくじするてつがくしゃのもんだい、Dining Philosophers Problem)とは、並列処理に関する問題を一般化した例である。古典的なマルチプロセスの同期(排他制御)問題であり、大学レベルの計算機科学課程にはほぼ確実に含まれている。 1965年、エドガー・ダイクストラは5台のコンピュータが5台のテープ装置に競合アクセスするという同期問題を提示した。間もなく、この問題はアントニー・ホーアによって「事する哲学者の問題」に変形して語られることとなった[1][2][3]。 5人の哲学者が事したり、考え事をしたりしている。彼らの前には、真ん中にスパゲッティの入った大きなボウルが置かれた丸い卓がある。その卓には5枚の皿が置かれ、皿と皿の間にフォークが1ずつ置かれている。(近年では、器を「フォーク」ではなく「箸」として紹介する例も見られる[4]。) 事す

    食事する哲学者の問題 - Wikipedia
  • プログラマのための文書推薦入門 (社内勉強会の発表資料) - y_uti のブログ

    勤務先の社内勉強会で、機械学習を用いた文書推薦*1に関する基的なことがらについて説明しました。その資料を公開します。 プログラマのための文書推薦入門 from y-uti 数学やコンピュータサイエンスを専門的に学んでいないエンジニアでも理解しやすいように、できるだけ数式を使わずに説明したつもりです。厳密性にはこだわっていないので、専門家からはあちこちツッコミを受ける内容かもしれません。 プログラマ向けということで、実際にコンピュータ上で動作を確認できるように、Wikipedia のデータを対象にして類似文書検索を行うスクリプトを作成しました。GitHub に置いてあります。 y-uti/document-recommendation · GitHub *1:推薦というより情報検索、類似文書検索という方が適切だったかもしれません。

    プログラマのための文書推薦入門 (社内勉強会の発表資料) - y_uti のブログ
  • アルゴリズムパズル

    大学で計算機科学を教える著者が、「パズルを解くことで、アルゴリズム的思考を鍛える」というコンセプトに基づいて、古今東西150の「アルゴリズム的」な数学パズルを収録。優れたアルゴリズム設計戦略と分析テクニックを通して、アルゴリズム的思考と柔軟な発想を育てます。また、近年では、入社試験にパズル的な難問を出す企業も増えており、その対策としても役立つ一冊です。 質問形式の序文 謝辞 パズル一覧 チュートリアルのパズル 編のパズル 墓碑銘パズル 第1章 チュートリアル 一般的なアルゴリズム設計戦略 魔方陣(Magic Square) nクイーン問題(The n-Queens Problem) 有名人の問題(Celebrity Problem) 数当てゲーム(Number Guessing)(別名20の扉(Twenty Questions)) トロミノ・パズル(Tromino Puzzle) アナグ

    アルゴリズムパズル
  • 実践・最強最速のアルゴリズム勉強会 第二回講義資料(ワークスアプリケーションズ & AtCoder)

    2. はじめに! • 講義では、ソースコードを扱います。 • 前面の資料だけでは見えづらいかもしれないので、 手元で閲覧できるようにしましょう。 • URLはこちらから – http://www.slideshare.net/chokudai/wap-atcoder2 – URLが打ちづらい場合は、Twitter: @chokudaiの最新発言 から飛べるようにしておきます。 • フォローもしてね!!! 2014/3/16 2 3. ©AtCoder Inc. All rights reserved. 3 目次 1. 勉強会の流れ 2. 競技プログラミングって? 3. シミュレーション問題 4. 全探索問題 5. 日のまとめ 2014/3/16 3

    実践・最強最速のアルゴリズム勉強会 第二回講義資料(ワークスアプリケーションズ & AtCoder)
  • 9月10日のアップルイベント、10倍広い会場になった理由は?

    9月10日のアップルイベント、10倍広い会場になった理由は?2015.09.07 18:10 福田ミホ 何か巨大なものがあるの? アップルの9月9日(日時間10日午前2時〜)の発表イベントが近づいてきました。この時期の発表イベントは恒例となっていますが、これまでと違うのはその場所です。今回の会場は、これまでよく使われてきた場所の10倍近い7,000人も収容できる巨大会場なんです。その理由についてFortuneが興味深い予想をしています。 イベントの会場とされているのは、サンフランシスコにある「Bill Graham Civic Auditorium」という多目的ホールです。これまで、ジャニス・ジョプリンやレッド・ホット・チリ・ペッパーズがライブをしたこともある場所です。 従来アップルがよく使ってきた会場の収容人数は800人弱とか、小さいところでは300人程度とかで、登壇者と聴衆の距離の近

    9月10日のアップルイベント、10倍広い会場になった理由は?
  • コンピュータを進化させてきた偉大なるアルゴリズムまとめ

    By Kai Schreiber IT技術の進化のスピードには目を見張るものがありますが、それを支えているのはアルゴリズムと呼ばれる処理方法(技術的アイデア)です。さまざまなアルゴリズムの中でも、コンピュータの進化に革命的な影響をもたらしたとされる偉大なアルゴリズムは以下の通りです。 Great Algorithms that Revolutionized Computing http://en.docsity.com/news/interesting-facts/great-algorithms-revolutionized-computing/ ◆ハフマン符号(圧縮アルゴリズム) Huffman coding(ハフマン符号)は、1951年にデービッド・ハフマン氏によって開発されたアルゴリズム。頻出頻度の大小によって対戦するトーナメントツリーを考えて、ブロックごとに0と1の符号をもたせる

    コンピュータを進化させてきた偉大なるアルゴリズムまとめ
  • 1