coder looking at her laptop gradient edi



zyBooks: A Wiley Brand logo.png
Gen Infiniti Academy GIA Logo (words) SQ

Want to learn how to solve coding problems easily and efficiently?

Time to learn about the pillars of good code and programming: Data structures and algorithms. In the Data Structures Essentials: Pseudocode with Python Examples zyBook, you will learn and master these basics in pseudocode and Python.

Research Proven Excellence

Preferred Choice

80% of surveyed students preferred zyBooks over regular textbooks.

Better Learning

Studies show that students learn 118% more with the minimal text model in only one lesson.

Proven Results

On average, zyBook users improved grades up to ⅔ and read 74% more than users of regular textbooks.

What is a zyBook?

In short, zyBooks are interactive, digital textbooks.


By incorporating available technology, zyBooks make learning fun, interactive and engaging – all while drastically reducing the time spent on learning theoretical concepts.

Course Details

The Data Structures Essentials: Pseudocode with Python Examples zyBook teaches essential data structures and algorithms with minimal text, maximum interactivity.

Module 1: Introduction to Data Structures and Algorithms

1.1 Data structures 1.2 Introduction to algorithms 1.3 Relaiton between data structures and algorithms 1.4 Abstract data types 1.5 Applications of ADTs 1.6 Algorithm efficiency

Module 2: Searching and Algorithm Analysis

2.1 Searching and algorithms 2.2 Binary search 2.3 Python: Linear and binary search 2.4 Constant time operations 2.5 Growth of functions and complexity 2.6 O notation 2.7 Algorithm analysis 2.8 Recursive definitions 2.9 Recursive algorithms 2.10 Analysing the time complexity of recursive algorithms

Module 3: Sorting Algorithms

3.1 Sorting: Introduction 3.2 Selection sort 3.3 Python: Selection sort 3.4 Insertion sort 3.5 Python: Insertion sort 3.6 Shell sort 3.7 Python: Shell sort 3.8 Quicksort 3.9 Python: Quicksort 3.10 Merge sort 3.11 Python: Merge sort 3.12 Radix sort 3.13 Python: Radix sort 3.14 Overview of fast sorting algorithms 3.15 Python: Sorting with different operators

Module 4: Lists, Stacks and Queues

4.1 List abstract data type (ADT) 4.2 Singly-linked lists 4.3 Singly-linked lists: Insert 4.4 Singly-linked lists: Remove 4.5 Linked list search 4.6 Python: Singly-linked lists 4.7 Doubly-linked lists 4.8 Doubly-linked lists: Insert 4.9 Doubly-linked lists: Remove 4.10 Python: Doubly-linked lists 4.11 Linked list traversal 4.12 Sorting linked lists 4.13 Python: Sorting linked lists 4.14 Linked list dummy nodes 4.15 Linked lists: Recursion 4.16 Stack abstract data type (ADT) 4.17 Stacks using linked lists 4.18 Queue abstract data type (ADT) 4.19 Queue using linked lists 4.20 Python: Stacks and queues 4.21 Deque abstract data type (ADT) 4.22 Array-based lists 4.23 Python: Array-based list

Module 7: Balanced Trees

7.1 AVL: A balanced tree 7.2 AVL rotations 7.3 AVL insertions 7.4 AVL removals 7.5 Python: AVL Trees 7.6 Red-black tree: A balanced tree 7.7 Red-black tree: Rotations 7.8 Red-black tree: Insertion 7.9 Red-black tree: Removal 7.10 Python: Red-black trees

Module 6: Trees

6.1 Binary trees 6.2 Applications of trees 6.3 Binary search trees 6.4 BST search algorithm 6.5 BST insert algorithm 6.6 BST remove algorithm 6.7 BST inorder traversal 6.8 BST height and insertion order 6.9 BST parent node pointers 6.10 BST: Recursion 6.11 Tries 6.12 Python: Binary search tree

Module 5: Hash Tables

5.1 Hash tables 5.2 Chaining 5.3 Linear probing 5.4 Quadratic probing 5.5 Double hashing 5.6 Hash table resizing 5.7 Common hash functions 5.8 Direct hashing 5.9 Hashing algorithms: Cryptography, Password Hashing 5.10 Python: Hash tables 5.11 Python: Quadratic probing

Module 11: B-trees

11.1 B-trees 11.2 2-3-4 tree search algorithm 11.3 2-3-4 tree insert algorithm 11.4 2-3-4 tree rotations and fusion 11.5 2-3-4 tree removal 11.6 Python: 2-3-4 trees

Module 10: Algorithms

10.1 Huffman compression 10.2 Heuristics 10.3 Python: Heuristics 10.4 Greedy algorithms 10.5 Python: Greedy algorithms 10.6 Dynamic programming 10.7 Python: Dynamic programming

Module 9: Graphs

9.1 Graphs: Introduction 9.2 Applications of graphs 9.3 Graph representations: Adjacency lists 9.4 Graph representations: Adjacency matrices 9.5 Graphs: Breadth-first search 9.6 Graphs: Depth-first search 9.7 Directed graphs 9.8 Weighted graphs 9.9 Python: Graphs 9.10 Python: Breadth-first search 9.11 Python: Depth-first search 9.12 Algorithm: Dijkstra's shortest path 9.13 Python: Dijkstra's shortest path 9.14 Algorithm: Bellman-Ford's shortest path 9.15 Python: Bellman-Ford's shortest path 9.16 Topological sort 9.17 Python: Topological sort 9.18 Minimum spanning tree 9.19 Python: Minimum spanning tree 9.20 All pairs shortest path 9.21 Python: All pairs shortest path

Module 8: Heaps and Treaps

8.1 Heaps 8.2 Heaps using arrays 8.3 Python: Heaps 8.4 Heap sort 8.5 Python: Heap sort 8.6 Priority queue abstract data type (ADT) 8.7 Treaps

Module 13: Additional Materials

13.1 Bubble sort 13.2 Quickselect 13.3 Python: Quickselect 13.4 Bucket sort 13.5 List data structure 13.6 Circular lists

Module 12: Sets

12.1 Set abstract data type 12.2 Set operations 12.3 Static and dynamic set operations 12.4 Python: Set implementation


Each purchase comes with...

Practice questions

Highly effective reading materials

1 year access

Interactive figures & tables

Online lab environment (zyLabs)

What Our Students Say

“I really enjoyed zyBooks for use in my Python class. It has surely aided my success in class and helped me build some confidence in my first year at university.”

Isaac C.

Cal State University, Long Beach

Frequently Asked Questions


Will my course fee be subsidised?

No. If you wish to join a course with course fee support*, please check out our Wiley Certified Data Analyst and Unity Certified Associate courses. *Terms & Conditions apply.


I have no prior experience. Will I be able to understand the content taught in the zyBooks?

Yes. Unless otherwise specified, all zyBooks are beginner-friendly.

How much time do I have to spend to complete the course?

It depends on your learning style and speed. We estimate taking about 48 hours to read through the material and complete the interactive quizzes at regular speed. Each zyBook comes with 1 year access, and you should have more than enough time to complete and revise the material with regular reading.

Is there a certification examination?



What is a zyBook?

zyBooks are like interactive, digital textbooks. By incorporating available technology, zyBooks make learning fun, interactive and engaging – all while drastically reducing the time spent on reading long texts.

Why should I buy a zyBook instead of a regular textbook?

zyBooks comprise the same content as a textbook but with minimal text and maximum interactivity. Interactive charts and quizzes are strategically placed, allowing students to cement newly learnt concepts.

Do all the zyBooks you offer come with zyLabs (the interactive lab environment)?

No. If zyLabs are included, it will be specified in the course page.