【2025年】「データ構造」のおすすめ 本 157選!人気ランキング
- プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~
- なっとく!アルゴリズム: 興味はあるけど考えることが苦手なあなたに
- アルゴリズムを、はじめよう
- アルゴリズム図鑑 増補改訂版 絵で見てわかる33のアルゴリズム
- データ構造とアルゴリズム
- 問題解決力を鍛える!アルゴリズムとデータ構造 (KS情報科学専門書)
- ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道
- 競技プログラミングの鉄則 ~アルゴリズム力と思考力を高める77の技術~ (Compass Booksシリーズ)
- 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ
- Pythonで学ぶアルゴリズムの教科書 一生モノの知識と技術を身につける
本書は、Linuxプログラミングの入門書であり、Linuxの仕組みを理解し、プログラムを作成するための基礎を学ぶことを目的としています。内容は、Linuxの基本概念から始まり、システムコールやライブラリ関数を用いた具体的なコマンドの作成、さらにはネットワークプログラミングに至るまで幅広くカバーしています。著者は、読者がLinuxの世界を理解し、プログラミング技術を習得できるよう導いています。
本書は競技プログラミング(競プロ)に必要なアルゴリズムやデータ構造、考察テクニックを詳しく解説し、150問以上の演習問題を通じて知識を定着させることを目的としています。77個のテクニックを網羅し、320点以上の図で理解を助ける内容で、全問題は自動採点システムに対応しています。著者は国際情報オリンピックで金メダルを三度獲得した実績を持つ米田優峻氏です。
『達人に学ぶSQL徹底指南書』の第2版は、SQLを扱うエンジニア必携の書で、10年ぶりの改訂を経て、最新のSQL機能や実践的なコーディング事例を多数紹介しています。ウィンドウ関数やCASE式、外部結合などの重要なトピックを詳しく解説し、標準SQLに基づいて多様なデータベースに対応しています。また、リレーショナルデータベースの歴史や原理についても触れています。SQLを深く理解したいエンジニアやプログラマにおすすめの一冊です。
『新版暗号技術入門』の改訂版は、2008年の刊行以来セキュリティ関連で人気を保ち続けている書籍です。暗号技術の基本を図解と易しい文章で解説し、対称暗号や公開鍵暗号、デジタル署名などを取り上げています。第3版では、現代の暗号技術に関する最新情報や、SHA-3、SSL/TLSへの攻撃、ビットコインとの関係などが加筆されています。全ての人にとって必読の内容で、暗号の歴史から応用技術まで幅広くカバーしています。
『プログラムはなぜ動くのか』の改訂第3版は、プログラムの動作原理をわかりやすく解説し、基礎知識を身につけることを目的としています。内容は新しい製品やツールに更新され、初心者でも理解しやすいように加筆されています。特に、C言語と新たにPythonを用いた機械学習に関する章が追加されており、プログラミングの本質を探求することができます。全体を通して、プログラムの仕組みや環境について詳しく説明されています。
この書籍は、データベース設計やアプリケーション開発におけるアンチパターンを紹介し、失敗を避けるための改善策を提案しています。内容はデータベース論理設計、物理設計、クエリ、アプリケーション開発の4つのカテゴリに分かれており、複数の値を持つ属性や再帰的なツリー構造、小数値の丸め、SQLインジェクションなどの実践的な問題を扱っています。著者はソフトウェアエンジニアやデータモデリングの専門家で構成されています。
この文章は、書籍の目次と著者情報を紹介しています。書籍は三部構成で、第一部ではアルゴリズムやプログラムの構造について、第二部ではパフォーマンスやアルゴリズムデザインのテクニックについて、第三部では具体的な問題解決の作品を扱っています。著者の小林健一郎は東京大学で物理学を学び、情報科学を専門とする教授です。
本書は、データサイエンスにおけるコンペティション、特にKaggleに焦点を当て、実践的なデータ分析手法やテクニックを紹介しています。分析コンペに参加することで得られるスキルは、実務でも役立つため、特徴量の作成やモデルの評価、チューニングなどの具体的な内容が含まれています。著者たちは、データサイエンスの専門家であり、実績を持つKaggleの競技者です。この本は、コンペに挑戦したい人や実務でのモデル精度向上を目指す人にとって有益な情報源となるでしょう。
データ分析コンペKaggleに挑戦するならこれをまず読んでおけば大丈夫!Kaggleに参加しないにしてもデータ分析の本質やテクニックがギュッと詰まっているので実務に活かせる。高度な内容も登場するが分かりやすく解説してくれるので初心者でも読みやすい。それでいてベテランの人も多くの学びがある書籍。著者はKaggleの最上位グランドマスターの方々であり説得力がある。過去のコンペの事例も取り上げてくれるのでそんなアプローチあったのかぁと学びが深い。文句なしの星5つ!
この文章は、エリック・エヴァンスの著書に関する目次と著者情報を紹介しています。目次は、ドメインモデルの機能、モデル駆動設計の要素、リファクタリングの深い洞察、戦略的設計の4部構成で、各部での主要なテーマが列挙されています。著者は、ビジネスとソフトウェア構築に関する専門家や技術コンサルタントであり、各自の経歴や専門分野も述べられています。
本書『マスタリングTCP/IP 入門編 第6版』は、TCP/IPに関する解説書の決定版であり、時代の変化に対応した内容を加えて刷新されています。豊富な図版や脚注を用いたわかりやすい解説により、TCP/IPの基本や関連技術を学ぶことができます。目次にはネットワーク基礎、TCP/IPの基礎、ルーティングプロトコル、アプリケーションプロトコル、セキュリティなどが含まれています。著者はネットワンシステムズや大学の教授など、専門家たちです。
この書籍は、JavaScriptを学ぶ初心者や再挑戦する人向けに、実践的なサンプルを通じて基礎力を身につける内容です。楽しいサンプルを提供し、つまずきやすいポイントを丁寧に解説しており、挫折を防ぐ工夫がされています。第2版では新しいECMA Script規格に対応し、全体の情報がアップデートされ、実践的なテクニックが学べるように内容が刷新されています。Web業界を目指す人やフロントエンドエンジニアを目指す人におすすめです。
本書『達人プログラマー 20周年記念版』は、ソフトウェア開発者向けに、効率的で生産的なプログラマーになるための実践的アプローチを提供します。著者はアジャイルソフトウェア開発の先駆者であるAndrew HuntとDavid Thomasで、経験を積みながらソフトウェア開発の理解を深める方法を解説しています。初心者からベテランまで幅広い読者に役立つ内容で、20年間の集大成として位置付けられています。
この書籍は、システム保守における複雑なコードの分析手法や対処方法を解説しています。具体的には、コードの理解、テスト、リファクタリング、機能追加のためのテクニックを紹介。内容は、ソフトウェアの変更メカニズムや、変更作業における課題、依存関係の排除手法に分かれています。著者は、テスト駆動開発やオブジェクト指向設計に関する専門家たちです。
本書『リファクタリング』第2版は、ソフトウェアの内部構造を改善しつつ外部の振る舞いを保つ方法を解説するガイドブックです。リファクタリングの必要性や改善点を具体的な事例を交えて説明しており、特にリファクタリング・カタログがアップデートされています。サンプルコードはJavaからJavaScriptに変更され、現代的な内容になっています。著者は情報システム分野の専門家で構成されており、実践的なリファクタリングの価値を実感できる内容となっています。
本書『プログラマー脳』は、著者が認知科学に基づいてプログラミングの効率的な学習方法を解説しています。プログラミング時の認知プロセスを理解し、コードの速読や新しい言語の習得、問題解決技術など、具体的なテクニックを紹介しています。全13章から構成され、特に職業プログラマー向けにチーム開発やオンボーディングプロセスについても触れています。著者はプログラミング教育の専門家であり、初心者向けのプログラミング言語「Hedy」を開発しています。
Winner of the 2011 Jolt Excellence Award! Getting software released to users is often a painful, risky, and time-consuming process. This groundbreaking new book sets out the principles and technical practices that enable rapid, incremental delivery of high quality, valuable new functionality to users. Through automation of the build, deployment, and testing process, and improved collaboration between developers, testers, and operations, delivery teams can get changes released in a matter of hours- sometimes even minutes-no matter what the size of a project or the complexity of its code base. Jez Humble and David Farley begin by presenting the foundations of a rapid, reliable, low-risk delivery process. Next, they introduce the "deployment pipeline," an automated process for managing all changes, from check-in to release. Finally, they discuss the "ecosystem" needed to support continuous delivery, from infrastructure, data and configuration management to governance. The authors introduce state-of-the-art techniques, including automated infrastructure management and data migration, and the use of virtualization. For each, they review key issues, identify best practices, and demonstrate how to mitigate risks. Coverage includes * Automating all facets of building, integrating, testing, and deploying software * Implementing deployment pipelines at team and organizational levels * Improving collaboration between developers, testers, and operations * Developing features incrementally on large and distributed teams * Implementing an effective configuration management strategy * Automating acceptance testing, from analysis to implementation * Testing capacity and other non-functional requirements * Implementing continuous deployment and zero-downtime releases * Managing infrastructure, data, components and dependencies * Navigating risk management, compliance, and auditing Whether you're a developer, systems administrator, tester, or manager, this book will help your organization move from idea to release faster than ever-so you can deliver value to your business rapidly and reliably. Foreword by Martin Fowler Preface Acknowledgements About the Authors Part I Foundations 1 The Problem of Delivering Software 2 Configuration Management 3 Continuous Integration 4 Implementing a Testing Strategy Part II The Deployment Pipeline 5 Anatomy of the Deployment Pipeline 6 Build and deployment scripting 7 Commit Testing Stage 8 Automated Acceptance Testing 9 Testing Non-Functional Requirements 10 Deploying and Releasing Applications Part III The Delivery Ecosystem 11 Managing infrastructure and environments 12 Managing Data 13 Managing components and dependencies 14 Advanced version control 15 Managing Continuous Delivery Bibliography Index
『これからはじめるプログラミング 基礎の基礎』の改訂第3版は、プログラミング入門者向けに書かれた定評ある書籍です。内容は現代の読者に合わせて見直され、プログラミング環境や言語もアップデートされています。目指すゴールは旧版と同じで、プログラミングの基本知識や実践的なステップを学ぶことができます。この本は、プログラミングを始める人にとっての「最初に読むべき入門書」とされています。
この書籍は、人気のオンライン講座を基にしたPythonプログラミングの学習書で、基礎から応用までを網羅しています。著者はシリコンバレーで活躍するエンジニアで、海外でも通用するプログラミング技術を伝授。独学をサポートする無料サンプルコードやエンジニアのキャリア戦略も紹介されており、実践的な内容が充実しています。12万人以上が受講した講座を元にしたこの一冊は、海外での活躍を目指す人にとっての道しるべとなるでしょう。
本書『JavaScript』は、最も広く使用されているプログラミング言語であるJavaScriptを包括的に解説したもので、第6版から大幅に加筆・更新されています。基本的な構文や機能、標準ライブラリ、クライアントサイドおよびサーバサイドのJavaScriptについて詳しく説明し、非同期プログラミングやクラスの定義方法、モジュールの使い方なども紹介しています。開発者にとって必携の一冊です。著者はJavaScriptの専門家であり、プログラミングの基礎から応用まで幅広くカバーしています。
本書は、現代のソフトウェア開発における継続的デリバリーを実現するための自動化技術について詳しく解説しています。内容は3部構成で、基礎知識、デプロイメントパイプラインの詳細、デリバリーエコシステムの管理に焦点を当てています。具体的には、ソフトウェアデリバリーの問題、構成管理、継続的インテグレーション、テスト戦略、デプロイメントプロセス、環境管理、データ管理、バージョン管理などが含まれています。
本書は、AI・データ分析プロジェクトの成功には技術知識だけでなく「ビジネス力」が重要であることを強調しています。データサイエンティストのキャリアや業界の概要から始まり、プロジェクトの立ち上げ、実行、評価、収益化までのノウハウを網羅。具体的には、課題設定、案件獲得、データ分析手法の検討、レポーティングなどのプロセスを解説し、実務に役立つ情報を提供しています。著者は業界の専門家で、実践的な知識を基にした内容となっています。
本書は、データサイエンスの基本概念から実際のビジネス活用事例までを豊富な図やイラストを用いて解説し、初心者でも理解しやすい内容になっています。データサイエンスの重要性が増す中、数学的な専門用語を避けながら、機械学習や先端テクノロジーとの関連も紹介。ビジネスパーソンや学生にとって、データサイエンスを学ぶための入門書として最適です。
本書は、理解しやすいコードを書くための方法を紹介しています。具体的には、名前の付け方やコメントの書き方、制御フローや論理式の単純化、コードの再構成、テストの書き方などについて、楽しいイラストを交えて説明しています。著者はボズウェルとフォシェで、須藤功平氏による日本語版解説も収録されています。
『Python実践データ分析100本ノック 第2版』は、実際のデータ分析現場で遭遇する「汚いデータ」を扱うためのノウハウを提供する実践的な問題集です。データ加工から機械学習、最適化問題まで幅広くカバーし、ビジネスで即戦力となる応用力を養成します。内容は基礎編、実践編、発展編に分かれ、各章で具体的な課題を解決する形式で学びます。著者はデータ分析や機械学習の専門家であり、最新技術を取り入れた内容になっています。
この書籍は、実践的なGit/GitHubの使い方を学ぶための初心者向け入門書です。前半では基本的な操作を解説し、後半ではチーム開発のための知識を身につける内容となっています。コマンドライン操作が中心で、新しいGitコマンドやGitHubの機能、実務で役立つ慣習も紹介されています。著者はエンジニア経験を持つ専門家で、ワークショップ感覚で学べる構成になっています。
本書は、Pythonのデータ処理ライブラリ「pandas」の実践的な使用法を約100のレシピ形式で紹介するもので、データ分析や科学計算に役立つ内容が含まれています。各レシピは手順や解説が整然とまとめられており、データ構造の基本から可視化技術まで幅広くカバーしています。著者はデータサイエンティストのTheo Petrouで、教育やデータ分析に関する豊富な経験を持っています。読者はデータサイエンスに興味のあるすべての人を対象としています。
本書は、Dockerを初めて触る新人エンジニアや非エンジニア向けに、Dockerの仕組みと使い方を分かりやすく解説しています。初心者が理解できるようにイラストを多用し、単にコマンドを使えるようになるのではなく、Dockerの基本的な動作原理を理解することを重視しています。内容はDocker Desktopを中心に構成されており、他の環境へのインストール方法も紹介されています。Dockerを長く使うための基礎力を身につけたい方に適した一冊です。
本書は、初心者向けにLinuxの基礎知識を丁寧に解説し、LPI Linux Essentials、LPIC-1、LinuC-レベル1の試験範囲をカバーしています。学習環境の構築やコマンドの実行を通じて、実践的に学べる内容になっています。各章では、Linuxの基本概念からユーザー管理、ファイルシステム、ネットワーク基礎まで幅広く扱っています。著者は企業研修や教育に携わる赤星リナです。
本書は、Python初心者向けに基本的なプログラムや人工知能アプリの作成を対話形式で学べる内容です。著者は森巧尚で、イラストを交えながら基礎知識を解説し、最新の環境に対応しています。エラー対応法も掲載されており、安心して学習できるよう配慮されています。目次には、Pythonの基礎からアプリ作成、人工知能に関する章が含まれています。
この書籍では、言語設計の背景や文法の成り立ち、プログラミング言語の効率的な学習方法について解説しています。目次には、処理の流れ、関数、エラー処理、名前とスコープ、型、並行処理、オブジェクトとクラスなどのテーマが含まれています。著者は西尾泰和で、博士号を持ち、サイボウズ・ラボで研究を行っています。
『Data Visualization: A Practical Introduction』の日本語訳が刊行され、全世界のRユーザーに支持されている。この本は、データ可視化の基本を初心者でも理解できるように解説しており、ggplotやtidyverseの知識がなくても実践的に学べる内容となっている。データの見せ方や可視化の手順に加え、実践的なスキルを提供。著者はデューク大学の教授であり、さまざまな専門家が推薦している。目次にはデータの整形や地図描画など、多岐にわたるテーマが含まれている。
『オブジェクト指向でなぜつくるのか』の改訂第3版は、オブジェクト指向プログラミング(OOP)の基本を平易に解説し、最新のプログラミング言語の動向を反映しています。OOPの全体像や特徴、プログラムの動作メカニズム、関数型言語との関係、アジャイル開発手法などをカバーしており、ソフトウェア開発の生産性向上に寄与する内容となっています。著者はオブジェクト指向モデリングに精通した技術コンサルタントで、実践的な知識を提供しています。
本書は、Webサービスの実践的な設計について解説しています。初めに、HTTP、URI、HTMLの仕様とその歴史や設計思想を紹介し、その後、望ましいURIやHTTPメソッドの使い分け、クライアントとサーバの役割分担、設計プロセスなどの設計課題とベストプラクティスを提示しています。目次はWeb概論、URI、HTTP、ハイパーメディアフォーマット、Webサービスの設計、付録で構成されています。
この書籍は、データ分析の基礎から応用までを学べる内容で、データ可視化や統計手法、仮説検定、重回帰分析など、一生使えるスキルを身につけることができます。著者はデータサイエンティストとしての豊富な経験を持ち、実務に役立つ知識を提供しています。目次にはデータ分析の全体像や具体的な手法が紹介されています。
本書は、数理モデルの多様な手法を解説し、データ分析における選択と理解を促進する入門書です。機械学習や統計モデルなど、自然科学と人文社会科学の手法を網羅し、初学者がデータ分析の全体像を把握できるように設計されています。特に、モデリング手法の選択や誤解しやすい点について丁寧に説明し、大学一年生でも理解できるレベルでありながら、より進んだ読者にも楽しめる内容となっています。著者は東京大学の特任講師で、幅広い分野での数理的解析に取り組んでいます。
データサイエンスを学ぶ上でこちらに一通り目を通しておくとベースが出来上がると思うのでオススメ。幅広く学べるがそこまで深く突っ込まないので気に入った領域は他の書籍で補完した方がよいかも!
Peter Seibel interviews 15 of the most interesting computer programmers alive today in Coders at Work, offering a companion volume to Apress's highly acclaimed best-seller Founders at Work by Jessica Livingston. As the words "at work" suggest, Peter Seibel focuses on how his interviewees tackle the day-to-day work of programming, while revealing much more, like how they became great programmers, how they recognize programming talent in others, and what kinds of problems they find most interesting. Hundreds of people have suggested names of programmers to interview on the Coders at Work web site: www.codersatwork.com. The complete list was 284 names. Having digested everyone's feedback, we selected 15 folks who've been kind enough to agree to be interviewed: * Frances Allen: Pioneer in optimizing compilers, first woman to win the Turing Award (2006) and first female IBM fellow * Joe Armstrong: Inventor of Erlang * Joshua Bloch: Author of the Java collections framework, now at Google * Bernie Cosell: One of the main software guys behind the original ARPANET IMPs and a master debugger * Douglas Crockford: JSON founder, JavaScript architect at Yahoo! * L. Peter Deutsch: Author of Ghostscript, implementer of Smalltalk-80 at Xerox PARC and Lisp 1.5 on PDP-1 * Brendan Eich: Inventor of JavaScript, CTO of the Mozilla Corporation * Brad Fitzpatrick: Writer of LiveJournal, OpenID, memcached, and Perlbal * Dan Ingalls: Smalltalk implementor and designer * Simon Peyton Jones: Coinventor of Haskell and lead designer of Glasgow Haskell Compiler * Donald Knuth: Author of The Art of Computer Programming and creator of TeX * Peter Norvig: Director of Research at Google and author of the standard text on AI * Guy Steele: Coinventor of Scheme and part of the Common Lisp Gang of Five, currently working on Fortress * Ken Thompson: Inventor of UNIX * Jamie Zawinski: Author of XEmacs and early Netscape/Mozilla hacker What you'll learnHow the best programmers in the world do their jobs! Who this book is for Programmers interested in the point of view of leaders in the field. Programmers looking for approaches that work for some of these outstanding programmers. Table of Contents * Jamie Zawinski * Brad Fitzpatrick * Douglas Crockford * Brendan Eich * Joshua Bloch * Joe Armstrong * Simon Peyton Jones * Peter Norvig * Guy Steele * Dan Ingalls * L Peter Deutsch * Ken Thompson * Fran Allen * Bernie Cosell * Donald Knuth
初心者がプログラミングを学びやすい構成が魅力。Pythonの基本的な文法から実際にコードを書く過程まで、わかりやすい解説でスムーズに学べます。豊富な例題や演習が用意されているため、しっかりと理解を深めながら進めることができ、実践的なスキルが身につく点がポイントです。初めてPythonに触れる人でも安心して学べます。