
Data structures and algorithms implemented in Python
Description
Book Introduction
From theory to practice,
The definitive guide to learning data structures and algorithms!
This book covers core topics broadly and deeply, from basic concepts to algorithmic optimization and advanced applications.
Each topic is structured according to the flow of 'concept understanding - principle exploration - implementation completion', and you can develop solid thinking skills through the process of directly implementing the operating principles and analyzing performance.
It can be used as a balanced introductory book for beginners and as an in-depth reference book for intermediate and advanced developers.
* This book was developed as a textbook for university lectures, and does not provide solutions to practice problems. It only provides hints along with example sources.
The definitive guide to learning data structures and algorithms!
This book covers core topics broadly and deeply, from basic concepts to algorithmic optimization and advanced applications.
Each topic is structured according to the flow of 'concept understanding - principle exploration - implementation completion', and you can develop solid thinking skills through the process of directly implementing the operating principles and analyzing performance.
It can be used as a balanced introductory book for beginners and as an in-depth reference book for intermediate and advanced developers.
* This book was developed as a textbook for university lectures, and does not provide solutions to practice problems. It only provides hints along with example sources.
- You can preview some of the book's contents.
Preview
index
CHAPTER 01 Introduction to Python
1.1 Python Overview
1.2 Objects in the Python Language
1.3 Expressions, Operators, and Precedence
1.4 Control Flow
1.5 Function
1.6 Simple input and output
1.7 Exception Handling
1.8 Iterators and Generators
1.9 Other Useful Features of Python
1.10 Scope and Namespaces
1.11 Modules and import statements
1.12 Practice Problems
CHAPTER 02 Object-Oriented Programming
2.1 Goals, Principles, and Patterns
2.2 Software Development
2.3 Class Definition
2.4 Inheritance
2.5 Namespaces and Object Orientation
2.6 Shallow copy and deep copy
2.7 Practice Problems
CHAPTER 03 Algorithm Analysis
3.1 Experiment-based performance analysis
3.2 Seven functions used in this book
3.3 Asymptotic analysis
3.4 Simple proof techniques
3.5 Practice Problems
CHAPTER 04 RECURSION
4.1 Key Cases
4.2 Analyzing Recursive Algorithms
4.3 Incorrect use of recursion
4.4 Additional examples of recursion
4.5 Designing a Recursive Algorithm
4.6 Removing tail recursion
4.7 Practice Problems
CHAPTER 05 Array-based sequences
5.1 Python's Sequence Types
5.2 Low-level arrays
5.3 Dynamic Arrays and Split Payments
5.4 Efficiency of Python Sequence Types
5.5 Using array-based sequences
5.6 Multidimensional Datasets
5.7 Practice Problems
CHAPTER 06 Stacks, Queues, and Two-Way Queues
6.1 Stack
6.2 Queue
6.3 Two-way queue
6.4 Practice Problems
CHAPTER 07 LINKED LISTS
7.1 Singly Linked Lists
7.2 Circular Linked List
7.3 Doubly Linked Lists
7.4 Position List ADT
7.5 Sorting the position list
7.6 Case Study: Access Frequency Management
7.7 Array-based sequences and link-based sequences
7.8 Practice Problems
CHAPTER 08 Tree
8.1 General Tree
8.2 Binary Tree
8.3 Tree Implementation
8.4 Tree Traversal Algorithm
8.5 Case Study: Expression Trees
8.6 Practice Problems
CHAPTER 09 PRIORITY QUEUE
9.1 Priority Queue Abstract Data Type
9.2 Implementing a Priority Queue
9.3 Heap
9.4 Sorting using a priority queue
9.5 Adaptive Priority Queues
9.6 Practice Problems
CHAPTER 10 Maps, Hash Tables, and Skip Lists
10.1 Maps and Dictionaries
10.2 Hash Table
10.3 Sorted Map
10.4 Skip List
10.5 Sets, Multisets, and Multimaps
10.6 Practice Problems
CHAPTER 11 Search Tree
11.1 Binary Search Tree
11.2 Balanced Search Tree
11.3 AVL tree
11.4 Splay Tree
11.5 (2, 4) tree
11.6 Red-Black Tree
11.7 Practice Problems
CHAPTER 12 SORTING AND SEARCHING
12.1 The Need for Learning Sorting Algorithms
12.2 Merge Sort
12.3 Quick sort
12.4 Sorting from an algorithmic perspective
12.5 Comparing Sorting Algorithms
12.6 Python's built-in sorting functions
12.7 Selection
12.8 Practice Problems
CHAPTER 13 Text Processing
13.1 Rich Digitized Text
13.2 Pattern Matching Algorithm
13.3 Dynamic Programming
13.4 Text Compression and Greedy Techniques
13.5 try
13.6 Practice Problems
CHAPTER 14 Graphs
14.1 Graph
14.2 Data Structures for Graphs
14.3 Graph Traversal
14.4 Transitive closure
14.5 Directed Acyclic Graphs
14.6 Shortest path
14.7 Minimum Spanning Tree
14.8 Practice Problems
CHAPTER 15 Memory Management and B-Trees
01 Definition of operating system and learning method
02 Brief History of Operating Systems
Summary | Quiz
Appendix A Strings in Python
Appendix B Useful Math Concepts
1.1 Python Overview
1.2 Objects in the Python Language
1.3 Expressions, Operators, and Precedence
1.4 Control Flow
1.5 Function
1.6 Simple input and output
1.7 Exception Handling
1.8 Iterators and Generators
1.9 Other Useful Features of Python
1.10 Scope and Namespaces
1.11 Modules and import statements
1.12 Practice Problems
CHAPTER 02 Object-Oriented Programming
2.1 Goals, Principles, and Patterns
2.2 Software Development
2.3 Class Definition
2.4 Inheritance
2.5 Namespaces and Object Orientation
2.6 Shallow copy and deep copy
2.7 Practice Problems
CHAPTER 03 Algorithm Analysis
3.1 Experiment-based performance analysis
3.2 Seven functions used in this book
3.3 Asymptotic analysis
3.4 Simple proof techniques
3.5 Practice Problems
CHAPTER 04 RECURSION
4.1 Key Cases
4.2 Analyzing Recursive Algorithms
4.3 Incorrect use of recursion
4.4 Additional examples of recursion
4.5 Designing a Recursive Algorithm
4.6 Removing tail recursion
4.7 Practice Problems
CHAPTER 05 Array-based sequences
5.1 Python's Sequence Types
5.2 Low-level arrays
5.3 Dynamic Arrays and Split Payments
5.4 Efficiency of Python Sequence Types
5.5 Using array-based sequences
5.6 Multidimensional Datasets
5.7 Practice Problems
CHAPTER 06 Stacks, Queues, and Two-Way Queues
6.1 Stack
6.2 Queue
6.3 Two-way queue
6.4 Practice Problems
CHAPTER 07 LINKED LISTS
7.1 Singly Linked Lists
7.2 Circular Linked List
7.3 Doubly Linked Lists
7.4 Position List ADT
7.5 Sorting the position list
7.6 Case Study: Access Frequency Management
7.7 Array-based sequences and link-based sequences
7.8 Practice Problems
CHAPTER 08 Tree
8.1 General Tree
8.2 Binary Tree
8.3 Tree Implementation
8.4 Tree Traversal Algorithm
8.5 Case Study: Expression Trees
8.6 Practice Problems
CHAPTER 09 PRIORITY QUEUE
9.1 Priority Queue Abstract Data Type
9.2 Implementing a Priority Queue
9.3 Heap
9.4 Sorting using a priority queue
9.5 Adaptive Priority Queues
9.6 Practice Problems
CHAPTER 10 Maps, Hash Tables, and Skip Lists
10.1 Maps and Dictionaries
10.2 Hash Table
10.3 Sorted Map
10.4 Skip List
10.5 Sets, Multisets, and Multimaps
10.6 Practice Problems
CHAPTER 11 Search Tree
11.1 Binary Search Tree
11.2 Balanced Search Tree
11.3 AVL tree
11.4 Splay Tree
11.5 (2, 4) tree
11.6 Red-Black Tree
11.7 Practice Problems
CHAPTER 12 SORTING AND SEARCHING
12.1 The Need for Learning Sorting Algorithms
12.2 Merge Sort
12.3 Quick sort
12.4 Sorting from an algorithmic perspective
12.5 Comparing Sorting Algorithms
12.6 Python's built-in sorting functions
12.7 Selection
12.8 Practice Problems
CHAPTER 13 Text Processing
13.1 Rich Digitized Text
13.2 Pattern Matching Algorithm
13.3 Dynamic Programming
13.4 Text Compression and Greedy Techniques
13.5 try
13.6 Practice Problems
CHAPTER 14 Graphs
14.1 Graph
14.2 Data Structures for Graphs
14.3 Graph Traversal
14.4 Transitive closure
14.5 Directed Acyclic Graphs
14.6 Shortest path
14.7 Minimum Spanning Tree
14.8 Practice Problems
CHAPTER 15 Memory Management and B-Trees
01 Definition of operating system and learning method
02 Brief History of Operating Systems
Summary | Quiz
Appendix A Strings in Python
Appendix B Useful Math Concepts
Detailed image

Publisher's Review
Programming Fundamentals and Object-Oriented Design (Chapters 1-2)
It explains the basic concepts of Python syntax and object-oriented programming, and lays the foundation for implementing data structures.
Algorithm Analysis and Recursion (Chapters 3-4)
It covers the analysis techniques required to evaluate the performance of algorithms, as well as the structure and implementation of recursive calls.
Core Data Structures and Algorithms (Chapters 5-13)
It covers a wide range of core topics, including array-based sequences, stacks and queues, linked lists, trees, priority queues, hash tables, search trees, sorting, and text processing, and presents the implementation methods, performance characteristics, and application examples of each data structure.
Graphs, Advanced Topics, and System Integration (Chapters 14-15)
It covers the practical system-related aspects of data structures such as memory hierarchy, cache, and external storage-based B-tree, and expands the application capabilities based on hardware-level understanding.
String processing and mathematical background (Appendix AB)
An appendix is provided as reference material to supplement learning.
Appendix A summarizes Python's string processing functions, and Appendix B summarizes mathematical concepts such as exponents, logarithms, asymptotic notation, and probability required for algorithm analysis.
It explains the basic concepts of Python syntax and object-oriented programming, and lays the foundation for implementing data structures.
Algorithm Analysis and Recursion (Chapters 3-4)
It covers the analysis techniques required to evaluate the performance of algorithms, as well as the structure and implementation of recursive calls.
Core Data Structures and Algorithms (Chapters 5-13)
It covers a wide range of core topics, including array-based sequences, stacks and queues, linked lists, trees, priority queues, hash tables, search trees, sorting, and text processing, and presents the implementation methods, performance characteristics, and application examples of each data structure.
Graphs, Advanced Topics, and System Integration (Chapters 14-15)
It covers the practical system-related aspects of data structures such as memory hierarchy, cache, and external storage-based B-tree, and expands the application capabilities based on hardware-level understanding.
String processing and mathematical background (Appendix AB)
An appendix is provided as reference material to supplement learning.
Appendix A summarizes Python's string processing functions, and Appendix B summarizes mathematical concepts such as exponents, logarithms, asymptotic notation, and probability required for algorithm analysis.
GOODS SPECIFICS
- Date of issue: July 10, 2025
- Page count, weight, size: 832 pages | 1,443g | 188*257*29mm
- ISBN13: 9791173400278
You may also like
카테고리
korean
korean