Algorithmic Theory and Practice

(UOP-CSS430.AE2)
Lessons
Lab
TestPrep
Get A Free Trial

Skills You’ll Get

1

Algorithm Basics and Linked Lists

  • Approach
  • Algorithms and Data Structures
  • Pseudocode
  • Algorithm Features
  • Practical Considerations
  • Randomizing Data
  • Finding Greatest Common Divisors
  • Performing Exponentiation
  • Working with Prime Numbers
  • Performing Numerical Integration
  • Finding Zeros
  • Gaussian Elimination
  • Least Squares Fits
  • Basic Concepts
  • Singly Linked Lists
  • Doubly Linked Lists
  • Sorted Linked Lists
  • Self-Organizing Linked Lists
  • Linked-List Algorithms
  • Multithreaded Linked Lists
  • Linked Lists with Loops
  • Exercises
2

Arrays, Stacks, Queues, and Sorting

  • Basic Concepts
  • One-Dimensional Arrays
  • Nonzero Lower Bounds
  • Triangular Arrays
  • Sparse Arrays
  • Matrices
  • Stacks
  • Queues
  • Binomial Heaps
  • O(N2) Algorithms
  • O(N log N) Algorithms
  • Sub O(N log N) Algorithms
  • Exercises
3

Searching, Hash Tables, and Recursion

  • Linear Search
  • Binary Search
  • Interpolation Search
  • Majority Voting
  • Hash Table Fundamentals
  • Chaining
  • Open Addressing
  • Basic Algorithms
  • Factorial
  • Fibonacci Numbers
  • Rod-Cutting
  • Tower of Hanoi
  • Graphical Algorithms
  • Koch Curves
  • Hilbert Curve
  • Sierpiński Curve
  • Gaskets
  • The Skyline Problem
  • Backtracking Algorithms
  • Eight Queens Problem
  • Knight's Tour
  • Selections and Permutations
  • Selections with Loops
  • Selections with Duplicates
  • Selections Without Duplicates
  • Permutations with Duplicates
  • Permutations Without Duplicates
  • Round-Robin Scheduling
  • Recursion Removal
  • Tail Recursion Removal
  • Dynamic Programming
  • Bottom-Up Programming
  • General Recursion Removal
  • Exercises
4

Trees, Decision Trees, Network Algorithms

  • Tree Terminology
  • Binary Tree Properties
  • Tree Representations
  • Tree Traversal
  • Sorted Trees
  • Lowest Common Ancestors
  • Threaded Trees
  • Specialized Tree Algorithms
  • Interval Trees
  • Searching Game Trees
  • Searching General Decision Trees
  • Swarm Intelligence
  • Topological Sorting
  • Cycle Detection
  • Map Coloring
  • Maximal Flow
  • Network Cloning
  • Cliques
  • Community Detection
  • Eulerian Paths and Cycles
  • Exercises
5

Cryptography, Complexity Theory, and Distributed Algorithms

  • Terminology
  • Transposition Ciphers
  • Substitution Ciphers
  • Block Ciphers
  • Public-Key Encryption and RSA
  • Other Uses for Cryptography
  • Notation
  • Complexity Classes
  • Reductions
  • 3SAT
  • Bipartite Matching
  • NP-Hardness
  • Detection, Reporting, and Optimization Problems
  • Detection ≤p Reporting
  • Reporting ≤p Optimization
  • Reporting ≤p Detection
  • Optimization ≤p Reporting
  • Approximate Optimization
  • NP-Complete Problems
  • Types of Parallelism
  • Distributed Algorithms
  • Exercises
A

Appendix A: Summary of Algorithmic Concepts

  • Lesson 1: Algorithm Basics
  • Lesson 2: Numeric Algorithms
  • Lesson 3: Linked Lists
  • Lesson 4: Arrays
  • Lesson 5: Stacks and Queues
  • Lesson 6: Sorting
  • Lesson 7: Searching
  • Lesson 8: Hash Tables
  • Lesson 9: Recursion
  • Lesson 10: Trees
  • Lesson 11: Balanced Trees
  • Lesson 12: Decision Trees
  • Lesson 13: Basic Network Algorithms
  • Lesson 14: More Network Algorithms
  • Lesson 15: String Algorithms
  • Lesson 16: Cryptography
  • Lesson 17: Complexity Theory
  • Lesson 18: Distributed Algorithms
  • Lesson 19: Interview Puzzles

1

Algorithm Basics and Linked Lists

  • Discussing about Algorithms, Numerical Algorithms, and Arrays
  • Learning Common Run Time Functions
  • Understating about Big O Notation
  • Creating Pseudorandom Numbers
  • Making Random Walks
  • Calculating Greatest Common Divisors
  • Testing of Primality
  • Performing Numerical Integration
  • Using Back Substitution
  • Finding Cells
2

Arrays, Stacks, Queues, and Sorting

  • Discussing about Arrays, Stacks and Queues, and Sorting
  • Finding Median
  • Finding Average
  • Learning about Array Types
  • Adding Matrices
  • Reversing An Array
  • Understanding Stacks
  • Understanding Queues
  • Merging Trees
  • Understanding Binomial Trees
  • Understanding the Heap Sort Algorithm
  • Understanding Sorting Algorithm
  • Summarizing the Algorithms
3

Searching, Hash Tables, and Recursion

  • Understanding the Linear Search Algorithm
  • Understanding Binary Search
  • Understanding Interpolation Search
  • Discussing about Searching, Hash Tables, and Recursion
  • Understanding Open Addressing
  • Understanding the Factorial
  • Learning about the Koch Curves
  • Understanding Eight Queens Problem
4

Trees, Decision Trees, Network Algorithms

  • Understanding about Balanced and Decision Trees
  • Understanding Tree Terminology
  • Calculating Number of Nodes
  • Learning About Tree Traversal
  • Understanding Random Search
  • Using the Brute Force Approach
5

Cryptography, Complexity Theory, and Distributed Algorithms

  • Calculating the Euler's Totient Function
  • Discussing about Cryptography, Complexity Theory, and Distributed Algorithms

Any questions?
Check out the FAQs

Still have unanswered questions and need to get in touch?

Contact Us Now

Algorithmic Theory and Practice

$279.99

Buy Now

Related Courses

All Courses
scroll to top