Showing 0–0 of 0 results
# Exercise Title Features Description Platform Keywords
1 Huffman Coding Tree Build Visualization Algorithm Visualization, User Supplied Data Visualization for building a Huffman Coding Tree from a set of weights supplied by the user. OpenDSA Huffman Coding Tree
2 Buffer Pool Visualization Algorithm Visualization, User Supplied Data Algorithm Visualization for buffer pools. User can selectreplacement heuristic, pool size, and input data for the visualization. OpenDSA Buffer Pool
3 Breadth-First Search Graph Traversal Visualization Algorithm Visualization Visualization for breadth-first search to traverse a graph. OpenDSA Breadth-First Search
4 Buddy Method Memory Manager Visualization Algorithm Visualization, User Supplied Data Algorithm Visualization for the buddy method memory manager. User can select data for the visualization. OpenDSA Buddy Method Memory Manager
5 First Fit Memory Manager Visualization Algorithm Visualization, User Supplied Data Algorithm Visualization for various sequential memory manager schemes. User can select data for the visualization. Multiple versions are available: First... OpenDSA Sequential Fit Memory Manager
6 Parsing an Expression Algorithm Visualization, User Supplied Data Algorithm Visualization for generating the parse tree of a user-supplied mathematical expression. Demonstrates that the associated grammar enforces the correct... OpenDSA Parse Tree
7 Bubble Sort Visualization Algorithm Visualization, Code Tracing Presentation, User Supplied Data Algorithm Visualization for Bubble Sort. Includes code visualization. User can select data for the visualization. OpenDSA Bubble Sort
8 Insertion Sort Visualization Algorithm Visualization, User Supplied Data Algorithm Visualization for Insertion Sort. Includes code visualization. User can select data for the visualization. OpenDSA Insertion Sort
9 Mergesort Visualization Algorithm Visualization, User Supplied Data Algorithm Visualization for Mergesort. User can select data for the visualization. OpenDSA Mergesort
10 Quicksort Visualization Algorithm Visualization, User Supplied Data Algorithm Visualization for Quicksort. User can select data for the visualization. OpenDSA Quicksort
11 Radix Sort Visualization: Array Implementation Algorithm Visualization, User Supplied Data Algorithm Visualization for Radix Sort, implemented using arrays. User can select data for the visualization. OpenDSA Radix Sort
12 Radix Sort Visualization: Linked List Implementation Algorithm Visualization, User Supplied Data Algorithm Visualization for Radix Sort, implemented using linked lists. User can select data for the visualization. OpenDSA Radix Sort
13 Selection Sort Visualization Algorithm Visualization, Code Tracing Presentation, User Supplied Data Algorithm Visualization for Selection Sort. Includes code visualization. User can select data for the visualization. OpenDSA Selection Sort
14 Shellsort Visualization Algorithm Visualization, Code Tracing Presentation, User Supplied Data Algorithm Visualization for Shellsort. User can select data for the visualization. OpenDSA Shellsort
15 Bintree Visualization Algorithm Visualization Algorithm Visualization for the Bintree data structure. OpenDSA PR Quadtree
16 Bintree Interactive Visualization Algorithm Visualization, User Supplied Data Interactive Algorithm Visualization for the Bintree data structure. User can click to indicate where a point should be inserted or... OpenDSA Bintree
17 KD Tree Visualization Algorithm Visualization Algorithm Visualization illustrating the KD Tree. OpenDSA KD Tree
18 PR Quadtree Two Points Visualization Algorithm Visualization Algorithm Visualization for the PR Quadtree with up to two points per node. OpenDSA PR Quadtree
19 PR Quadtree Visualization Algorithm Visualization Algorithm Visualization for the PR Quadtree with one point per node. OpenDSA PR Quadtree
20 PR Quadtree Interactive Visualization Algorithm Visualization, User Supplied Data PR Quadtree Visualization that allows the user to click on locations to insert points to be inserted into or deleted... OpenDSA PR Quadtree
21 BST Delete Max Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow visualizing recursive delete of the maximum value in a BST. OpenDSA Binary Search Tree
22 BST Insert Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow visualizing recursive insert in a BST. OpenDSA Binary Search Tree
23 BST Remove Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow visualizing recursive remove value in a BST. OpenDSA Binary Search Tree
24 BST Search Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow visualizing recursive search in a BST. OpenDSA Binary Search Tree
25 Traverse an expression tree Algorithm Visualization, Code Tracing Presentation Slideshow demonstrating traversal of an expression tree. The primary point is to highlight the node implementation for a full binary... OpenDSA Expression Tree, Binary Tree Traversal, Full Binary Tree
26 Heap Inefficient Build Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow visualizing a naive heap building algorithm. OpenDSA Heap
27 Heap Build Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow visualizing the efficient heap buiding algorithm. OpenDSA Heap
28 Heap Build Proof Slideshow Code Tracing Presentation, Algorithm Visualization Slideshow visualizing the cost of the efficient heap buiding algorithm, showing that it is a linear-time algorithm. OpenDSA Heap
29 Heap Insert Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow visualizing insert into a heap. OpenDSA Heap
30 Heap Max Remove Slideshow Algorithm Visualization Slideshow visualizing heap update when removing the max value from a maxheap. OpenDSA Heap
31 Heap Remove Slideshow Algorithm Visualization Slideshow visualizing heap update when removing a specified value from a heap. OpenDSA Heap
32 Huffman Coding Tree Slideshow: Build Algorithm Visualization Slideshow visualizing the Huffman Coding Tree construction algorithm: Building the tree from a collection of weighted elements. OpenDSA Huffman Coding Tree
33 Huffman Coding Tree Slideshow: Setting Codes Algorithm Visualization Slideshow visualizing the Huffman Coding Tree code setting step. OpenDSA Huffman Coding Tree
34 Huffman Coding Tree Slideshow: Decoding Algorithm Visualization Slideshow visualizing the process of decoding a string of Huffman Codes. OpenDSA Huffman Coding Tree
35 Huffman Coding Tree Slideshow: Label Edges Algorithm Visualization Slideshow visualizing the Huffman Coding Tree edge labeling step. OpenDSA Huffman Coding Tree
36 Inorder Traversal Shown in Detail Algorithm Visualization, Code Tracing Presentation Slideshow presenting a detailed visualization of inorder traversal of a binary tree and how the recursion works. OpenDSA Inorder Traversal
37 Postorder Traversal Shown in Detail Algorithm Visualization, Code Tracing Presentation Slideshow presenting a detailed visualization of postorder traversal of a binary tree and how the recursion works. OpenDSA Postorder Traversal
38 Preorder Traversal Shown in Detail Algorithm Visualization, Code Tracing Presentation Slideshow presenting a detailed visualization of preorder traversal of a binary tree and how the recursion works. OpenDSA Preorder Traversal
39 Tree Timeline Slideshow Algorithm Visualization Slideshow showing the concept of marking a timeline for the values stored in a BST. This will be contrasted with... OpenDSA Trie
40 Trie Timeline Slideshow Algorithm Visualization Slideshow showing the concept of marking a timeline for the values stored in a Trie decomposition version of a BST. OpenDSA Trie
41 Binary Insertion Sort Slideshow Algorithm Visualization Slideshow introducing the concept of using binary search to find the insert location of the next record during Insertion Sort.... OpenDSA Binary Insertion Sort
42 Merge Insertion Sort Slideshow Algorithm Visualization Slideshow sketching the Merge Insertion Sort, or Ford and Johnson sort. OpenDSA Merge Insertion Sort, Ford, Johnson Sort
43 Inefficient Range Query in a BST Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow visualizing a range query implementation in a BST, contrasting an inefficient and an efficient implementation. OpenDSA Binary Search Tree
44 Buffer Pool Introduction Slideshow Algorithm Visualization Slideshow showing an introduction to buffer pools. OpenDSA Buffer Pool
45 Motivation for External Sorting Slideshow Algorithm Visualization Slideshow illustrating standard Mergesort does not make for an optimal external sorting algorithm. OpenDSA File Processing, External Sorting
46 Mergesort Modified for External Sorting Algorithm Visualization Slideshow illustrating simple modifications to Mergesort to make a better external sorting algorithm. OpenDSA File Processing, External Sorting, Mergesort
47 Multiway Merge Slideshow Algorithm Visualization Slideshow illustrating multiway merge in an external sorting algorithm. OpenDSA File Processing, External Sorting, Mergesort, Multiway Merge
48 External Replacement Selection Slideshow Algorithm Visualization Slideshow illustrating the replacement selection algorithm, used for external sorting. OpenDSA File Processing, External Sorting, Replacement Selection
49 LRU Introduction Slideshow Algorithm Visualization Slideshow illustrating the Least Recently Used replacement heuristic. OpenDSA Buffer Pool, Least Recently Used
50 LRU Replacement with Write Slideshow Algorithm Visualization Slideshow illustrating optimizing the Least Recently Used replacement heuristic by use of a dirty bit to minimize unnecessary writes. OpenDSA Buffer Pool, Least Recently Used, Dirty Bit
51 General Tree Postorder Traversal Slideshow Algorithm Visualization Slideshow showing postorder traveral of a general tree, and demonstrates the general tree ADT. OpenDSA General Tree
52 General Tree Preorder Traversal Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow showing preorder traveral of a general tree, and demonstrates the general tree ADT. OpenDSA General Tree
53 Union/Find with Path Compression Examaple Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow demonstrating the path compression optimization for Union/Find. Shows the parent pointer representation used to maintain the set information. OpenDSA Union/Find Algorithm, Disjoint Set
54 General Tree Serialization Slideshow Algorithm Visualization Slideshow how to reconstruct a general tree from a serialized representation of its node values. OpenDSA Serialization, Binary Tree
55 Binary Tree Serialization Slideshow: Internal Node Mark Bits Algorithm Visualization Slideshow how to reconstruct a binary tree from a serialized representation of its node values. Alternative representation using mark bits... OpenDSA Serialization, Binary Tree
56 Full Binary Tree Serialization Slideshow: Mark Bits Algorithm Visualization Slideshow how to reconstruct a full binary tree from a serialized representation of its node values. All that is needed... OpenDSA Serialization, Binary Tree
57 Binary Tree Serialization Slideshow Algorithm Visualization Slideshow how to reconstruct a binary tree from a serialized representation of its node values. OpenDSA Serialization, Binary Tree
58 Union/Find Examaple Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow demonstrating processing of a series of union operations on a collection of disjoint sets. Shows the parent pointer representation... OpenDSA Union/Find Algorithm, Disjoint Set
59 Breadth-first graph traversal slideshow Algorithm Visualization Slideshow demonstrating the breadth-first search algorithm for traversing a graph. OpenDSA Breadth-First Search
60 Depth-first graph traversal slideshow Algorithm Visualization Slideshow demonstrating the depth-first search algorithm for traversing a graph. OpenDSA Depth-First Search
61 Dijkstra's Single-Source Shortest Paths Algorithm Algorithm Visualization Slideshow demonstrating the Dijkstra's single-source shortest paths algorithm. OpenDSA Shortest Path Problem
62 Kruskal's Minimal-Cost Spanning Tree Algorithm slideshow Algorithm Visualization Slideshow demonstrating Kruskal's algorithm for constructing the minimal cost spanning tree for a graph. OpenDSA Minimal-Cost Spanning Tree
63 Prim's Minimal-Cost Spanning Tree Algorithm slideshow Algorithm Visualization Slideshow demonstrating Prim's algorithm for constructing the minimal cost spanning tree for a graph. OpenDSA Minimal-Cost Spanning Tree
64 Depth-First Topological Sort Slideshow Algorithm Visualization Slideshow demonstrating the depth-first topological sort algorithm. OpenDSA Topological Sort
65 Queue-Based Topological Sort Slideshow Algorithm Visualization Slideshow demonstrating the queue-based topological sort algorithm. OpenDSA Topological Sort
66 Bucket Hashing Slideshow Algorithm Visualization Slideshow showing the basic hash method of hashing to any free position within a computed bucket. OpenDSA Bucket Hashing
67 Alternate Bucket Hashing Slideshow Algorithm Visualization Slideshow showing a variation on bucket hashing where the key hashes to a slot in the table, and overflows to... OpenDSA Bucket Hashing
68 Linear Probing With Steps Slideshow Algorithm Visualization Slideshow showing linear probing with steps collision resolution. OpenDSA Collision Resolution
69 Improved Linear Probing With Steps Slideshow Algorithm Visualization Slideshow showing how the table size and step size affects linear probing with steps collision resolution. OpenDSA Collision Resolution
70 Pseudo-Random Probing Slideshow Algorithm Visualization Slideshow demonstrating pseudo-random probing collision resolution. OpenDSA Collision Resolution
71 Pseudo-Random Probing Effectiveness Slideshow Algorithm Visualization Slideshow demonstrating why pseudo-random probing helps with collision resolution. OpenDSA Collision Resolution
72 Quadratic Probing Slideshow Algorithm Visualization Slideshow demonstrating quadratic probing collision resolution. OpenDSA Collision Resolution
73 Quadratic Probing Problems Slideshow Algorithm Visualization Slideshow demonstrating how quadratic probing does not always visit all slots of the hash table during collision resolution. OpenDSA Collision Resolution
74 Double Hashing Introduction Slideshow Algorithm Visualization Slideshow demonstrating double hashing collision resolution. OpenDSA Collision Resolution
75 Alternate Double Hashing Slideshow Algorithm Visualization Slideshow demonstrating an alternate version of double hashing collision resolution. OpenDSA Collision Resolution
76 Hash Table Deletion Slideshow Algorithm Visualization Slideshow showing deletion from a hash table. OpenDSA Hashing
77 The mod Hash Function Algorithm Visualization Slideshow showing the basic mod function as a hash function. OpenDSA Hash Function
78 The Binning Hash Function Algorithm Visualization Slideshow showing basic binning (using high-order digits) as a hash function. OpenDSA Hash Function
79 Introduction to Hashing Slideshow Algorithm Visualization Slideshow showing the simplest of hashing approaches: Just put a key into that array position. OpenDSA Hashing
80 Linear Probing Introduction Slideshow Algorithm Visualization Slideshow showing a basic linear probing collision resolution. OpenDSA Collision Resolution
81 Linear Probing Bad Performance Slideshow Algorithm Visualization Slideshow showing why linear probing is a poor method of collision resolution. OpenDSA Collision Resolution
82 Building a B+ Tree of Degree 5 Algorithm Visualization Slideshow showing a series of insert operations in a B+ Tree of degree 5. OpenDSA Tree-Based Indexing, B-Tree
83 Building a B+ Tree of Degree 4 Algorithm Visualization Slideshow showing a series of insert operations in a B+ Tree of degree 4. OpenDSA Tree-Based Indexing, B-Tree
84 Deletion from a B+ Tree of Degree 4 Algorithm Visualization Slideshow showing a series of delete operations in a B+ Tree of degree 4. OpenDSA Tree-Based Indexing, B-Tree
85 Search in a B+ Tree of Degree 4 Algorithm Visualization Slideshow showing a series of search operations in a B+ Tree of degree 4. OpenDSA Tree-Based Indexing, B-Tree
86 Paged BST Slideshow Algorithm Visualization Slideshow showing the use of paging with a BST-based index. Updating the BST to require it to remain a complete... OpenDSA Tree-Based Indexing
87 Promote Key on Insertion into a 2-3 tree. Algorithm Visualization Slideshow showing how keys can be promoted on insertion into a 2-3 tree. OpenDSA Tree-Based Indexing, 2-3 Tree
88 Paged BST with Page Rebalancing For Use on Disk Slideshow Algorithm Visualization Slideshow showing the use of paging with a BST-based index. Reorganizing the nodes to be on optimal disk pages reduces... OpenDSA Tree-Based Indexing
89 Simple Insertion into a 2-3 tree. Algorithm Visualization Slideshow showing simple insertion into a 2-3 tree. OpenDSA Tree-Based Indexing, 2-3 Tree
90 Split on Insertion into a 2-3 tree. Algorithm Visualization Slideshow showing how node split on insertion is handled by a 2-3 tree. OpenDSA Tree-Based Indexing, 2-3 Tree
91 Building a 2-3+ Tree Slideshow Algorithm Visualization Slideshow showing a series of insertions into a 2-3+ tree. OpenDSA Tree-Based Indexing, 2-3 Tree
92 Deletion from a 2-3+ Tree Algorithm Visualization Slideshow showing a series of delete operations in a 2-3+ tree. OpenDSA Tree-Based Indexing, 2-3 Tree
93 Search in a 2-3+ Tree Algorithm Visualization Slideshow showing a series of search operations in a 2-3+ tree. OpenDSA Tree-Based Indexing, 2-3 Tree
94 Simple linear index Slideshow Algorithm Visualization Slideshow showing a simple linear index for variable length records stored on disk. OpenDSA Linear Indexing, File Processing
95 Turing Machine to Copy a String Algorithm Visualization, Code Tracing Presentation Slideshow presenting the execution of a Turing machine that copies a string. OpenDSA Turing Machine
96 Array-based List Append Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow demonstrating the array-based list append operation. OpenDSA Array-Based List
97 Array-based List Insertion Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow demonstrating array-based list insertion. OpenDSA Array-Based List
98 Array-based List Remove Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow demonstrating array-based list remove. OpenDSA Array-Based List
99 Array-Based Queue Design Problem Slideshow Algorithm Visualization Slideshow presenting the problem that elements in an array-based queue will eventually run out of space. OpenDSA Array-Based Queue
100 Circular Array-Based Queue Design Slideshow: Concepts Algorithm Visualization Slideshow presenting the concept of a circular array-based queue. OpenDSA Array-Based Queue
101 Array-Based Queue Drift Slideshow Algorithm Visualization Slideshow presenting the a design that allows elements in an array-based queue to drift. OpenDSA Array-Based Queue
102 Circular Array-Based Queue Empty Representation Slideshow Algorithm Visualization Slideshow presenting design options for recognizing when an array-based queue is empty or full. OpenDSA Array-Based Queue
103 Array-Based Queue Positions Slideshow Algorithm Visualization Slideshow presenting an initial design for storing a queue in an array. OpenDSA Array-Based Queue
104 Array-Based Stack Pop Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow discussing the implementation for the pop operation in an array-based stack. OpenDSA Array-Based Stack
105 Array-Based Stack Push Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow discussing the implementation for the push operation in an array-based stack. OpenDSA Array-Based Stack
106 Doubly Linked List Append Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow presenting appending to a doubly linked list. OpenDSA Doubly Linked List
107 Doubly Linked List Insert Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow presenting insertion into a doubly linked list. OpenDSA Doubly Linked List
108 Doubly Linked List Prev Method Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow showing how to move to the previous element in a doubly linked list. OpenDSA Doubly Linked List
109 Doubly Linked List Remove Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow presenting removing from a doubly linked list. OpenDSA Doubly Linked List
110 List Element Data Slideshow Algorithm Visualization Slideshow discussing the tradeoffs for storing element values in link nodes vs. references to element values. OpenDSA List Element Implementation
111 List Element Deletion Slideshow Algorithm Visualization Slideshow discussing the design choices on what to do when a list element is deleted. OpenDSA List Element Implementation
112 List Element Type Slideshow Algorithm Visualization Slideshow illustrating the choice between storing non-homogeneous data types in list nodes and limiting to a homogenous data type. OpenDSA List Element Implementation
113 Freelist Slideshow Algorithm Visualization Slideshow presenting the concept of using a freelist instead of a system memory manager. OpenDSA Linked List
114 Linked List Insertion Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow demonstrating insertion into a linked list. OpenDSA Linked List
115 Linked List Miscillaneous Methods Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow demonstrating some miscillaneous methods for a linked list implementation. OpenDSA Linked List
116 Linked List Remove Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow demonstrating removing from a linked list. OpenDSA Linked List
117 Linked List Insertion Special Case Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow demonstrating some special cases related to insertion into a linked list. OpenDSA Linked List
118 Linked Queue Dequeue Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow presenting an implementation for linked queue dequeue. OpenDSA Linked Queue
119 Linked Queue Enqueue Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow presenting an implementation for linked queue enqueue. OpenDSA Linked Queue
120 Linked Queue Data Members Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow presenting data members and constructors for a linked queue implementation. OpenDSA Linked Queue
121 Linked Stack Pop Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow discussing the implementation for the pop operation in a linked stack. OpenDSA Linked Stack
122 Linked Stack Push Slideshow Algorithm Visualization, Code Tracing Presentation Slideshow discussing the implementation for the push operation in a linked stack. OpenDSA Linked Stack
123 Context-Free Language Derivation Trees Example Algorithm Visualization Visualization of a derviation tree from a given context-free grammar. OpenDSA Context-Free Language
124 Reduction of True and False using Church Bools Algorithm Visualization Slideshow visualizing reduction of true and false using Church bools. OpenDSA Lambda Calculus
125 Church Numerals 2 Algorithm Visualization Slideshow illustrating reduction for Church numerals: Multiplication. OpenDSA Lambda Calculus
126 Church Numerals Algorithm Visualization Slideshow illustrating reduction for Church numerals. OpenDSA Lambda Calculus
127 Lambda Calculus: How to Build a Parse Tree Algorithm Visualization, Code Tracing Presentation Slideshow visualizing building a parse tree for lambda calculus expressions. OpenDSA Lambda Calculus
128 Parse Tree Example: Enforcing Order of Operations Algorithm Visualization Slideshow visualizing a parse tree from a grammar that enforces the correct order of operations. OpenDSA Parse Tree
129 Parse Tree Example for a Math Expression Algorithm Visualization Slideshow visualizing generation of a parse tree for a simple math expression. OpenDSA Parse Tree
130 Ambiguous Parse Tree Example for a Math Expression Algorithm Visualization Slideshow visualizing how generation of a parse tree from a grammar might be ambiguous. OpenDSA Parse Tree
131 Ambiguous Parse Tree Example for a Math Expression: 2 Algorithm Visualization Slideshow visualizing a second example of how generation of a parse tree from a grammar might be ambiguous. OpenDSA Parse Tree
132 Functional Programming List Processing: Summation Algorithm Visualization, Code Tracing Presentation Slideshow visualizing basic list processing in a functional programming language: Summation of list values. OpenDSA Functional Programming
133 Functional Programming List Processing: isMember Algorithm Visualization, Code Tracing Presentation Slideshow visualizing basic list processing in a functional programming language: isMember function. OpenDSA Functional Programming
134 Functional Programming List Processing: Substitution Algorithm Visualization, Code Tracing Presentation Slideshow visualizing basic list processing in a functional programming language: substitution function. OpenDSA Functional Programming
135 Functional Programming Recursion: Summing Elements in a Tree Algorithm Visualization, Code Tracing Presentation Slideshow visualizing list-of-list (tree) processing in a functional programming language: sum all values. OpenDSA Functional Programming
136 Functional Programming Recursion: BST Algorithm Visualization, Code Tracing Presentation Slideshow visualizing list-of-list (tree) processing in a functional programming language: Binary Search Tree Search. OpenDSA Functional Programming
137 Functional Programming: Split and Join Algorithm Visualization, Code Tracing Presentation Slideshow visualizing split and join operations in a functional programming language. OpenDSA Functional Programming
138 Functional Programming: Accumulator Pattern Pivot Algorithm Visualization, Code Tracing Presentation Slideshow visualizing using pivot as an example in the accumlator pattern. OpenDSA Functional Programming
139 Functional Programming: Scope and Closure Algorithm Visualization, Code Tracing Presentation Slideshow visualizing scope and closure in a functional programming language. OpenDSA Functional Programming
140 Functional Programming: Variable Hoisting Algorithm Visualization, Code Tracing Presentation Slideshow visualizing variable hoisting in a functional programming language. OpenDSA Functional Programming
141 Functional Programming: Nested Scopes Algorithm Visualization, Code Tracing Presentation Slideshow illustrating nested scopes in a functional programming language. OpenDSA Functional Programming
142 Functional Programming Visualization: Static vs Dynamic Binding Algorithm Visualization, Code Tracing Presentation Slideshow illustrating static vs dynamic binding in a functional programming language. OpenDSA Functional Programming
143 Functional Programming: Closures Algorithm Visualization, Code Tracing Presentation Slideshow illustrating closures in a functional programming language. OpenDSA Functional Programming
144 Functional Programming Visualization: Mapping Pattern Algorithm Visualization, Code Tracing Presentation Slideshow visualizing the mapping pattern in a functional programming language. OpenDSA Functional Programming
145 Functional Programming Visualization: Functional Composition Algorithm Visualization, Code Tracing Presentation Slideshow visualizing functional composition in a functional programming language. OpenDSA Functional Programming
146 Functional Programming: Currying Algorithm Visualization, Code Tracing Presentation Slideshow visualizing currying in a functional programming language. OpenDSA Functional Programming
147 Functional Programming: Filter Pattern Algorithm Visualization, Code Tracing Presentation Slideshow visualizing the filter pattern in a functional programming language. OpenDSA Functional Programming
148 Functional Programming: Reduce/Folding Pattern Algorithm Visualization, Code Tracing Presentation Slideshow visualizing the reduce/folding pattern in a functional programming language. OpenDSA Functional Programming
149 Functional Programming: ReduceRight Pattern Algorithm Visualization, Code Tracing Presentation Slideshow visualizing the reduceRight pattern in a functional programming language. OpenDSA Functional Programming
150 Functional Programming: MapReduce Pattern Algorithm Visualization, Code Tracing Presentation Slideshow visualizing the Map/Reduce pattern in a functional programming language. OpenDSA Functional Programming
151 Functional Programming: Continuation Passing Algorithm Visualization, Code Tracing Presentation Slideshow illustrating continuation passing in a functional programming language. OpenDSA Functional Programming
152 Functional Programming: CPS vs non-tail recursion Algorithm Visualization, Code Tracing Presentation Slideshow comparing continuation passing with non-tail recursion and accumulation. OpenDSA Functional Programming
153 From Operation Algorithm Visualization Slideshow illustrating the concept of a lazy list. OpenDSA Parameter Passing, Lazy List
154 Lazy Lists Algorithm Visualization Slideshow illustrating the lazy list from operation. OpenDSA Parameter Passing, Lazy List
155 Lazy Lists Map Operation Algorithm Visualization Slideshow illustrating the map operation for a lazy list. OpenDSA Parameter Passing, Lazy List
156 Lazy Lists Filter Operation Algorithm Visualization Slideshow illustrating the filter operation for a lazy list. OpenDSA Parameter Passing, Lazy List
157 Lazy Lists Drop Operation Algorithm Visualization Slideshow illustrating the drop operation for a lazy list. OpenDSA Parameter Passing, Lazy List
158 Lazy Lists Iterates Operation Algorithm Visualization Slideshow illustrating the iterates operation for a lazy list. OpenDSA Parameter Passing, Lazy List
159 Lazy Lists Eager Evaluation Algorithm Visualization Slideshow illustrating the concept of eager evaluation for a lazy list. OpenDSA Parameter Passing, Lazy List
160 Lazy Lists Lazy Evaluation Algorithm Visualization Slideshow illustrating the concept of lazy evaluation for a lazy list. OpenDSA Parameter Passing, Lazy List
161 Garbage Disposal Algorithm Visualization, Code Tracing Presentation Slideshow introducing the concept of garbage collection. OpenDSA Garbage Collection, Heap Memory
162 Link Nodes Algorithm Visualization, Code Tracing Presentation Slideshow introducing the concept of Link Nodes. OpenDSA Link Node
163 Creating a Chain of Links Algorithm Visualization, Code Tracing Presentation Slideshow introducing the concept of chaining link nodes to form a linked list. OpenDSA Link Node, Linked List
164 Link Nodes: Iteration Algorithm Visualization, Code Tracing Presentation Slideshow introducing the concept of iterating through a linked list. OpenDSA Link Node, Iteration
165 Link Nodes: Delete Algorithm Visualization, Code Tracing Presentation Slideshow introducing the concept of deleting from a linked list. OpenDSA Link Node, Iteration
166 Link Nodes: Insertion Algorithm Visualization, Code Tracing Presentation Slideshow introducing the concept of inserting a new node into a linked list. OpenDSA Link Node, Iteration
167 Basics of Writing a Recursive Function Algorithm Visualization, Code Tracing Presentation Slideshow demonstrating the concept of recusion as delegation of a task. OpenDSA Recursion, Delegation
168 Recursion Introduction Slideshow: Details of Recursion Algorithm Visualization Slideshow demonstrating the concept of recusion showing the detials of recursive multiplication. OpenDSA Recursion
169 Binary Search Algorithm Algorithm Visualization, Code Tracing Presentation Slideshow illustrating Binary Search and presenting its analysis. OpenDSA Binary Search, Algorithm Analysis
170 Skip List Insert Slideshow Algorithm Visualization Slideshow showing examples of insertion into a Skip List. OpenDSA Skip List, Randomized Algorithm
171 Skip List Introduction Slideshow Algorithm Visualization Slideshow showing an idealized version of the Skip List as an introduction to the concepts. OpenDSA Skip List
172 Skip List Delete Slideshow Algorithm Visualization Slideshow showing examples of deletion from a Skip List. OpenDSA Skip List, Randomized Algorithm
173 Constructing a Binomial Tree Algorithm Visualization Slideshow showing a small example of building a binomial tree. OpenDSA Binomial Tree
174 Evaluation and Interpolation Algorithm Visualization Slideshow demonstrating the relationships of evaluation and interpolation of a polynomial. OpenDSA Polynomial Multiplication, Polynomial Evaluation, Polynomial Interpolation
175 Polynomial Evaluation Algorithm Visualization Visualization of the relationship between evaluation of polynomials and multiplying polynomials. OpenDSA Polynomial Multiplication, Evaluation
176 The Fast Fourier Transform Algorithm Visualization, Code Tracing Presentation Visual demonstration of the Fast Fourier Transform for polynomial multiplication. OpenDSA Polynomial Multiplication, Fast Fourier Transform
177 Call Structure for the Fibonacci Sequence Problem Algorithm Visualization Slideshow showing the tree structure for calls by a recursive implementation of the Fibonacci sequence calculation. OpenDSA Dynamic Programming, Fibonacci Sequence
178 Call Structure for the Chained Matrix Multiplication Problem Algorithm Visualization Slideshow showing the tree structure for calls by a solution to the chained matrix multiplication problem. OpenDSA Dynamic Programming, Chained Matrix Multplication Problem
179 Polynomial Multiplication Introduction Slideshow Algorithm Visualization Slideshow showing how the terms of a polynomial affect its geometric shape. OpenDSA Polynomial Multiplication
180 Polynomial Product Algorithm Visualization Visualization of the process for muliplying to polynomials. OpenDSA Polynomial Multiplication
181 Binsort Slideshow: Sorting a Permutation Algorithm Visualization Slideshow showing the details of sorting a permutation of the n values from 0 to n-1. OpenDSA Binsort
182 Binsort Slideshow: Generalized Version Algorithm Visualization Slideshow showing the details of binsort for an arbitrary key range. OpenDSA Binsort
183 Bubble Sort First Pass Slideshow Algorithm Visualization Slideshow showing a simple visualization of the first pass for Bubble Sort. OpenDSA Bubble Sort
184 Bubble Sort 2nd Pass Slideshow Algorithm Visualization Slideshow showing a simple visualization of the second pass for Bubble Sort. OpenDSA Bubble Sort
185 Heapsort Analysis Slideshow Algorithm Visualization Slideshow showing a visual proof for the cost of Heapsort. OpenDSA Heapsort
186 Heapsort Visualization Slideshow Algorithm Visualization Slideshow showing a visualization of the Heapsort algorithm. OpenDSA Heapsort
187 Insertion Sort Slideshow Algorithm Visualization Slideshow showing a visualization for the first pass of Insertion Sort. OpenDSA Insertion Sort
188 Mergsort Implementation Slideshow: Final Pass Algorithm Visualization Slideshow showing the details of implementing Mergesort using an array. This is the first of a two-part series, showing the... OpenDSA Mergesort
189 Mergsort Implementation Slideshow: Optimized Final Pass Algorithm Visualization Slideshow showing the details of implementing Mergesort using an array. This is the second of a two-part series, showing an... OpenDSA Mergesort
190 Mergesort Analysis Slideshow Algorithm Visualization Slideshow showing a visual analysis of Mergesort best, average, and worst case performance. OpenDSA Mergesort
191 Merging Slideshow Algorithm Visualization Slideshow showing the details of merging two sorted runs in Mergesort. OpenDSA Mergesort
192 Quicksort Average Case Analysis Slideshow Algorithm Visualization Slideshow showing a visual proof for the average-case cost of Quicksort. OpenDSA Quicksort
193 Quicksort Best Case Analysis Slideshow Algorithm Visualization Slideshow showing a visual proof for the best-case cost of Quicksort. OpenDSA Quicksort
194 Quicksort Partition Slideshow Algorithm Visualization Slideshow showing the partition step for Quicksort. OpenDSA Quicksort
195 Quicksort Partition Analysis Slideshow Algorithm Visualization Slideshow showing a visual proof for the cost of the partition step for Quicksort. OpenDSA Quicksort
196 Quicksort Worst Case Analysis Slideshow Algorithm Visualization Slideshow showing a visual proof for the worst-case cost of Quicksort. OpenDSA Quicksort
197 Radix Sort Analysis Algorithm Visualization Slideshow showing a visual analysis for the cost of Radix Sort. OpenDSA Radix Sort
198 Selection Sort First Pass Slideshow Algorithm Visualization Slideshow showing a simple visualization of the first pass for Selection Sort. OpenDSA Selection Sort
199 Selection Sort Second Pass Slideshow Algorithm Visualization Slideshow showing a simple visualization of the second pass for Selection Sort. OpenDSA Selection Sort
200 Shellsort First Pass Sublist Slideshow Algorithm Visualization Slideshow showing the sublists that would be processed by the first pass of Shellsort (increments of size n/2). OpenDSA Shellsort
201 Shellsort First Pass Details Slideshow Algorithm Visualization Slideshow showing the details of what records would be compared and swapped in the first pass of Shellsort. OpenDSA Shellsort
202 Shellsort Second Pass Sublist Slideshow Algorithm Visualization Slideshow showing a visualization for the sublists that would be sorted in the second pass of Shellsort. OpenDSA Shellsort
203 Shellsort Second Pass Sorting Details Slideshow Algorithm Visualization Slideshow showing the details of what records would be compared and swapped in the second pass of Shellsort. OpenDSA Shellsort
204 Shellsort Third Pass Sorting Details Slideshow Algorithm Visualization Slideshow showing the details of what records would be compared and swapped in the third pass of Shellsort. OpenDSA Shellsort
205 Shellsort Final Pass Details Slideshow Algorithm Visualization Slideshow showing the details of what records would be compared and swapped in the final "cleanup" pass of Shellsort. OpenDSA Shellsort
206 Sorting Lower Bound Analysis Slideshow Algorithm Visualization Slideshow showing a visual proof for the lower bound of the general sorting problem. OpenDSA Sorting Problem Lower Bound
207 Unambiguous CFG Parse Tree Example Algorithm Visualization Visualization for the parse tree generated for a mathematical expression from a non-ambiguouse CFG. OpenDSA Context-Free Language, Parse Tree
208 DFA Example Trace: How a DFA Traces Algorithm Visualization, Code Tracing Presentation Visualization of how a DFA would process an input string. OpenDSA Deterministic Finite Automata
209 DFA Example Trace: Even Binary Numbers Algorithm Visualization, Code Tracing Presentation Visualization of how a DFA would process input strings for the language of even binary numbers. OpenDSA Deterministic Finite Automata
210 Regular Expression to Minimized DFA Example Algorithm Visualization Visualization presenting examples of converting a Regular Expression to an equivalend NFA. OpenDSA Regular Expression, Non-Deterministic Finite Automata
211 Visualizaiton of the Turing Machine that accepts a^n b^n c^n Algorithm Visualization, Code Tracing Presentation Detailed trace on some examples for a Turing machine that accepts the langugage a^n b^n c^n. OpenDSA Turing Machine