Data Structure and Algorithmic Thinking with Python: Data Structure and Algorithmic Puzzles 1st Edition by Narasimha Karumanchi – Ebook PDF Instant Download/Delivery: 8192107590, 978-8192107592
Full dowload Data Structure and Algorithmic Thinking with Python: Data Structure and Algorithmic Puzzles 1st Edition after payment
Product details:
ISBN 10: 8192107590
ISBN 13: 978-8192107592
Author: Narasimha Karumanchi
Data Structure and Algorithmic Thinking with Python: Data Structure and Algorithmic Puzzles 1st Edition: The sample chapter should give you a very good idea of the quality and style of our book. In particular, be sure you are comfortable with the level and with our Python coding style. This book focuses on giving solutions for complex problems in data structures and algorithm. It even provides multiple solutions for a single problem, thus familiarizing readers with different possible approaches to the same problem. «Data Structure and Algorithmic Thinking with Python» is designed to give a jump-start to programmers, job hunters and those who are appearing for exams. All the code in this book are written in Python. It contains many programming puzzles that not only encourage analytical thinking, but also prepares readers for interviews. This book, with its focused and practical approach, can help readers quickly pick up the concepts and techniques for developing efficient and effective solutions to problems.
Data Structure and Algorithmic Thinking with Python: Data Structure and Algorithmic Puzzles 1st Edition Table of contents:
0. Organization of Chapters
0.1 What Is This Book About?
0.2 Should I Buy This Book?
0.3 Organization of Chapters
0.4 Some Prerequisites
1. Introduction
1.1 Variables
1.2 Data Types
1.3 Data Structures
1.4 Abstract Data Types (ADTs)
1.5 What is an Algorithm?
2. Recursion and Backtracking
2.1 Introduction
2.2 What is Recursion?
2.3 Why Recursion?
2.4 Format of a Recursive Function
2.5 Recursion and Memory (Visualization)
3. Linked Lists
3.1 What is a Linked List?
3.2 Linked Lists ADT
3.3 Why Linked Lists?
3.4 Arrays Overview
3.5 Comparison of Linked Lists with Arrays and Dynamic Arrays
3.6 Singly Linked Lists
4. Stacks
4.1 What is a Stack?
4.2 How Stacks are Used
4.3 Stack ADT
4.4 Applications
4.5 Implementation
4.6 Comparison of Implementations
4.7 Stacks: Problems & Solutions
5. Queues
5.1 What is a Queue?
5.2 How are Queues Used
5.3 Queue ADT
5.4 Exceptions
5.5 Applications
5.6 Implementation
5.7 Queues: Problems & Solutions
6. Trees
6.1 What is a Tree?
6.2 Glossary
6.3 Binary Trees
6.4 Types of Binary Trees
6.5 Properties of Binary Trees
7. Priority Queues and Heaps
7.1 What is a Priority Queue?
7.2 Priority Queue ADT
7.3 Priority Queue Applications
7.4 Priority Queue Implementations
7.5 Heaps and Binary Heaps
7.6 Binary Heaps
7.7 Heapsort
7.8 Priority Queues [Heaps]: Problems & Solutions
8. Disjoint Sets ADT
8.1 Introduction
8.2 Equivalence Relations and Equivalence Classes
8.3 Disjoint Sets ADT
8.4 Applications
8.5 Tradeoffs in Implementing Disjoint Sets ADT
9. Graph Algorithms
9.1 Introduction
9.2 Glossary
9.3 Applications of Graphs
9.4 Graph Representation
9.5 Graph Traversals
10. Sorting
10.1 What is Sorting?
10.2 Why is Sorting Necessary?
10.3 Classification of Sorting Algorithms
11. Searching
11.1 What is Searching?
11.2 Why do we need Searching?
11.3 Types of Searching
11.4 Unordered Linear Search
11.5 Sorted/Ordered Linear Search
11.6 Binary Search
11.7 Comparing Basic Searching Algorithms
11.8 Symbol Tables and Hashing
11.9 String Searching Algorithms
11.10 Searching: Problems & Solutions
12. Selection Algorithms [Medians]
12.1 What are Selection Algorithms?
12.2 Selection by Sorting
12.3 Partition-based Selection Algorithm
12.4 Linear Selection Algorithm – Median of Medians Algorithm
12.5 Finding the K Smallest Elements in Sorted Order
12.6 Selection Algorithms: Problems & Solutions
13. Symbol Tables
13.1 Introduction
13.2 What are Symbol Tables?
13.3 Symbol Table Implementations
13.4 Comparison Table of Symbols for Implementations
14. Hashing
14.1 What is Hashing?
14.2 Why Hashing?
14.3 HashTable ADT
14.4 Understanding Hashing
15. String Algorithms
15.1 Introduction
15.2 String Matching Algorithms
15.3 Brute Force Method
15.4 Robin-Karp String Matching Algorithm
15.5 String Matching with Finite Automata
16. Algorithms Design Techniques
16.1 Introduction
16.2 Classification
16.3 Classification by Implementation Method
16.4 Classification by Design Method
16.5 Other Classifications
17. Greedy Algorithms
17.1 Introduction
17.2 Greedy Strategy
18. Divide and Conquer Algorithms
18.1 Introduction
18.2 What is Divide and Conquer Strategy?
18.3 Does Divide and Conquer Always Work?
18.4 Divide and Conquer Visualization
18.5 Understanding Divide and Conquer
19. Dynamic Programming
19.1 Introduction
19.2 What is Dynamic Programming Strategy?
19.3 Properties of Dynamic Programming Strategy
19.4 Can Dynamic Programming Solve All Problems?
19.5 Dynamic Programming Approaches
19.6 Examples of Dynamic Programming Algorithms
19.7 Understanding Dynamic Programming
19.8 Longest Common Subsequence
19.9 Dynamic Programming: Problems & Solutions
20. Complexity Classes
20.1 Introduction
20.2 Polynomial/Exponential Time
20.3 What is a Decision Problem?
20.4 Decision Procedure
20.5 What is a Complexity Class?
20.6 Types of Complexity Classes
20.7 Reductions
20.8 Complexity Classes: Problems & Solutions
21. Miscellaneous Concepts
21.1 Introduction
21.2 Hacks on Bitwise Programming
21.3 Other Programming Questions with Solutions
People also search for Data Structure and Algorithmic Thinking with Python: Data Structure and Algorithmic Puzzles 1st Edition:
data structure and algorithms algorithmic
algorithmic and data structure problems
data structures and algorithms topics
what data structure and algorithm
best data structure and algorithms books
Reviews
There are no reviews yet.