ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب C++ Data Structures and Algorithm Design Principles: Leverage the power of modern C++ to build robust and scalable applications. Code

دانلود کتاب ساختارهای داده C++ و اصول طراحی الگوریتم: از قدرت C++ مدرن برای ساخت برنامه‌های کاربردی قوی و مقیاس‌پذیر استفاده کنید. کد

C++ Data Structures and Algorithm Design Principles: Leverage the power of modern C++ to build robust and scalable applications. Code

مشخصات کتاب

C++ Data Structures and Algorithm Design Principles: Leverage the power of modern C++ to build robust and scalable applications. Code

ویرایش:  
نویسندگان: , ,   
سری:  
ISBN (شابک) : 1838828842, 9781838828844 
ناشر: Packt Publishing 
سال نشر: 2019 
تعداد صفحات: 0 
زبان: English 
فرمت فایل : ZIP (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 8 مگابایت 

قیمت کتاب (تومان) : 41,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 8


در صورت تبدیل فایل کتاب C++ Data Structures and Algorithm Design Principles: Leverage the power of modern C++ to build robust and scalable applications. Code به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب ساختارهای داده C++ و اصول طراحی الگوریتم: از قدرت C++ مدرن برای ساخت برنامه‌های کاربردی قوی و مقیاس‌پذیر استفاده کنید. کد نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب ساختارهای داده C++ و اصول طراحی الگوریتم: از قدرت C++ مدرن برای ساخت برنامه‌های کاربردی قوی و مقیاس‌پذیر استفاده کنید. کد

کد.

با یادگیری نحوه ساخت برنامه های کاربردی با استفاده از ساختارهای داده و الگوریتم های آن، با برنامه نویسی C شروع کنید

ویژگی های کلیدی

  • کاوش در ساختارهای داده مانند به عنوان آرایه ها، پشته ها و نمودارها با مثال های دنیای واقعی
  • معادل بین الگوریتم ها و ساختارهای داده را مطالعه کنید و کشف کنید که چه چیزی کار می کند و چه چیزی کار نمی کند
  • کشف کنید که چگونه تکنیک هایی مانند فیلترهای bloom و هپ های چندطرفه برنامه های کاربردی دنیای واقعی را تقویت می کنند

توضیحات کتاب

C یک زبان برنامه نویسی چند پارادایم بالغ است که به شما امکان می دهد کدهای سطح بالا بنویسید. با درجه بالایی از کنترل بر روی سخت افزار. امروزه بخش‌های قابل توجهی از زیرساخت‌های نرم‌افزاری، از جمله پایگاه‌های داده، مرورگرها، چارچوب‌های چندرسانه‌ای و جعبه‌های ابزار رابط کاربری گرافیکی به زبان C نوشته می‌شوند.

این کتاب با معرفی ساختارهای داده C و نحوه ذخیره داده‌ها با استفاده از فهرست‌ها، آرایه‌ها، پشته‌ها و صف‌های پیوندی آغاز می‌شود. در فصل‌های بعدی، این کتاب پارادایم‌های اصلی طراحی الگوریتم، مانند رویکرد حریصانه و رویکرد تفرقه کن، که برای حل انواع زیادی از مسائل محاسباتی استفاده می‌شوند را توضیح می‌دهد. در نهایت، تکنیک پیشرفته برنامه نویسی پویا را برای توسعه پیاده سازی بهینه چندین الگوریتم مورد بحث در کتاب یاد خواهید گرفت.

در پایان این کتاب، شما یاد خواهید گرفت که چگونه ساختارهای داده و الگوریتم های استاندارد را در کد C 14 کارآمد و مقیاس پذیر پیاده سازی کنید.

آنچه خواهید آموخت

< ul>
  • برنامه‌ها را با استفاده از جداول هش، دیکشنری‌ها و مجموعه‌ها بسازید
  • بررسی کنید که چگونه سخت‌افزار مدرن بر عملکرد واقعی زمان اجرا برنامه‌ها تأثیر می‌گذارد
  • از الگوریتم‌های رایج مانند دسته‌بندی و ادغام استفاده کنید. مرتب‌سازی برای انواع داده‌های رشته‌ای
  • از فرابرنامه‌نویسی الگوی C برای نوشتن کتابخانه‌های کد استفاده کنید
  • یک سرویس کوتاه‌کننده URL را با استفاده از فیلتر بلوم پیاده‌سازی کنید
  • از اصطلاحات C مدرن مناسب استفاده کنید. std:: آرایه به جای آرایه های سبک C
  • این کتاب برای چه کسانی است

    این کتاب برای توسعه دهندگان یا دانش آموزانی است که می خواهند ساختارهای داده اولیه و طراحی الگوریتم را دوباره بررسی کنند. تکنیک. اگرچه هیچ پیش زمینه ریاضی مورد نیاز نیست، اما دانش اولیه کلاس های پیچیدگی و علامت گذاری Big O به همراه مدرک تحصیلی در یک دوره الگوریتم به شما کمک می کند تا بیشترین بهره را از این کتاب ببرید. آشنایی با استاندارد C 14 فرض می‌شود.

    فهرست محتوا

    1. لیست‌ها، پشته‌ها و صف‌ها
    2. درختان، پشته‌ها و نمودارها
    3. هش جداول و فیلترهای بلوم
    4. تقسیم و تسخیر
    5. الگوریتم های حریص
    6. الگوریتم های نمودار I
    7. الگوریتم های نمودار IIli>
    8. برنامه نویسی پویا I
    9. برنامه نویسی پویا II

    توضیحاتی درمورد کتاب به خارجی

    Code.

    Get started with C++ programming by learning how to build applications using its data structures and algorithms

    Key Features

    • Explore data structures such as arrays, stacks, and graphs with real-world examples
    • Study the trade-offs between algorithms and data structures and discover what works and what doesn't
    • Discover how techniques such as bloom filters and multi-way heaps boost real-world applications

    Book Description

    C++ is a mature multi-paradigm programming language that enables you to write high-level code with a high degree of control over the hardware. Today, significant parts of software infrastructure, including databases, browsers, multimedia frameworks, and GUI toolkits, are written in C++.

    This book starts by introducing C++ data structures and how to store data using linked lists, arrays, stacks, and queues. In later chapters, the book explains the basic algorithm design paradigms, such as the greedy approach and the divide-and-conquer approach, which are used to solve a large variety of computational problems. Finally, you will learn the advanced technique of dynamic programming to develop optimized implementations of several algorithms discussed in the book.

    By the end of this book, you will have learned how to implement standard data structures and algorithms in efficient and scalable C++ 14 code.

    What you will learn

    • Build applications using hash tables, dictionaries, and sets
    • Explore how modern hardware affects the actual run-time performance of programs
    • Apply common algorithms such as heapsort and merge sort for string data types
    • Use C++ template metaprogramming to write code libraries
    • Implement a URL shortening service using a bloom filter
    • Use appropriate modern C++ idioms such as std:: array instead of C-style arrays

    Who this book is for

    This book is for developers or students who want to revisit basic data structures and algorithm design techniques. Although no mathematical background is required, basic knowledge of complexity classes and Big O notation along with a qualification in an algorithms course will help you get the most out of this book. Familiarity with C++ 14 standard is assumed.

    Table of Contents

    1. Lists, Stacks, and Queues
    2. Trees, Heaps, and Graphs
    3. Hash Tables and Bloom Filters
    4. Divide and Conquer
    5. Greedy Algorithms
    6. Graph Algorithms I
    7. Graph Algorithms II
    8. Dynamic Programming I
    9. Dynamic Programming II


    فهرست مطالب

    Cover
    FM
    Copyright
    Table of Contents
    Preface
    Chapter 1: Lists, Stacks, and Queues
    	Introduction
    	Contiguous Versus Linked Data Structures
    		Contiguous Data Structures
    		Linked Data Structures
    		Comparison
    		Limitations of C-style Arrays
    	std::array
    		Exercise 1: Implementing a Dynamic Sized Array
    		Exercise 2: A General-Purpose and Fast Data Storage Container Builder
    	std::vector
    		std::vector – Variable Length Array
    		Allocators for std::vector
    	std::forward_list
    		Inserting and Deleting Elements in forward_list
    		Other Operations on forward_list
    		Exercise 3: Conditional Removal of Elements from a Linked List Using remove_if
    	Iterators
    		Exercise 4: Exploring Different Types of Iterators
    		Exercise 5: Building a Basic Custom Container
    		Activity 1: Implementing a Song Playlist
    	std::list
    		Common Functions for std::list
    		Exercise 6: Insertion and Deletion Functions for std::list
    		Bidirectional Iterators
    		Iterator Invalidation for Different Containers
    		Activity 2: Simulating a Card Game
    	std::deque – Special Version of std::vector
    		The Structure of Deque
    	Container Adaptors
    		std::stack
    		std::queue
    		std::priority_queue
    		Iterators for Adaptors
    	Benchmarking
    		Activity 3: Simulating a Queue for a Shared Printer in an Office
    	Summary
    Chapter 2: Trees, Heaps, and Graphs
    	Introduction
    	Non-Linear Problems
    		Hierarchical Problems
    		Cyclic Dependencies
    	Tree – It\'s Upside Down!
    		Exercise 7: Creating an Organizational Structure
    		Traversing Trees
    		Exercise 8: Demonstrating Level Order Traversal
    	Variants of Trees
    		Binary Search Tree
    		Time Complexities of Operations on a Tree
    		Exercise 9: Implementing a Binary Search Tree
    		Balanced Tree
    		N-ary Tree
    		Activity 4: Create a Data Structure for a Filesystem
    	Heaps
    		Heap Operations
    		Exercise 10: Streaming Median
    		Activity 5: K-Way Merge Using Heaps
    	Graphs
    		Representing a Graph as an Adjacency Matrix
    		Exercise 11: Implementing a Graph and Representing it as an Adjacency Matrix
    		Representing a Graph as an Adjacency List
    		Exercise 12: Implementing a Graph and Representing it as an Adjacency List
    	Summary
    Chapter 3: Hash Tables and Bloom Filters
    	Introduction
    	Hash Tables
    		Hashing
    		Exercise 13: Basic Dictionary for Integers
    	Collisions in Hash Tables
    		Close Addressing – Chaining
    		Exercise 14: Hash Table with Chaining
    		Open Addressing
    		Perfect Hashing – Cuckoo Hashing
    		Exercise 15: Cuckoo Hashing
    	C++ Hash Tables
    		Exercise 16: Hash Tables Provided by STL
    		Activity 6: Mapping Long URLs to Short URLs
    	Bloom Filters
    		Exercise 17: Creating Bloom Filters
    		Activity 7: Email Address Validator
    	Summary
    Chapter 4: Divide and Conquer
    	Introduction
    	Binary Search
    		Exercise 18: Binary Search Benchmarks
    		Activity 8: Vaccinations
    	Understanding the Divide-and-Conquer Approach
    	Sorting Using Divide and Conquer
    		Merge Sort
    		Exercise 19: Merge Sort
    		Quicksort
    		Exercise 20: Quicksort
    		Activity 9: Partial Sorting
    		Linear Time Selection
    		Exercise 21: Linear Time Selection
    	C++ Standard Library Tools for Divide and Conquer
    	Dividing and Conquering at a Higher Abstraction Level – MapReduce
    		The Map and Reduce Abstractions
    		Exercise 22: Map and Reduce in the C++ Standard Library
    		Integrating the Parts – Using a MapReduce Framework
    		Exercise 23: Checking Primes Using MapReduce
    		Activity 10: Implementing WordCount in MapReduce
    	Summary
    Chapter 5: Greedy Algorithms
    	Introduction
    	Basic Greedy Algorithms
    		Shortest-Job-First Scheduling
    		Exercise 24: Shortest-Job-First Scheduling
    	The Knapsack Problem(s)
    		The Knapsack Problem
    		The Fractional Knapsack Problem
    		Exercise 25: Fractional Knapsack Problem
    		Activity 11: The Interval Scheduling Problem
    		Requirements for Greedy Algorithms
    		The Minimum Spanning Tree (MST) Problem
    		Disjoint-Set (or Union-Find) Data Structures
    		Exercise 26: Kruskal\'s MST Algorithm
    	The Vertex Coloring Problem
    		Exercise 27: Greedy Graph Coloring
    		Activity 12: The Welsh-Powell Algorithm
    	Summary
    Chapter 6: Graph Algorithms I
    	Introduction
    	The Graph Traversal Problem
    		Breadth-First Search
    		Exercise 28: Implementing BFS
    		Depth-First Search
    		Exercise 29: Implementing DFS
    		Activity 13: Finding out Whether a Graph is Bipartite Using DFS
    	Prim\'s MST Algorithm
    		Exercise 30: Prim\'s Algorithm
    	Dijkstra\'s Shortest Path Algorithm
    		Exercise 31: Implementing Dijkstra\'s Algorithm
    		Activity 14: Shortest Path in New York
    	Summary
    Chapter 7: Graph Algorithms II
    	Introduction
    	Revisiting the Shortest Path Problem
    	The Bellman-Ford Algorithm
    		Exercise 32: Implementing the Bellman-Ford Algorithm (Part I)
    	The Bellman-Ford Algorithm (Part II) – Negative Weight Cycles
    		Exercise 33: Implementing the Bellman-Ford Algorithm (Part II)
    		Activity 15: Greedy Robot
    	Johnson\'s Algorithm
    		Exercise 34: Implementing Johnson\'s Algorithm
    		Activity 16: Randomized Graph Statistics
    	Strongly Connected Components
    		Connectivity in Directed and Undirected Graphs
    	Kosaraju\'s Algorithm
    		Exercise 35: Implementing Kosaraju\'s Algorithm
    		Activity 17: Maze-Teleportation Game
    	Choosing the Right Approach
    	Summary
    Chapter 8: Dynamic Programming I
    	Introduction
    	What Is Dynamic Programming?
    	Memoization – The Top-Down Approach
    	Tabulation – the Bottom-Up Approach
    	Subset Sum Problem
    		Solving the Subset Sum Problem – Step 1: Evaluating the Need for DP
    		Step 2 – Defining the States and the Base Cases
    		Step 2.a: Brute Force
    		Exercise 36: Solving the Subset Sum Problem by Using the Brute-Force Approach
    		Step 2.b: Optimizing Our Approach – Backtracking
    		Exercise 37: Solving the Subset Sum Problem by Using Backtracking
    		Step 3: Memoization
    		Devising a Caching Scheme
    		Exercise 38: Solving the Subset Sum Problem by Using Memoization
    		Step 4: Tabulation
    		Exercise 39: Solving the Subset Sum Problem by Using Tabulation
    		Activity 18: Travel Itinerary
    	Dynamic Programming on Strings and Sequences
    		The Longest Common Subsequence Problem
    		Exercise 40: Finding the Longest Common Subsequence by Using the Brute-Force Approach
    		First Steps Toward Optimization – Finding the Optimal Substructure
    		Activity 19: Finding the Longest Common Subsequence by Using Memoization
    		From Top-Down to Bottom-Up – Converting the Memoized Approach into a Tabulated Approach
    		Activity 20: Finding the Longest Common Subsequence Using Tabulation
    	Activity 21: Melodic Permutations
    	Summary
    Chapter 9: Dynamic Programming II
    	Introduction
    	An Overview of P versus NP
    	Reconsidering the Subset Sum Problem
    	The Knapsack Problem
    		0-1 Knapsack – Extending the Subset Sum Algorithm
    		Exercise 41: 0-1 Knapsack Problem
    		Unbounded Knapsack
    		State Space Reduction
    		Exercise 42: Unbounded Knapsack
    		Activity 22: Maximizing Profit
    	Graphs and Dynamic Programming
    		Reconsidering the Bellman-Ford Algorithm
    		Approaching the Shortest Path Problem as a DP Problem
    		Exercise 43: Single-Source Shortest Paths (Memoization)
    		All-Pairs Shortest Path
    		The Floyd-Warshall Algorithm
    		Exercise 44: Implementing the Floyd-Warshall Algorithm
    		Activity 23: Residential Roads
    	Summary
    Appendix
    Index




    نظرات کاربران