検索結果

  • アルゴリズム的思考力が身につく! プログラミングコンテストAtCoder入門
    -
    AtCoder株式会社は、日本発のプログラミングコンテスト運営会社として2012年6月20日に設立され、年々活動の幅を拡げてきました。 AtCoderの開催するコンテストは、「与えられた問題を解決するアルゴリズムを考え、それを正しく実装する」ことを競技化したものです。 本書は「AtCoderでアルゴリズムを学びたい」「AtCoderのコンテストに参加したい」という方に向けたAtCoderの入門書です。 AtCoderのコンテストで出題された過去問を用いて、問題の解き方を体系的に解説しました。一つひとつの問題を解説する際には、「なぜそのように考えるのか」が明快になるように心がけました。 筆者は、プログラマのための技術情報共有サービスサイトQiitaに、次のタイトルの記事を投稿しています(2018年3月)。 「AtCoderに登録したら次にやること~これだけ解けば十分闘える!過去問精選10問~」 この記事は、AtCoderの過去問10問を実際に解くことで、読者がAtCoderへスムーズに入門できるように試みたものです。 本書はこの記事にいくつかのトピックを追加して、さらにC++とPython3の両言語で学べるようにして、できあがりました。 AtCoderのコンテストは、参加者の人生を大きく変える力があります。 コンテストの問題を解いていくことで、アルゴリズム的思考力が身につきます。コンテストでよい成績を修めてレーティングを上げると、参加者の市場価値も高まります。また、コンテストに参加することで他の参加者とのつながりを得て、交流を深めることもできます。そしてなにより、AtCoderのコンテストは、ゲームのように楽しいものです。 ~「まえがき」より~
  • アルゴリズム実技検定 公式テキスト[上級]~[エキスパート]編
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 世界最高峰の競技プログラミングコンテストサイトのAtCoderが主催するアルゴリズム実技検定試験「PAST」の公式対策本! ■アルゴリズム実技検定(PAST)とは AtCoder株式会社が主催する検定試験で、IT人材に求められるプログラミングスキルを可視化することを目的としています。プログラミングの基礎知識から、各種アルゴリズムの解説、数学的な問題解決方法まで、試験対策を行うことでこれからのソフトウェアエンジニアに要求される知識を見につけることができます。 ■PASTの上級~エキスパート認定まで対応 さまざまなアプローチが考えられるアルゴリズム実技検定の問題において、より適切なアルゴリズムを選択し、高速なプログラムを作成できることを目指します。 複数のアルゴリズムを用いた解法を身につけ「上級」「エキスパート」合格の点数を勝ち取ろう! [監修] 高橋 直大(たかはし なおひろ):1988年生まれ。慶應義塾大学大学院政策メディア研究科修士課程修了。現在、AtCoder株式会社代表取締役社長。Microsoft主催のImagine Cupで世界3位、TopCoder Openで世界2位、2022年にはGoogle Hash Codeで優勝など、複数の世界大会で上位入賞を経験し、15年以上プログラミングコンテストに参加し続けている。 [著者] 大槻 兼資(おおつき けんすけ):1988年生まれ。2014年東京大学大学院情報理工学系研究科修士課程修了。修士(情報理工学)。現在、株式会社 NTTデータ数理システム顧問、モノグサ株式会社コンテンツアーキテクト。数学や情報科学の諸分野の啓蒙活動に従事。著書に『問題解決力を鍛える!アルゴリズムとデータ構造』講談社 (2020) がある。趣味は競技プログラミング、虫食算作り、国内旅行など。 杉江 祐哉(すぎえ ゆうや):20歳のときに競技プログラミングに出会い、以降tsutajというユーザー名でAtCoder等のコンテストに参加。北海道大学競技プログラミングサークル所属時、アルゴリズムやデータ構造に関する勉強会資料の公開やオリジナル問題の出題・プログラミング合宿の開催など精力的に活動した。現在はモノグサ株式会社でソフトウェアエンジニアとして従事する一方、競技プログラミングの作問支援ツールの開発も行っている。 中村 謙弘(なかむら けんこう):ニートの時に競技プログラミングに出会い、AtCoderでプログラミングを学ぶ。ソフトウェアエンジニアとして国内外の企業に勤務する傍ら、kenkooooというユーザー名でAtCoder等のコンテストに参加している。好きなプログラミング言語はRust。
  • アルゴリズム実技検定 公式テキスト[エントリー~中級編]
    -
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 ■アルゴリズム実技検定(PAST)とは  アルゴリズム実技検定(PAST)とは、IT人材のプログラミングスキルを可視化することを目的としたAtCoder株式会社が主催する検定試験です。 ■アルゴリズム実技検定の中級認定まで対応  本書は、「エントリー」「初級」「中級」の出題範囲を網羅的に解説しています。  プログラミングの基礎知識から、各種アルゴリズムの解説、数学的な問題解決方法まで、アルゴリズム実技検定だけでなく、これからのソフトウェアエンジニアに要求される知識を丁寧に盛り込みました。  本書を通じて学習することで、「中級」に求められる「様々なアプローチがある課題において、適切なアルゴリズムを選択し、高速なプログラムを作成」できることを目指しましょう。 ■本書の特徴 □特徴1:はじめての挑戦でもこの1冊で準備できます!  はじめてのプログラミング、はじめての検定試験でも安心して挑戦できます。 ・問題の解き方から回答方法まで丁寧に解説 ・中級範囲に出題されるアルゴリズム(問題解決方法)も細かく図解 ・Pythonの特徴から基本文法、標準入出力も例を交えて丁寧に説明 □特徴2:実際の問題を解きながら学べます!  アルゴリズム実技検定で求められる知識を問題に取り組みながら得られます。 ・はじめての挑戦でもつまずかないように、概念図を豊富に掲載 ・はじめてではわかりづらい、問題文の読み解き方も丁寧に解説 ・過去にAtCoderやアルゴリズム実技検定で出題された問題を抜粋して解説 □特徴3:プログラマーに求められる知識も身につきます!  問題を解決するだけではなく、高速なプログラムの作成方法も学習できます。 ・課題に合わせて、適切なアルゴリズムの選択方法を解説 ・複数のアプローチがありえる問題では回答パターンを紹介 ・計算量を考えてプログラムを書き換える方法も丁寧に説明 ■本書の構成  第1章 アルゴリズム実技検定の挑戦にあたって  第2章 問題の解き方  第3章 アルゴリズムとコーディング  第4章 Pythonを使ったプログラミング[エントリー編]  第5章 基礎的なアルゴリズム[初級編]  第6章 応用的なアルゴリズム[中級編]  第7章 さらなる得点を狙うために
  • 実践Rustプログラミング入門
    5.0
    ※この商品はタブレットなど大きいディスプレイを備えた端末で読むことに適しています。また、文字だけを拡大することや、文字列のハイライト、検索、辞書の参照、引用などの機能が使用できません。 Rustは、C/C++の代わりとなる最新の爆速言語として注目されています。「とにかく実行速度が速い」「モダンな言語機能が一通り入っている」「OSからWebアプリケーションまで幅広く実装できる」「ツール群がとても充実している」「安全性が強力に担保されている」など、数多くの魅力があります。本書は、JavaやPythonなど他の言語に習熟しているエンジニアを対象に、Rustの独特な仕様と開発ノウハウをわかりやすく解説した入門書です。
  • パズルで鍛えるアルゴリズム力
    3.0
    ※PDF版をご希望の方は Gihyo Digital Publishing (https://gihyo.jp/dp/ebook/2022/978-4-297-12680-3)も合わせてご覧ください。 さまざまな問題を解決するためには,適切なアルゴリズムを判断したり,ときには自分で生み出したりできる力が必要です。そして,自在に使いこなせるようになるためには,知識をためるだけではなく実践してみることも大切です。 本書では,「テンパズル」「数独」「4×4オセロ」といったさまざまなパズルのソルバーを実装することで,楽しく効率的にアルゴリズムの設計力が磨けます。各アルゴリズムの概要は,図解でしっかり解説。数学的解法といった発展的な内容も盛り込みました。競技プログラミングに挑戦したい方の第一歩としてもお勧めの1冊です。

    試し読み

    フォロー
  • 問題解決力を鍛える!アルゴリズムとデータ構造
    4.4
    ★この本を買わずして何を買う!!★ 競技プログラミング経験が豊富な著者が、「アルゴリズムを自分の道具としたい」という読者に向けて執筆。入門書を標榜しながら、AtCoderの例題、C++のコードが充実。入門書であり実践書でもある、生涯役立つテキストを目指した。 【推薦の言葉】 プログラムが「書ける」ことと、効率の良い結果を得ることには大分ギャップがある。本書は、どのようにすれば効率のよい結果が得られるか? すなわちどのようなアルゴリズムを採用すればよいか? という点に対して、幅広くかつ明快に解説している。 また本書は、アルゴリズム初心者に対して、アルゴリズムへの興味を惹かれるように記述されている。アルゴリズム上級者への初めの一歩には最適であろう。 ――河原林健一(国立情報学研究所副所長) 【全体を通して、アルゴリズムの設計技法を重視した構成】 まず、1、2章でアルゴリズムと計算量について概観します。そして、3~7章が、早くも本書のメインパートといえる部分であり、「アルゴリズムの設計技法」について詳しく解説します。これらの設計技法に関する話題は、多くの書籍では、最後の方で簡単に説明しています。しかし本書は、現実世界の問題を解決するための実践的なアルゴリズム設計技法の鍛錬を目指しています。そこで、アルゴリズム設計技法について前半で詳しく解説する構成としました。そして、これらの設計技法が後半の章でも随所に使われていくことを示していきます。 その後、8~11章では、設計したアルゴリズムを効果的に実現するうえで重要となるデータ構造を解説します。データ構造について学ぶことで、アルゴリズムの計算量を改善したり、また、C++やPythonなどで提供されている標準ライブラリの仕組みを理解して、それらを有効に活用したりすることができるようになります。 そしていったん、12章でソートアルゴリズムについての話題を挟んだ後に、13~16章でグラフアルゴリズムについて解説します。グラフは、非常に強力な数理科学的ツールです。多くの問題は、グラフに関する問題として定式化することで、見通しよく扱うことができるようになります。また、グラフアルゴリズムを設計するとき、3~7章で学ぶ設計技法や、8~11章で学ぶデータ構造が随所で活躍します。 最後に、17章で PとNPに関する話題を解説し、世の中には「効率的に解くアルゴリズムを設計することができそうにない難問」が多数あることを見ます。18章で、これらの難問に取り組むための方法論をまとめます。ここでも、動的計画法 (5章) や貪欲法 (7章) といった設計技法が活躍します。

最近チェックした本