Structuring Data and Building Algorithms
Sitemap
Most animations and links can be accessed using the Menu bar on the rightside or the wheel on the leftside of the
homepage
as well as through this file.
homepage
Lecturer Resources
Student and Teacher Resources
General Information: Documents related to ANSI-C Programming
About the Book...
About the Authors...
About You...
ANSI-C Reference Manual
Recommended C Style and Coding Standards
C Traps and Pitfalls
Suggested Reference Books
Tools: Software to view animations + ANSI-C Compiler and Text Editor
(Installation instructions)
For MS-Windows OS
1. Install GCC – ANSI-C Compiler/Linker
(CD only)
2. Install jEdit – A Context Sensitive Text Editor
(CD only)
For Linux OS
2. Install jEdit – A Context Sensitive Text Editor
(CD only)
Plugins for jEdit
to convert C-Code to HTML and Check for Differences between Files (CD only)
ANSI-C Source Code for Examples Shown in Text Book (Index)
Part 1: Structuring Data (Animations and Links)
Chapter 0
Key Words in English and Chinese
Chapter 1 Variables and Pointers
1.2.2 General: Fixed Point Addition
1.2.2 General: Fixed Point Multiplication
1.2.2 General: Floating Point Addition
1.2.2 General: Floating Point Multiplication
1.3 Role Play: Pointers and Variables (+ Audio)
[Chinese version]
1.3 VP Diag: Demonstration of How to View VP Diagram Animations
1.3-0 VP Diag: 1 Variable, 1 Pointer
1.3-1 VP Diag: Demonstration of Pointers and Variables
1.4-0 VP Diag: Variables, Functions, Pointers
1.4-1 VP Diag: Variables, Functions – Good Style
Chapter 2 Arrays and Records
2.1.1 VP Diag: Array Memory Usage
2.1.4 VP Diag: Array Declaration
2.1.4-7 VP Diag: Dynamic Array Declaration
2.1.5 VP Diag: Array Initialization
2.2.4 VP Diag: Basic Records
2.2.5 VP Diag: Pointers and Records
2.2.6 VP Diag: Records and Functions
2.2.7 VP Diag: Other Record Members
2.3 VP Diag: Arrays of Records
Chapter 3 Linked Lists
3.2 VP Diag: Linked Lists
3.4 Role Play: Stacks (+ Audio)
3.4 VP Diag: Stacks
3.5 VP Diag: Introduction to Push and Pop (Queue implementation)
3.5 Role Play: Queues (+ Audio)
[Chinese version]
3.5 VP Diag: Queues
Chapter 4 Trees
4.4.1 VP Diag: Binary Tree – Linked List Implementation
4.4.1 Role play: Binary Tree: Linked List:Preorder Traversal
4.4.1 Role play: Binary Tree: Linked List:Inorder Traversal
4.4.1 Role play: Binary Tree: Linked List:Postorder Traversal
4.4.2 Concept: Binary Tree – Array Implementation w/ Index Referencing
4.4.2 Role play: Binary Tree: Array: Preorder Traversal
4.4.2 Role play: Binary Tree: Array: Inorder Traversal
4.4.2 Role play: Binary Tree: Array: Postorder Traversal
4.4.3 VP Diag: Binary Tree – Array Implementation w/Index Calculation
Chapter 5 Graphs and Sets
5.3.1 Role Play: Graphs: Array Style Implementation
5.3.2+5.4.2 VP Diag: Linked List Implementation of a Graph
5.5.1 VP Diag: Sets: Linked List Implementation
Part 2: Building Algorithms (Animations and Links)
Chapter 6 Basic Techniques
6.1.1 Concept: Recursion, Tower of Hanoi
6.1.2 Role Play: Factorial, Recursive Solution (+ Audio)
6.1.2 Code Flow: Factorials by Recursion (Memory Allocation)
6.1.2 General: Factorials – Recursion and Iteration (+ Music)
6.1.2 VP Diag: Factorials by Recursion
6.1.2 VP Diag: Factorials by Iteration
6.1.2 Role Play: Factorial, Iterative Solution (+ Audio)
6.2 Concept: Mutual Recursion, Zweidrei
6.2 VP Diag: Mutual Recursion, Zweidrei
6.3 Concept: Backtracking through Maze
6.3 Code flow: Backtracking through Maze (Car)
6.3 Code flow: Backtracking through Maze (+ Audio)
6.3 VP Diag: Backtracking through Maze
6.3-4 VP Diag: Backtracking to solve 4 Queens problem
7.3-1 VP Diag: Operation Count Example
Chapter 7 Key Concepts
Part 3: Algorithms and Data Structures in Action (Animations and Links)
Chapter 8 Searching
8.1.1 Role Play: Algorithm: Sequential Search. Data Structure: Array
8.2.1 Role Play: Algorithm: Binary Search. Data Structure: Array
Chapter 9 Sorting
9 (all) Concept: Overview of Sorting Algorithms
9 (all) Concept: Overview of Sorting Algorithms with Operation Count
9.2.1 Role Play: Selection Sort using an Array
9.2.2 Role Play: Insertion Sort using an Array
9.2.3 and 9.3.5 Concept: Bubble vs. Quick Sort
9.3.5 VP Diag: Algorithm: Quick Sort 2. Data Structure: Array
Chapter 10 NP-Hard Problems
10.3 Concept: Dijkstra's Algorithm
Part 4: Theory of Computing (Animations and Links)
Chapter 11 Finite State Automata
Chapter 12 Turing Machines
12.4.1 Incrementer (+ Audio)
12.4.3 Duplicator
12.4 Three-bit Incrementer
12.4 Simulator (Written in ANSI-C)
Links to Useful Internet-based Information
Supporting Software Installation
(CD only, Adobe Acrobat Reader, Macromedia Flash Player, Swiff Player)
Yuan Ze University Course Information
(Taiwan Website only))
For use with:
Structuring Data and Building Algorithms -- an ANSI-C based approach
by I. Chai and J. D. White © 2006 McGraw-Hill Education (Asia)
Website and CD by J. D. White (
jon@sdba.info
)
- "With a Servant's Heart" -