Data Structures using Python
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Book 1
Book 2
Book 3
Home > Computing and Information Technology > Computer science > Systems analysis and design > Data Structures using Python
Data Structures using Python

Data Structures using Python


     0     
5
4
3
2
1



Available


X
About the Book

Data Structures using Python provides an introduction to design, analysis, and implementation of data structures using the powerful language Python. This book is designed for a first course on the subject. It is written for the undergraduate engineering students of Computer Science, Information Technology and allied disciplines. The book begins with an overview of the concept, need, nomenclature followed by discussion of Arrays, Stacks, Queues, Double Ended Queues, Linked List - all under a chapter on Linear Data Structures. This is followed by a chapter on Non-linear Data Structures where Heap, Hash Table, Trie, and Disjoint Sets are discussed. Trees, though a non-linear data structure, is discussed as a separate chapter to emphasize upon its importance. The last few chapters of the book discusses Graphs, Searching, and Sorting finally ending with an appendix on Python built-in class functions.

Table of Contents:
1. Data Structures-Introduction 1.1 Introduction 1.2 What is a Data Structure? 1.3 Why Do We Need Data Structures? 1.4 How to Study/Prepare Data Structures? Why Does It Appear Difficult? 1.5 Different Types of Data Structures 1.6 How to Select a Data Structure? 1.7 How are Data Structures Implemented? 1.8 Real-Life Scenarios for Data Structures 1.6 Difference Between Data Structures and Database Management Systems 2. Abstract Data Type and Analysis 2.1 Introduction- Abstract Data Type 2.2 Complexity 2.2.1 Time Complexity 2.2.2 Space Complexity 2.3 Asymptotic Notations 2.3.1 Big-O 2.3.2 Big-Omega 2.3.3 Big-Theta 2.3.4 Small-O 2.3.5 Small-Omega 2.4 Recursion 2.4.1 How does Recursion Work? 2.4.2 Inefficient Recursion 2.4.3 Tail Call Elimination 2.4.4 Analysis of Recursive Functions 2.5 Applications of Recursion 3. Linear Data Structures 3.1 Arrays-Introduction 3.2 Declaration of Arrays 3.3 Implementation 3.3.1 Insertion 3.3.2 Deletion 3.3.3 Merging 3.3.4 Some More Operations 3.3.5 Complexity Analysis 3.4 Applications 3.5 Python Sequences 4. Continuous Memory Based Linear Data Structures 4.1 Introduction 4.2 Stack 4.2.1 Working-Push Operation 4.2.2 Working-Pop Operation 4.2.3 Working-Top Operation 4.3 Implementation of Stack Using Pointers 4.4 Complex Operations 4.4.1 Searching 4.4.2 Sorting 4.4.3 Complexity Analysis 4.5 Applications of Stacks 4.5.1 Application: Infix-to-Postfix Conversion 4.5.2 Application: Evaluation of Prefix Expression 4.6 Queues 4.7 ingle-Ended Queues 4.7.1 Working-Enqueue Operation 4.7.2 Working-Dequeue Operation 4.7.3 Working-Front Operation 4.7.4 Implementation of Single-Ended Queues using Lists 4.7.5 Complex Operations 4.7.6 Circular Array-based Implementation of Single-ended Queues 4.8 Double-Ended Queues 4.8.1 Working: Push_Front Operation 4.8.2 Working: Push_Back Operation 4.8.3 Working: Pop-Front Operation 4.8.4 Working: Pop_Back Operation 4.8.5 Working: Front Operation 4.8.6 Working: Rear Operation 4.8.7 Implementation of a Deque 4.8.8 Complex Operations 4.8.9 Complexity Analysis 4.9 Priority Queues 4.9.1 Implementation of Priority Queues 4.1 Applications of Queues 4.10.1 Application: Check if a Given String is a Palindrome 5. Pointer-Based Linear Data Structures 5.1 Introduction to Linked Lists 5.2 Singly Linked Lists 5.2.1 Working-Insert Node Operation 5.2.2 Working-Delete Node Operation 5.2.3 Working-ValueAt Operation 5.2.4 Implementation of Singly Linked Lists 5.2.5 Complex Operations-Searching 5.2.6 Complex Operations-Sorting 5.2.7 Complexity Analysis 5.3 Doubly Linked Lists 5.3.1 Working-Insert Node Operation 5.3.2 Working-Delete Node Operation 5.3.3 Working-ValueAt Operation 5.3.4 Implementation of Doubly Linked Lists 5.3.5 Complexity Analysis 5.4 Circular Linked Lists 5.4.1 Working-Insert Node Operation 5.4.3 Implementation of Circular Linked Lists 5.4.4 Complexity Analysis 5.5 Applications of Linked Lists 6. Pointer Based Hierarchical Data Structures 6.1 Introduction-Non-Linear Data Structures 6.2 TREES 6.2.1 Definitions 6.3 Binary Trees 6.3.1 Types of Binary Trees 6.4 Implementation of Binary Trees 6.4.1 Pointer-based Implementation 6.4.2 Array-based Implementation 6.4.3 Linked List-based Implementation 6.5 Traversal 6.5.1 In-order Traversal 6.5.2 Pre-order Traversal 6.5.3 Post-order Traversal 6.5.4 Level-ordered Traversal 6.6 Basic Operations 6.6.1 Inserting a Node 6.6.2 Deleting a Node 6.7 Threaded Binary Trees 6.8 Applications of Trees 7. Search Trees 7.1 Introduction 7.2 Binary Search Trees 7.2.1 Operation-Search Value 7.2.2 Operation-Insert a Node 7.2.3 Operation-Delete a Node 7.2.4 Implementation of Binary Search Trees 7.2.5 Complexity Analysis 7.3 Avl Trees 7.3.1 Operation-Search Value 7.3.2 Operation- Insert a Node 7.3.3 Operation-Deleting a Node 7.3.4 Implementation of AVL Trees 7.3.5 Complexity Analysis 7.4 Red-Black Trees 7.4.1 Operation-Insertion 7.4.2 Operation-Delete a Node 7.4.3 Implementation of Red-Black Trees 7.4.4 Complexity Analysis 7.5 Splay Trees 7.5.1 Operation-'Search a Value' or 'Splay a Value' 7.5.2 Operation-Insert a Node 7.5.3 Operation-Delete a Node 7.5.4 Implementation of Splay Trees 7.5.5 Complexity Analysis 7.6 B-TREES 7.6.1 In-order Traversal 7.6.2 Operation-Search a Node 7.6.3 Operation-Insert a Node 7.6.4 Operation-Delete a Node 7.6.5 Implementation of B-Trees 7.6.6 Complexity Analysis 7.7 Applications of Search Trees 8. Priority Queues and Heaps 8.1 Introduction-Heap 8.2 Binary Heaps 8.2.1 Operation-Insertion 8.2.2 Operation-Deletion 8.2.3 Implementation of Max Heap 8.2.4 Complexity Analysis 8.3 Leftist Heaps 8.3.1 Operation-Merging 8.3.2 Operation-Insertion 8.3.3 Operation-Deletion 8.3.4 Implementation of Leftist Heaps 8.3.5 Complexity Analysis 8.4 Priority Queues Using Heaps 8.5 Applications of Heaps 9. Other Non-Linear Data Structures 9.1 Introduction-Non-Linear, Non-Hierarchical Data Structures 9.2 Trie 9.2.1 Insertion of a Key 9.2.2 Searching a Key 9.2.3 Implementation 9.2.4 Complexity Analysis 9.2.5 Applications of Trie 9.3 Dictionary 9.3.1 Inserting a Key and its Value 9.3.2 Deleting a Key along with Value 9.3.3 Merging Dictionaries 9.3.4 Handling Tabular Data 9.3.5 Implementation 9.3.6 Complexity 9.3.7 Applications of Dictionary 9.4 Hash Table 9.4.1 Linear Probing 9.4.2 Chaining the Elements 9.4.3 Implementation 9.4.4 Complexity 9.4.5 Applications of Hash Tables 9.5 Sets 9.5.1 Operation-Insertion of an Element 9.5.2 Operation-Removal of Elements 9.5.3 Binary Set Operations 9.5.4 Other Utility Functions 9.5.5 Implementation 9.5.6 Complexity Analysis 9.5.7 Applications of Set 9.5.8 Variants of Set Data Structure 9.5 Counter/Multisets 9.5.1 Accessing 9.5.2 Binary Operations on Counters 10. Memory Management 10.1 Introduction-Memory Management 10.2 Data Structures in Memory Management 10.3 B+ Trees 10.3.1 Working 10.3 Memory Hierarchy and Caching 11. Graphs 11.1 Graph-Introduction 11.2 Components of a Graph 11.4 Graph Representation 11.4.1 Linked List Based Representation 11.4.2 Matrix Based Representation 11.2.3 Pointer Based Representation 11.2.4 Performance Comparison of Graph Representation 11.3 Types of Graph 11.4 Working 11.4.1 Insertion of a node 11.4.2 Insertion of an edge 11.4.3 Deletion of an edge 11.4.4 Deletion of a node 11.5 Traversal 11.5.1 Depth First Search 11.5.2 Breadth First Search 11.7 Implementation of Graph 11.7.1 Adjacency List Based Representation 11.7.2 Adjacency Matrix Based Representation 11.7.3 Incidence Matrix Based Representation 11.8 Complexity Analysis 11.9 Topological Sorting 11.9.1 Implementation 11.9.2 Complexity Analysis 11.1 Spanning Tree 11.10.1 Kruskal Algorithm 11.10.2 Prim's Algorithm 11.11 Shortest Distance 11.11.1 Dijkstra's Algorithm 11.11.2 Floyd-Warshall Algorithm 11.12 Graph Connectivity 11.12 Applications Of Graph 12. Sorting 12.1 Introduction to Sorting 12.2 Importance of Sorting Algorithms 12.3 Exchange Sort 12.3.1 Bubble Sort 12.4 Selection Sort 12.4.1 Straight Selection Sort 12.4.2 Heap Sort 12.5 Insertion Sort 12.5.1 Simple Insertion Sort 12.5.2 Shell Sort 12.6 Divide and Conquer 12.6.1 Merge Sort 12.6.2 Quick Sort 12.7 Distributed Sort 12.7.1 Bucket Sort 12.7.2 Counting Sort 12.7.3 Radix Sort 12.8 Comparison of Sorts 13. Searching 13.1 Introduction-What is Searching? 13.2 Linear Search 13.2.1 Working 13.2.2 Implementation 13.3.3 Complexity Analysis 13.3 Binary Search 13.3.1 Working 13.3.2 Implementation 13.3.3 Complexity Analysis 13.4 Tree-Based Search 13.5 Hashing 13.5.1 Working 13.5.2 Problem of Collision 13.5.4 Implementation 13.5.5 Complexity Analysis 13.6 Case Studies of Searching Techniques ANNEXURE 1 - Python classes and built in Functions

About the Author :
Shriram K. Vasudevan is Assistant Professor, Dept. of Computer Science& Engineering, Amrita Vishwavidyapeetham, Coimbatore. He holds a Ph.D. in Embedded Systems with over 11 years of industrial and academic experience. He has worked with major multinational companies like Wipro and Aricent Technologies before joining academics. Abhishek S. Nagarajan is a Data scientist in [24]7.ai in Bangalore. His primary job is developing and deploying data-driven machine learning models. Other than models he is also responsible for maintaining business metrics based on client requirements. He also has a basic knowledge on the retargeting and personalization projects for customer acquisition in clients. He proposed a personalization based targeting model for an event called 'ideon' and the same selected for final and has been planned for implementation in leading clients. His areas of interests are Data sciences, Data structures, Internet of Things, Augmented reality and Mas personalization. Karthick Nanmaran is Assistant Professor, Department of CSE, SRM Institute of Science and Technology, Chennai.


Best Sellers


Product Details
  • ISBN-13: 9780190124083
  • Publisher: OUP India
  • Publisher Imprint: OUP India
  • Height: 242 mm
  • No of Pages: 360
  • Spine Width: 15 mm
  • Width: 189 mm
  • ISBN-10: 0190124083
  • Publisher Date: 12 Mar 2021
  • Binding: Paperback
  • Language: English
  • Returnable: Y
  • Weight: 502 gr


Similar Products

Add Photo
Add Photo

Customer Reviews

REVIEWS      0     
Click Here To Be The First to Review this Product
Data Structures using Python
OUP India -
Data Structures using Python
Writing guidlines
We want to publish your review, so please:
  • keep your review on the product. Review's that defame author's character will be rejected.
  • Keep your review focused on the product.
  • Avoid writing about customer service. contact us instead if you have issue requiring immediate attention.
  • Refrain from mentioning competitors or the specific price you paid for the product.
  • Do not include any personally identifiable information, such as full names.

Data Structures using Python

Required fields are marked with *

Review Title*
Review
    Add Photo Add up to 6 photos
    Would you recommend this product to a friend?
    Tag this Book Read more
    Does your review contain spoilers?
    What type of reader best describes you?
    I agree to the terms & conditions
    You may receive emails regarding this submission. Any emails will include the ability to opt-out of future communications.

    CUSTOMER RATINGS AND REVIEWS AND QUESTIONS AND ANSWERS TERMS OF USE

    These Terms of Use govern your conduct associated with the Customer Ratings and Reviews and/or Questions and Answers service offered by Bookswagon (the "CRR Service").


    By submitting any content to Bookswagon, you guarantee that:
    • You are the sole author and owner of the intellectual property rights in the content;
    • All "moral rights" that you may have in such content have been voluntarily waived by you;
    • All content that you post is accurate;
    • You are at least 13 years old;
    • Use of the content you supply does not violate these Terms of Use and will not cause injury to any person or entity.
    You further agree that you may not submit any content:
    • That is known by you to be false, inaccurate or misleading;
    • That infringes any third party's copyright, patent, trademark, trade secret or other proprietary rights or rights of publicity or privacy;
    • That violates any law, statute, ordinance or regulation (including, but not limited to, those governing, consumer protection, unfair competition, anti-discrimination or false advertising);
    • That is, or may reasonably be considered to be, defamatory, libelous, hateful, racially or religiously biased or offensive, unlawfully threatening or unlawfully harassing to any individual, partnership or corporation;
    • For which you were compensated or granted any consideration by any unapproved third party;
    • That includes any information that references other websites, addresses, email addresses, contact information or phone numbers;
    • That contains any computer viruses, worms or other potentially damaging computer programs or files.
    You agree to indemnify and hold Bookswagon (and its officers, directors, agents, subsidiaries, joint ventures, employees and third-party service providers, including but not limited to Bazaarvoice, Inc.), harmless from all claims, demands, and damages (actual and consequential) of every kind and nature, known and unknown including reasonable attorneys' fees, arising out of a breach of your representations and warranties set forth above, or your violation of any law or the rights of a third party.


    For any content that you submit, you grant Bookswagon a perpetual, irrevocable, royalty-free, transferable right and license to use, copy, modify, delete in its entirety, adapt, publish, translate, create derivative works from and/or sell, transfer, and/or distribute such content and/or incorporate such content into any form, medium or technology throughout the world without compensation to you. Additionally,  Bookswagon may transfer or share any personal information that you submit with its third-party service providers, including but not limited to Bazaarvoice, Inc. in accordance with  Privacy Policy


    All content that you submit may be used at Bookswagon's sole discretion. Bookswagon reserves the right to change, condense, withhold publication, remove or delete any content on Bookswagon's website that Bookswagon deems, in its sole discretion, to violate the content guidelines or any other provision of these Terms of Use.  Bookswagon does not guarantee that you will have any recourse through Bookswagon to edit or delete any content you have submitted. Ratings and written comments are generally posted within two to four business days. However, Bookswagon reserves the right to remove or to refuse to post any submission to the extent authorized by law. You acknowledge that you, not Bookswagon, are responsible for the contents of your submission. None of the content that you submit shall be subject to any obligation of confidence on the part of Bookswagon, its agents, subsidiaries, affiliates, partners or third party service providers (including but not limited to Bazaarvoice, Inc.)and their respective directors, officers and employees.

    Accept

    Fresh on the Shelf


    Inspired by your browsing history


    Your review has been submitted!

    You've already reviewed this product!