دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش:
نویسندگان: Ananda Rao Akepogu Radhika Raju Palagiri
سری:
ISBN (شابک) : 9788131755679
ناشر: Pearson Education
سال نشر: 2010
تعداد صفحات: 578
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 2 مگابایت
در صورت تبدیل فایل کتاب Data Structures and Algorithms Using C++ به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب ساختارها و الگوریتم های داده با استفاده از C نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
ساختارهای داده و الگوریتمها استفاده از C به دانشآموزان کمک میکند تا بر ساختارهای داده، الگوریتمهای آنها و تحلیل پیچیدگیهای این الگوریتمها تسلط پیدا کنند. هر فصل شامل یک نوع داده انتزاعی (ADT) و برنامه های کاربردی به همراه توضیح مفصل در مورد موضوعات است. این کتاب الزامات برنامه درسی دروس تمام دانشگاه های هند را برآورده می کند.
Data Structures and Algorithms Using C++ helps students to master data structures, their algorithms and the analysis of complexities of these algorithms. Each chapter includes an Abstract Data Type (ADT) and applications along with a detailed explanation of the topics. This book meets the requirements of the course curricula of all Indian universities.
Cover Data Structures and Algorithms Using C++ Copyright Contents About the Authors Preface Acknowledgements Chapter 1 Introduction to C++ 1.1 Introduction 1.2 Class Overview 1.2.1 Class 1.2.2 Objects 1.2.3 Class Members 1.3 I/O Streams 1.4 Access Control 1.5 Class Scope 1.6 Static Class Members 1.6.1 Static Member Variables 1.6.2 Static Member Function 1.6.3 Static Object 1.7 Functions 1.7.1 Parameter Passing Methods 1.7.2 Inline Functions 1.7.3 The friend Function 1.7.4 Function Overloading 1.8 The this Pointer 1.9 Dynamic Memory Allocation and Deallocation 1.9.1 The new Operator 1.9.2 The delete Operator 1.10 Exception Handling Summary Exercises Chapter 2 Object Oriented Concepts 2.1 Goals and Principles 2.1.1 Object Oriented Design Goals 2.1.2 Object Oriented Design Principles 2.2 Constructors and Destructors 2.2.1 Constructors 2.2.2 Constructor Overloading 2.2.3 Destructors 2.3 Operator Overloading 2.3.1 Overloading the Plus (+) Operator 2.3.2 Overloading the Minus (–) Operator 2.3.3 Overloading Unary Operators 2.3.4 Postfix Form of Overloading the Unary Operator ++ 2.3.5 Prefix Form of Overloading the Unary Operator –– 2.3.6 Postfix Form of Overloading the Unary Operator –– 2.4 Inheritance 2.4.1 Base Class Access Control 2.4.2 Types of Inheritance 2.4.3 Reasons for the Usage of Inheritance 2.4.4 Advantages 2.4.5 Disadvantages 2.4.6 Delegation 2.5 Polymorphism 2.5.1 Virtual Functions 2.5.2 Pure Virtual Functions 2.6 Abstract Classes 2.7 Generic Programming with Templates 2.7.1 Function Templates 2.7.2 Class Templates 2.8 Recursion Summary Exercises Chapter 3 Algorithms 3.1 Introduction 3.2 Basic Notations 3.2.1 Pseudo Code 3.3 Types of Algorithms 3.3.1 Brute Force Algorithms 3.3.2 Divide and Conquer Algorithms 3.3.3 Dynamic Programming Algorithms 3.3.4 Greedy Algorithms 3.3.5 Branch and Bound Algorithms 3.3.6 Recursive Algorithms 3.3.7 Back Tracking Algorithms 3.3.8 Randomized Algorithms 3.3.9 Hill Climbing Algorithms 3.4 Performance Analysis 3.4.1 Properties of the Best Algorithms 3.5 Space Complexity 3.5.1 Instruction Space 3.5.2 Text Section of a Program 3.5.3 Data Space 3.5.4 Stack Space 3.5.5 Calculating the Instruction Space 3.5.6 Calculating the Data Space 3.5.7 Size of Data Section 3.5.8 Size of Rodata Section 3.5.9 Size of bss Section 3.6 Apriori Analysis 3.7 Asymptotic Notation 3.7.1 Big oh Notation (O) 3.7.2 Omega Notation (Ω) 3.7.3 Theta Notation (θ) 3.7.4 Little oh Notation(o) 3.8 Time Complexity 3.8.1 Time Complexity Analysis of Bubble Sort 3.8.2 Time Complexity Analysis of Selection Sort 3.9 Worst Case, Average Case and Best Case Complexity 3.9.1 Worst Case 3.9.2 Average Case 3.9.3 Best Case Summary Exercises Chapter 4 Arrays 4.1 Introduction 4.1.1 Array 4.2 Array Types 4.2.1 Single-dimensional Array 4.2.2 Multi-dimensional Array 4.2.3 N-dimensional Array 4.3 Array Representation 4.4 Initializing Arrays 4.5 Accessing Values of an Array 4.6 Array Operations 4.6.1 Traversing 4.6.2 Insertion 4.6.3 Deletion 4.6.4 Sorting 4.6.5 Searching 4.7 Arrays as Parameters 4.8 Character Sequences 4.9 Applications Summary Exercises Chapter 5 Linked List 5.1 Introduction 5.2 Representation of Linked List in Memory 5.2.1 Static Representation 5.2.2 Dynamic Representation 5.3 Singly Linked List 5.3.1 Operations 5.4 Circular Linked List 5.4.1 Merging of Two Circular Lists 5.5 Doubly Linked Lists 5.5.1 Representation of Doubly Linked List 5.5.2 Operations 5.6 Comparison of Various Linked Lists 5.6.1 Linked Lists Versus Arrays 5.7 Applications 5.7.1 Polynomial Manipulation Summary Exercises Chapter 6 Stacks 6.1 Definition 6.2 Representation of a Stack 6.2.1 Array Representation of a Stack 6.2.2 Linked Representation of a Stack 6.3 Operations on Stack 6.3.1 Array Implementation of a Stack 6.3.2 Linked Implementation of a Stack 6.4 Applications of Stacks 6.4.1 Expression Evaluation 6.4.2 Postfix Evaluation 6.4.3 Recursion 6.4.4 Balancing of the Matching Parenthesis Summary Excercises Chapter 7 Queues 7.1 Introduction 7.2 Representation of a Queue 7.2.1 Array Representation 7.2.2 Linked Representation 7.3 Operations on a Queue 7.3.1 Enqueue and Deque Using Arrays 7.3.2 Enqueue and Deque Using Linked List 7.4 Circular Queues 7.4.1 Operations on Circular Queue 7.5 Deque 7.5.1 Operations on a Deque 7.6 Applications of Queues 7.6.1 Simulation of Time-sharing System 7.6.2 Queue ADT Summary Exercises Chapter 8 Dictionaries 8.1 Dictionaries 8.2 Linear List Representation 8.3 Skip Lists Representation 8.3.1 Operations 8.3.2 Searching 8.3.3 Insertion 8.3.4 Deletion 8.4 Hash Table 8.4.1 Hash Functions 8.5 Collisions 8.5.1 Separate Chaining 8.5.2 Open Addressing 8.6 Comparison of Chaining and Open Addressing 8.7 Applications 8.8 Dictionary ADT Summary Exercises Chapter 9 Trees and Binary Trees 9.1 Introduction 9.2 Terminologies 9.3 Representation of a Tree 9.4 Binary Trees 9.5 Representation of Binary Trees 9.5.1 Array Representation of a Binary Tree 9.5.2 Linked Representation of Binary Trees 9.6 Binary Tree Operations 9.7 Binary Tree Traversals 9.7.1 Inorder Traversal (LVR) 9.7.2 Preorder Traversal (VLR) 9.7.3 Postorder Traversal (LRV) 9.7.4 Level-order Traversal 9.8 Conversion of a Tree into a Binary Tree 9.9 Threaded Binary Trees 9.9.1 Linked Representation of a Threaded Binary Tree 9.10 Applications of Binary Trees 9.10.1 Traversal of an Expression Tree 9.10.2 Operations on Expression Trees 9.11 ADT of Binary Tree Summary Exercises Chapter 10 Graphs 10.1 Introduction 10.2 Basic Terminology 10.3 Representation of Graphs 10.3.1 Sequential Representation of Graphs 10.3.2 Linked Representation of Graphs 10.4 Operations on Graphs 10.5 Graph Traversals 10.5.1 Breadth First Traversal 10.5.2 Depth First Traversal 10.6 Applications 10.7 Graph ADT Summary Exercises Chapter 11 Priority Queues 11.1 Introduction 11.2 Priority Queue ADT 11.3 Priority Queue Implementation Using Heaps 11.3.1 Priority Queue Interface 11.3.2 Min Heap–Insertion 11.3.3 Min Heap–Deletion 11.3.4 Max Heap–Insertion 11.3.5 Max Heap–Deletion 11.4 Applications 11.4.1 Job Scheduling 11.5 External Sorting 11.5.1 Polyphase Merge 11.5.2 Multiway Merge Summary Exercises Chapter 12 Binary Search Trees and AVL Trees 12.1 Binary Search Trees 12.2 Representation of a Binary Search Tree 12.3 Operations on Binary Search Trees 12.3.1 Searching 12.3.2 Insertion 12.3.3 Deletion 12.3.4 Disadvantages of Binary Search Tree 12.4 AVL Trees 12.5 Operation of AVL Search Trees 12.5.1 Searching 12.5.2 Insertion 12.5.3 Deletion 12.6 Applications Summary Exercises Chapter 13 Multiway Trees and B Trees 13.1 Introduction 13.2 Representation of a Node Structure 13.3 Operations on m-Way Search Trees 13.3.1 Searching 13.3.2 Insertion 13.3.3 Deletion 13.3.4 Drawbacks of m-Way Search Trees 13.4 B Trees 13.5 Operations on B Trees 13.5.1 Searching 13.5.2 Insertion 13.5.3 Deletion 13.6 Height of B Trees 13.7 Variations of B Tree 13.7.1 B* Tree 13.7.2 B+ Tree 13.8 Applications 13.8.1 Databases Summary Exercises Chapter 14 Red–Black Trees and Splay Trees 14.1 Introduction 14.2 Representation of a Red–Black Tree 14.3 Operations 14.3.1 Searching 14.3.2 Insertion 14.3.3 Deletion 14.4 Splay Trees 14.4.1 Splay Rotations 14.4.2 Amortized Analysis 14.5 Applications Summary Exercises Chapter 15 Pattern Matching and Tries 15.1 Introduction 15.2 Terminology 15.3 Pattern Matching Algorithms 15.3.1 Fixed Pattern Matching Algorithms 15.3.2 Regular Expression Pattern Matching 15.4 Fixed Pattern Matching Algorithms 15.4.1 Brute Force Pattern Matching Algorithm 15.4.2 Th e Boyer–Moore Algorithm 15.4.3 Knuth–Morris–Pratt Algorithm (KMP) 15.5 Applications of Pattern Matching Algorithms 15.6 Tries 15.6.1 Standard Tries 15.6.2 Compressed Tries 15.6.3 Suffix Tries 15.7 Applications of Tries Summary Exercises Chapter 16 Sorting and Searching 16.1 Sorting 16.1.1 Bubble Sort 16.1.2 Insertion Sort 16.1.3 Selection Sort 16.1.4 Quick Sort 16.1.5 Merge Sort 16.1.6 Shell Sort 16.1.7 Radix Sort 16.1.8 Heap Sort 16.2 Searching 16.2.1 Linear Search or Sequential Search 16.2.2 Binary Search 16.2.3 Fibonacci Search Summary Exercises Index