Data structures and algorithms with Python. With an introduction to multiprocessing (Q6535455)
From MaRDI portal
| This is the item page for this Wikibase entity, intended for internal use and editing purposes. Please use this page instead for the normal view: Data structures and algorithms with Python. With an introduction to multiprocessing |
scientific article; zbMATH DE number 7786058
| Language | Label | Description | Also known as |
|---|---|---|---|
| default for all languages | No label defined |
||
| English | Data structures and algorithms with Python. With an introduction to multiprocessing |
scientific article; zbMATH DE number 7786058 |
Statements
Data structures and algorithms with Python. With an introduction to multiprocessing (English)
0 references
10 January 2024
0 references
The textbook under review is a second edition consisting of two teaching modules, the first one being an introduction to data structures and the second one is on advanced data structures and algorithms; it is also a natural follow-up to the first author's [Python. Programming fundamentals. London: Springer (2011; Zbl 1213.68164)]. The book is divided into 14 chapters. Following an overview of Python as a programming environment (Chapter 1), the authors discuss the theoretical concept of computational complexity, focusing on big-O notations and proofs (Chapter 2). The next three chapters intertwine theoretical concepts and algorithms dealing with recursion (Chapter 3), sequences (Chapter 4), including canonical sorting algorithms, and sets and maps (Chapter 5). Chapters 6--11 handle graph-centric concepts, including classical concepts on trees (Chapter 6) and on generic graphs (Chapter 7), including Kruskal's and Dijkstra's algorithms. Next, Bloom filters and tries are presented in Chapter 8, and heaps are overviewed in Chapter 9. The graph section concludes with concepts on balanced binary search trees (Chapter 10) and B-trees (Chapter 11), with an emphasis on standard operations such as implementation, insertion and deletion. The last three chapters of the textbook focus on heuristic searches (Chapter 12, with a focus on DFS and BFS, contrasted with Hill Climbing, A* and minimax), parallel applications (Chapter 13), and distributed multiprocessing (Chapter 14, with a focus on serialisation, pooling and synchronisation). The authors also include extensive appendices overviewing standard operations and operators, e.g., with integers, floats, strings, etc. The textbook is structured in a systematic and pedagogical way, appealing to undergraduate and postgraduate students; it also boasts numerous examples and support information, ensuring a thorough overview of all concepts.
0 references
Python programming
0 references
computational complexity
0 references
big-O notation
0 references
asymptotic notation
0 references
amortised complexity
0 references
recursion
0 references
sequences
0 references
sorting
0 references
two-dimensional sequences
0 references
minimax
0 references
stack
0 references
queue
0 references
sets
0 references
maps
0 references
hashing
0 references
memoisation
0 references
trees
0 references
binary trees
0 references
search trees
0 references
graphs
0 references
Kruskal's algorithm
0 references
Dijkstra's algorithm
0 references
Bloom filters
0 references
trie datatypes
0 references
heaps
0 references
balanced binary trees
0 references
splay trees
0 references
B-trees
0 references
heuristic search
0 references
depth-first search
0 references
breadth-first search
0 references
hill climbing
0 references
A*
0 references
parallelisation
0 references
distributed multiprocessing
0 references
serialisation
0 references
pooling
0 references
synchronisation
0 references
0.8165972232818604
0 references
0.7997744679450989
0 references
0.7845974564552307
0 references
0.7845189571380615
0 references