Data structure and algorithms using python

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Data Structures and Algorithms in Python ( DSA )

Deepali-Srivastava/data-structures-and-algorithms-in-python

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Data Structures and Algorithms in Python

This “Data Structures and Algorithms in Python” repository is for the students of my online course available on Udemy. It contains the source code of all the programs used in the course.

  • Thoroughly detailed course with complete working programs
  • Contains lots of animations to help you visualize the concepts
  • Includes over 100 Quiz questions
  • Builds a solid foundation in Data Structures and Algorithms
  • Prepares you for coding interviews
  • Lifetime Access

data-structures- and-algorithms-in-python data-structures- and-algorithms-in-python-2 python-programming-in-depth exception-handling-in-python data-structures- and-algorithms-in-java linux-commands

© Copyright Deepali Srivastava : All rights reserved. Not to be used for commercial purposes.

About

Data Structures and Algorithms in Python ( DSA )

Источник

Data Structures and Algorithms with Python

This is a preview of subscription content, access via your institution.

Читайте также:  Java list string distinct

Table of contents (20 chapters)

Front Matter

Python Programming 101

Computational Complexity

Recursion

Sequences

Sets and Maps

Trees

Graphs

Membership Structures

Heaps

Balanced Binary Search Trees

B-Trees

Appendix A: Integer Operators

Appendix B: Float Operators

Appendix C: String Operators and Methods

Appendix D: List Operators and Methods

Appendix E: Dictionary Operators and Methods

Appendix F: Turtle Methods

Appendix G: TurtleScreen Methods

About this book

This textbook explains the concepts and techniques required to write programs that can handle large amounts of data efficiently. Project-oriented and classroom-tested, the book presents a number of important algorithms supported by examples that bring meaning to the problems faced by computer programmers. The idea of computational complexity is also introduced, demonstrating what can and cannot be computed efficiently so that the programmer can make informed judgements about the algorithms they use. Features: includes both introductory and advanced data structures and algorithms topics, with suggested chapter sequences for those respective courses provided in the preface; provides learning goals, review questions and programming exercises in each chapter, as well as numerous illustrative examples; offers downloadable programs and supplementary files at an associated website, with instructor materials available from the author; presents a primer on Python for those from a different language background.

Keywords

  • Algorithms
  • Computational Complexity
  • Data Structures
  • Programming
  • Python
  • algorithm analysis and problem complexity

Authors and Affiliations

Luther College, Decorah, USA

About the authors

Dr. Kent D. Lee is Professor of Computer Science at Luther College, Decorah, Iowa, USA. He is the author of the successful Springer textbook Python Programming Fundamentals and the forthcoming Foundations of Programming Languages.

Dr. Steve Hubbard is Professor of Mathematics and Computer Science at Luther College.

Bibliographic Information

  • Book Title : Data Structures and Algorithms with Python
  • Authors : Kent D. Lee, Steve Hubbard
  • Series Title : Undergraduate Topics in Computer Science
  • DOI : https://doi.org/10.1007/978-3-319-13072-9
  • Publisher : Springer Cham
  • eBook Packages : Computer Science , Computer Science (R0)
  • Copyright Information : Springer Nature Switzerland AG 2015
  • Softcover ISBN : 978-3-319-13071-2 Published: 22 January 2015
  • eBook ISBN : 978-3-319-13072-9 Published: 12 January 2015
  • Series ISSN : 1863-7310
  • Series E-ISSN : 2197-1781
  • Edition Number : 1
  • Number of Pages : XV, 363
  • Number of Illustrations : 8 b/w illustrations, 139 illustrations in colour
  • Topics : Data Science , Python , Algorithms , Programming Techniques

Источник

Data Structures & Algorithms in Python

Data Structures & Algorithms in Python Front Cover

This practical introduction to data structures and algorithms can help every programmer who wants to write more efficient software. Building on Robert Lafore’s legendary Java-based guide, this book helps you understand exactly how data structures and algorithms operate. You’ll learn how to efficiently apply them with the enormously popular Python language and scale your code to handle today’s big data challenges.

Throughout, the authors focus on real-world examples, communicate key ideas with intuitive, interactive visualizations, and limit complexity and math to what you need to improve performance. Step-by-step, they introduce arrays, sorting, stacks, queues, linked lists, recursion, binary trees, 2-3-4 trees, hash tables, spatial data structures, graphs, and more. Their code examples and illustrations are so clear, you can understand them even if you’re a near-beginner, or your experience is with other procedural or object-oriented languages.

Читайте также:  Абстрактный класс java может наследовать

Build core computer science skills that take you beyond merely “writing code” Learn how data structures make programs (and programmers) more efficient See how data organization and algorithms affect how much you can do with today’s, and tomorrow’s, computing resources Develop data structure implementation skills you can use in any language Choose the best data structure(s) and algorithms for each programming problem–and recognize which ones to avoid Data Structures & Algorithms in Python is packed with examples, review questions, individual and team exercises, thought experiments, and longer programming projects. It’s ideal for both self-study and classroom settings, and either as a primary text or as a complement to a more formal presentation.

Cover Page About This eBook Title Page Copyright Page Contents at a Glance Table of Contents Pearson’s Commitment to Diversity, Equity, and Inclusion Dedication Page Acknowledgments Acknowledgments to the First Edition, Data Structures and Algorithms in Java Acknowledgments to the Second Edition About the Authors Introduction Who This Book Is For What You Need to Know Before You Read This Book What You Can Learn from This Book Structure History Figure Credits Chapter 1. Overview What Are Data Structures and Algorithms? Overview of Data Structures Overview of Algorithms Some Definitions Programming in Python Object-Oriented Programming Summary Questions Experiments Chapter 2. Arrays The Array Visualization Tool Using Python Lists to Implement the Array Class The OrderedArray Visualization Tool Binary Search Python Code for an OrderedArray Class Logarithms Storing Objects Big O Notation Why Not Use Arrays for Everything? Summary Questions Experiments Programming Projects Chapter 3. Simple Sorting How Would You Do It? Bubble Sort Selection Sort Insertion Sort Comparing the Simple Sorts Summary Questions Experiments Programming Projects Chapter 4. Stacks and Queues Different Structures for Different Use Cases Stacks Queues Priority Queues Parsing Arithmetic Expressions Summary Questions Experiments Programming Projects Chapter 5. Linked Lists Links The LinkedList Visualization Tool A Simple Linked List Double-Ended Lists Linked List Efficiency Abstract Data Types and Objects Ordered Lists Doubly Linked Lists Circular Lists Iterators Summary Questions Experiments Programming Projects Chapter 6. Recursion Triangular Numbers Factorials Anagrams A Recursive Binary Search The Tower of Hanoi Sorting with mergesort Eliminating Recursion Some Interesting Recursive Applications Summary Questions Experiments Programming Projects Chapter 7. Advanced Sorting Shellsort Partitioning Quicksort Radix Sort Timsort Summary Questions Experiments Programming Projects Chapter 8. Binary Trees Why Use Binary Trees? Tree Terminology An Analogy How Do Binary Search Trees Work? Finding a Node Inserting a Node Traversing the Tree Finding Minimum and Maximum Key Values Deleting a Node The Efficiency of Binary Search Trees Trees Represented as Arrays Printing Trees Duplicate Keys The BinarySearchTreeTester.py Program The Huffman Code Summary Questions Experiments Programming Projects Chapter 9. 2-3-4 Trees and External Storage Introduction to 2-3-4 Trees The Tree234 Visualization Tool Python Code for a 2-3-4 Tree Efficiency of 2-3-4 Trees 2-3 Trees External Storage Summary Questions Experiments Programming Projects Chapter 10. AVL and Red-Black Trees Our Approach to the Discussion Balanced and Unbalanced Trees AVL Trees The Efficiency of AVL Trees Red-Black Trees Using the Red-Black Tree Visualization Tool Experimenting with the Visualization Tool Rotations in Red-Black Trees Inserting a New Node Deletion The Efficiency of Red-Black Trees 2-3-4 Trees and Red-Black Trees Red-Black Tree Implementation Summary Questions Experiments Programming Projects Chapter 11. Hash Tables Introduction to Hashing Open Addressing Separate Chaining Hash Functions Hashing Efficiency Hashing and External Storage Summary Questions Experiments Programming Projects Chapter 12. Spatial Data Structures Spatial Data Computing Distances Between Points Circles and Bounding Boxes Searching Spatial Data Lists of Points Grids Quadtrees Theoretical Performance and Optimizations Practical Considerations Further Extensions Summary Questions Experiments Programming Projects Chapter 13. Heaps Introduction to Heaps The Heap Visualization Tool Python Code for Heaps A Tree-Based Heap Heapsort Order Statistics Summary Questions Experiments Programming Projects Chapter 14. Graphs Introduction to Graphs Traversal and Search Minimum Spanning Trees Topological Sorting Connectivity in Directed Graphs Summary Questions Experiments Programming Projects Chapter 15. Weighted Graphs Minimum Spanning Tree with Weighted Graphs The Shortest-Path Problem The All-Pairs Shortest-Path Problem Efficiency Intractable Problems Summary Questions Experiments Programming Projects Chapter 16. What to Use and Why Analyzing the Problem Foundational Data Structures Special-Ordering Data Structures Sorting Specialty Data Structures External Storage Onward Appendixes Appendix A. Running the Visualizations For Developers: Running and Changing the Visualizations For Managers: Downloading and Running the Visualizations For Others: Viewing the Visualizations on the Internet Using the Visualizations Appendix B. Further Reading Data Structures and Algorithms Object-Oriented Programming Languages Object-Oriented Design (OOD) and Software Engineering Appendix C. Answers to Questions Chapter 1, “Overview” Chapter 2, “Arrays” Chapter 3, “Simple Sorting” Chapter 4, “Stacks and Queues” Chapter 5, “Linked Lists” Chapter 6, “Recursion” Chapter 7, “Advanced Sorting” Chapter 8, “Binary Trees” Chapter 9, “2-3-4 Trees and External Storage” Chapter 10, “AVL and Red-Black Trees” Chapter 11, “Hash Tables” Chapter 12, “Spatial Data Structures” Chapter 13, “Heaps” Chapter 14, “Graphs” Chapter 15, “Weighted Graphs” Index Code Snippets

Источник

Оцените статью