
Data Structures: Learn Easily with Python
Description
Book Introduction
Data structure is a very important and fundamental subject in the computer field, as it is an academic discipline that aims to efficiently manage and structure data to be processed by a computer.
However, it is also a subject that students find difficult because it requires the ability to implement through coding along with an understanding of the concept.
This book focuses on helping beginners learn data structures more easily and enjoyably and develop the ability to apply them to solve various problems.
However, it is also a subject that students find difficult because it requires the ability to implement through coding along with an understanding of the concept.
This book focuses on helping beginners learn data structures more easily and enjoyably and develop the ability to apply them to solve various problems.
index
CHAPTER 01 Data Structures and Algorithms
1.1 Data Structures and Algorithms
1.2 Abstract data types
1.3 Performance Analysis of the Algorithm
1.4 Time Complexity Analysis: Recursive Algorithms
Practice problems
Chapter 02: Python Review
2.1 What is Python?
2.2 Data types, literals, and variables
2.3 Python Operations
2.4 Function calls and input/output functions
2.5 Control Structures and Iteration
2.6 Collection data types
2.7 User-defined functions
2.8 Scope of variables
2.9 Modules and Namespaces
2.10 Class
2.11 Operator Overload
2.12 Inheritance
Practice problems
CHAPTER 03 Lists and Sets
3.1 What is a list?
3.2 Lists in Python
3.3 List implemented as an array
3.4 Application of Lists: Line Editor
3.5 What is a set?
3.6 Implementation of sets
Practice problems
CHAPTER 04 STACK
4.1 What is a stack?
4.2 Stack Implementation
4.3 Stack Applications: Parentheses Checking
4.4 Application of Stacks: Calculating Formulas
4.5 Application of Stacks: Maze Navigation
Practice problems
CHAPTER 05 Cue and Deck
5.1 What is a queue?
5.2 Queue Implementation
5.3 Queue Applications: Breadth-First Search
5.4 What is a deck?
5.5 Deck Implementation
5.6 Priority Queue
5.7 Application of Priority Queues: Strategic Maze Navigation
Practice problems
CHAPTER 06 Connected Structure
6.1 What is a connected structure?
6.2 Application of Simple Linked Structures: Linked Stacks
6.3 Application of simple linking structure: linked list
6.4 Application of Circular Connection Structure: Connected Queues
6.5 Application of the double-link structure: linked deck
Practice problems
CHAPTER 07 Sorting and Searching
7.1 What is alignment?
7.2 Basic sorting algorithms
7.3 Sorting Applications: Revisiting Sets
7.4 Navigation and Map Structure
7.5 Basic Search Algorithms
7.6 Advanced Search Structures: Hashing
7.7 How to Fix Hashing Overflow
Practice problems
CHAPTER 08 Tree
8.1 What is a tree?
8.2 Binary Tree
8.3 Binary Tree Operations
8.4 Applications of Binary Trees: Morse Code Decision Trees
8.5 Heap Tree
8.6 Applications of Heaps: Huffman Codes
Practice problems
CHAPTER 09 Navigation Tree
9.1 What is a search tree?
9.2 Operations on binary search trees
9.3 Map using binary search tree
9.4 Advanced Learning: Balanced Binary Search Trees
Practice problems
CHAPTER 10 GRAPH
10.1 What is a graph?
10.2 Graph Representation
10.3 Exploring the Graph
10.4 Connected Component Inspection
10.5 Kidney Tree
10.6 Topological sorting
Practice problems
CHAPTER 11 Weighted Graphs
11.1 What is a weighted graph?
11.2 Representation of weighted graphs
11.3 Minimum-cost spanning tree
11.4 Shortest path
Practice problems
CHAPTER 12 ADVANCED SORTING
12.1 Various sorting algorithms
12.2 Shell Sort
12.3 Heap Sort
12.4 Merge Sort
12.5 Quick sort
12.6 Dual pivot quick sort
12.7 Radix sort
12.8 Performance Comparison of Sorting Algorithms
Practice problems
1.1 Data Structures and Algorithms
1.2 Abstract data types
1.3 Performance Analysis of the Algorithm
1.4 Time Complexity Analysis: Recursive Algorithms
Practice problems
Chapter 02: Python Review
2.1 What is Python?
2.2 Data types, literals, and variables
2.3 Python Operations
2.4 Function calls and input/output functions
2.5 Control Structures and Iteration
2.6 Collection data types
2.7 User-defined functions
2.8 Scope of variables
2.9 Modules and Namespaces
2.10 Class
2.11 Operator Overload
2.12 Inheritance
Practice problems
CHAPTER 03 Lists and Sets
3.1 What is a list?
3.2 Lists in Python
3.3 List implemented as an array
3.4 Application of Lists: Line Editor
3.5 What is a set?
3.6 Implementation of sets
Practice problems
CHAPTER 04 STACK
4.1 What is a stack?
4.2 Stack Implementation
4.3 Stack Applications: Parentheses Checking
4.4 Application of Stacks: Calculating Formulas
4.5 Application of Stacks: Maze Navigation
Practice problems
CHAPTER 05 Cue and Deck
5.1 What is a queue?
5.2 Queue Implementation
5.3 Queue Applications: Breadth-First Search
5.4 What is a deck?
5.5 Deck Implementation
5.6 Priority Queue
5.7 Application of Priority Queues: Strategic Maze Navigation
Practice problems
CHAPTER 06 Connected Structure
6.1 What is a connected structure?
6.2 Application of Simple Linked Structures: Linked Stacks
6.3 Application of simple linking structure: linked list
6.4 Application of Circular Connection Structure: Connected Queues
6.5 Application of the double-link structure: linked deck
Practice problems
CHAPTER 07 Sorting and Searching
7.1 What is alignment?
7.2 Basic sorting algorithms
7.3 Sorting Applications: Revisiting Sets
7.4 Navigation and Map Structure
7.5 Basic Search Algorithms
7.6 Advanced Search Structures: Hashing
7.7 How to Fix Hashing Overflow
Practice problems
CHAPTER 08 Tree
8.1 What is a tree?
8.2 Binary Tree
8.3 Binary Tree Operations
8.4 Applications of Binary Trees: Morse Code Decision Trees
8.5 Heap Tree
8.6 Applications of Heaps: Huffman Codes
Practice problems
CHAPTER 09 Navigation Tree
9.1 What is a search tree?
9.2 Operations on binary search trees
9.3 Map using binary search tree
9.4 Advanced Learning: Balanced Binary Search Trees
Practice problems
CHAPTER 10 GRAPH
10.1 What is a graph?
10.2 Graph Representation
10.3 Exploring the Graph
10.4 Connected Component Inspection
10.5 Kidney Tree
10.6 Topological sorting
Practice problems
CHAPTER 11 Weighted Graphs
11.1 What is a weighted graph?
11.2 Representation of weighted graphs
11.3 Minimum-cost spanning tree
11.4 Shortest path
Practice problems
CHAPTER 12 ADVANCED SORTING
12.1 Various sorting algorithms
12.2 Shell Sort
12.3 Heap Sort
12.4 Merge Sort
12.5 Quick sort
12.6 Dual pivot quick sort
12.7 Radix sort
12.8 Performance Comparison of Sorting Algorithms
Practice problems
Publisher's Review
What's added or changed in the revised edition
- Added quizzes or coding problems at the end of each section.
We have provided “mid-term review” and “challenge coding!” problems so that you can immediately review what you have studied in the text.
The answer to the “Midterm Check” problem was provided immediately, and the file name for the answer to “Challenge Coding!” was provided so that it could be downloaded from the Saengneung Publishing website.
- Focused more on understanding the principles and operation of data structures.
For ease of understanding, we use Python, but we have supplemented the code to use only basic grammar as much as possible.
This is to ensure that Python does not interfere with understanding the workings of data structures, and the included code is written so that it can be easily converted to other languages such as C, C++, or Java.
- Unnecessary explanations have been reduced and simplified.
Explanations for simple and easy-to-understand parts have been shortened, and complex content has been simplified to make it easier to understand.
- Added explanation directly to the source code.
We added explanations directly to the source code using graphic elements such as boxes and underlines along with comments to make the code easier to understand.
Additionally, the source file names for the included codes are provided and can be downloaded from the Saengneung Publishing website.
- Supplemented the practice problems.
We have significantly supplemented the practice problems to prepare for various exams such as the Information Processing Engineer exam.
We've added a variety of four-option questions to help you prepare for major exams.
Features of this book
- Conveying concepts using pictures and illustrations
The concepts and operating principles of data structures are explained using diagrams as much as possible, and frequently asked questions and answers from learners are included in the form of illustrations.
- Mid-term check-up through quizzes and coding problems
To help you immediately review what you've learned, we've included quizzes and simple coding problems at the end of each section, allowing you to check the answers.
- Explanation to improve understanding of the code
We have strengthened the parts that are explained directly in the code, and provided the reference code file name so that the entire code can be checked.
- Python and Notes Box
Useful uses of Python are explained in more detail in the Python box, and special additional information in the text is explained in more detail in the References box.
- Complete code and source provided
We have presented the complete code, not just some core algorithms, and provided the source files (downloadable from the website) so that you can run the included code and check the results.
- Practice problems
Along with questions that ask for understanding of the theory or writing simple code, we have provided a variety of coding problems that expand on the content of the text.
- Added quizzes or coding problems at the end of each section.
We have provided “mid-term review” and “challenge coding!” problems so that you can immediately review what you have studied in the text.
The answer to the “Midterm Check” problem was provided immediately, and the file name for the answer to “Challenge Coding!” was provided so that it could be downloaded from the Saengneung Publishing website.
- Focused more on understanding the principles and operation of data structures.
For ease of understanding, we use Python, but we have supplemented the code to use only basic grammar as much as possible.
This is to ensure that Python does not interfere with understanding the workings of data structures, and the included code is written so that it can be easily converted to other languages such as C, C++, or Java.
- Unnecessary explanations have been reduced and simplified.
Explanations for simple and easy-to-understand parts have been shortened, and complex content has been simplified to make it easier to understand.
- Added explanation directly to the source code.
We added explanations directly to the source code using graphic elements such as boxes and underlines along with comments to make the code easier to understand.
Additionally, the source file names for the included codes are provided and can be downloaded from the Saengneung Publishing website.
- Supplemented the practice problems.
We have significantly supplemented the practice problems to prepare for various exams such as the Information Processing Engineer exam.
We've added a variety of four-option questions to help you prepare for major exams.
Features of this book
- Conveying concepts using pictures and illustrations
The concepts and operating principles of data structures are explained using diagrams as much as possible, and frequently asked questions and answers from learners are included in the form of illustrations.
- Mid-term check-up through quizzes and coding problems
To help you immediately review what you've learned, we've included quizzes and simple coding problems at the end of each section, allowing you to check the answers.
- Explanation to improve understanding of the code
We have strengthened the parts that are explained directly in the code, and provided the reference code file name so that the entire code can be checked.
- Python and Notes Box
Useful uses of Python are explained in more detail in the Python box, and special additional information in the text is explained in more detail in the References box.
- Complete code and source provided
We have presented the complete code, not just some core algorithms, and provided the source files (downloadable from the website) so that you can run the included code and check the results.
- Practice problems
Along with questions that ask for understanding of the theory or writing simple code, we have provided a variety of coding problems that expand on the content of the text.
GOODS SPECIFICS
- Date of issue: June 26, 2023
- Page count, weight, size: 480 pages | 190*240*30mm
- ISBN13: 9791192932187
- ISBN10: 1192932188
You may also like
카테고리
korean
korean