Be sure to check out our new Blogs and discover all the new Free Training!

Free Computer Training Free Computer Courses



Computer Education, Training, and Tutorial Resources

Learn programming for Free and how to develop and write computer programs and IT applications. Get Free knowledge, information, references, and resources about computers now. Many Free training courses, tutorials, books, training guides, tips, articles, and helps are available to you.

For help finding what you need go to Navigation by Topic to Free Training or use pop-up.

Follow us on Our Twitter page!,, and Google Search

I.T. Education & Training:

Home Page

Free Computer Training & Courses

Free Computer Books

Free Tutorials, Guides, Support & Help

Learn IT & Development

Free University Course Websites

Best FREE Online Computer IT Courses

Lower Fee Distance Learning Sites

Higher Fee Distance Learning Sites

Link and Resource Sites

Free Certification Exam Study Guides

Free IT Training Tutorials

Free IT Training Downloads

Monthly Newsletter: New Free Sites

Free Trade Publications

IT Sites Worth Mentioning

Free Site of the Month

Best Course & Degree Locators

Free Desktop & Office Tutorials


Additional Site Content:

Member Info & Sign Up

Member Login's Computer Open Web Directory

IT Certification Counselor and Complete List

Financial Aid Resources's IT Career Center

Online IT Publications

IT Associations & Organizations

The Latest Technology News

IT Stock Quotes and News

Online Games

Music and Movies

Travel Reservations, Flight Schedules & Tracking

The Best of the Web

Best Developer Books at

How You Can Support Our IT Training Mission

Community Content:
Use Our Forum to Ask Questions & Give Answers

Enter Our Chat Room

Our Free Links Page

Free Classified Ads

Create and Send a Greeting Card

Our Cartoons and Jokes

Free Email at ZapZone

Take Our Survey


Analysis of Algorithms and Data Structures

Click Here to Sign-Up and Become a Member of

This training is available on our members site only. As a member, all of the training and tutorials are available to you. We will be adding more training materials here in the future. You can join now for only USD $15 total for 2 months, $25.00 for 4 months, $34.00 for 6 months, or $59.00 for 1 year. (Please note the local links to member training content do not work on this page.)

Up 1 LevelBack to Member Sign-up & Information Home Page

Analysis of Algorithms

This course teaches the Analysis of the performance of Algorithms. It also discusses programming techniques and data structures used in the writing of effective algorithms. Knowledge of C programming is assumed.

Topics Covered:

  • Introduction: Analysis of Selection Sort

  • Introduction: Analysis of Merge Sort

  • Asymptotic Notation

  • Asymptotic Notation Continued

  • Heapsort

  • Heapsort Continued

  • Priority Queues (more heaps)

  • Quicksort

  • Bounds on Sorting and Linear Time Sorts

  • Stable Sorts and Radix Sort

  • Begin Dynamic Programming

  • More Dynamic Programming

  • Begin Greedy Algorithms: Huffman's Algorithm

  • Dÿkstra's Algorithm

  • Beyond Asymptotic Analysis: Memory Access Time

  • B-Trees

  • More B-Trees: Insertion and Splitting

  • Union/Find

  • Warshall's Algorithm, Floyd's Algorithm

  • Large Integer Arithmetic

  • RSA Public-Key Cryptosystem

  • Begin Algorithms and Structural Complexity Theory

  • Continue Algorithms and Structural Complexity Theory

  • End Algorithms and Structural Complexity Theory

  • Generating Permutations and Combinations

  • Exam review with sample questions and solutions

Data Structures

Teaches abstract data structures (stacks, queues, lists, trees). Dynamic memory allocation, pointers, and recursion, sorting, and searching. Some of the material here is repeated from above.

Topics Covered:

  • Introduction and Big Example

  • Complexity Analysis

  • Pointers, Dynamic Allocation, Linked Lists

  • More Linked Lists, Stacks

  • Queues

  • Recursion

  • Recursion Continued: An Extended Example

  • Trees, Binary Trees, Binary Search Trees

  • Binary Trees on Disk (A C Program)

  • B-Trees

  • Hashing

  • Sorting

  • Heapsort and Quicksort

  • Data Compression with Huffman Coding

  • Graphs

More Graphs

Data Structures
and Algorithms

This course was prepared for the Programming Languages and System Design course in the BE(Information Technology) course at the University of Western Australia. It is designed to teach you how to program efficiently. It assumes that

  • you know the basics of programming in C,
  • can write, debug and run simple programs in C, and
  • have some simple understanding of object-oriented design.


Programming Strategies

  1. 2.1 Objects and ADTs
    • 2.1.1 An Example: Collections
  2. 2.2 Constructors and destructors
  3. 2.3 Data Structure
  4. 2.4 Methods
  5. 2.5 Pre- and post-conditions
  6. 2.6 C conventions
  7. 2.7 Error Handling
  8. 2.8 Some Programming Language Notes

Data Structures

  1. 3.1 Arrays
  2. 3.2 Lists
  3. 3.3 Stacks
    • 3.3.1 Stack Frames
  4. 3.4 Recursion
    • 3.4.1 Recursive Functions
    • 3.4.2 Example: Factorial


  1. 4.1 Sequential Searches
  2. 4.2 Binary Search
  3. 4.3 Trees


  1. 5. Complexity (PS)


  1. 6.1 Priority Queues
  2. 6.2 Heaps


  1. 7.1 Bubble
  2. 7.2 Heap
  3. 7.3 Quick
  4. 7.4 Bin
  5. 7.5 Radix

Searching Revisited

  1. 8.1 Red-Black trees
  2. 8.1.1 AVL trees
  3. 8.2 General n-ary trees
  4. 8.3 Hash Tables

Dynamic Algorithms

  1. 9.1 Fibonacci Numbers
  2. 9.2 Binomial Coefficients
  3. 9.3 Optimal Binary Search Trees
  4. 9.4 Matrix Chain Multiplication
  5. 9.5 Longest Common Subsequence
  6. 9.6 Optimal Triangulation


  1. 10.1 Minimum Spanning Tree
  2. 10.2 Dijkstra's Algorithm

Huffman Encoding


Hard or Intractable Problems

  1. 13.1 Eulerian or Hamiltonian Paths
  2. 13.2 Travelling Salesman's Problem



  1. ANSI C
  2. Source code listings

Slides from lectures (PowerPoint)

More Algorithm Learning Resources:

Animated Alogorithms - A collection of animated algorithms including: Insertion Sort, QuickSort, Bin Sort, Radix Sort, Priority Queue Sorting, Hash Tables Searching, Optimal Binary Search Tree, Huffman Encoding, Dijkstra's Shortest Path, Minimum Spanning Tree ( MST ).

Algorithms CMSC 251 - A large (97 page) book on the following topics : Course Introduction, Analyzing Algorithms: the 2-D Maxima Problem, Summations and Analyzing Programs with Loops, the 2-D Maxima revisited and Asymptotics, Asymptotics, Divide and Conquer and MergeSort, Recurrences, Medians and Selection, Long Integer Multiplication, Heaps and HeapSort, HeapSort Analysis and Partitioning, QuickSort, Lower Bounds for Sorting, Linear Time Sorting, Introduction to Graphs, Graphs, Graph Representation and BFS, All Pairs Shortest Paths, Floyd Warshall Algorithm, Longest Common Subsequence, Chain Matrix Multiplication, NP Completeness: General Introduction, NP Completeness and Reductions.

More Algorithm learning materials are here.

 Return to Top
 Back to previous page



Please Suggest a Computer Education, Training, or Tutorial Web Site Link for this Site

If you know a good Computer Education, Training, or Tutorial web site that is not on this page please fill this form out with the address of the web site and we will post it. This will help everyone who is seeking to learn more about computers.

Please enter the name of the site, its address, and a short description of its contents. Thank you.

Name of Web Site:

Address of Web Site:

Short Description:

Clicking the Submit Computer Education Web Site button will open a new browser window, when finished you can close that window.

Please Help Support our Computer Education & Training Web Site

Please email questions or comments to Webmaster:

All pages on this web site are © 2012 by DeepSearcher Inc