|
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!
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
Intelligentedu.com's Computer Open Web Directory
IT Certification Counselor and Complete List
Financial Aid Resources
Intelligentedu.com'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 Amazon.com
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 Intelligentedu.com
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.)
Back
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.
Introduction
Programming Strategies
- 2.1 Objects and ADTs
- 2.1.1 An Example: Collections
- 2.2 Constructors and destructors
- 2.3 Data Structure
- 2.4 Methods
- 2.5 Pre- and post-conditions
- 2.6 C conventions
- 2.7 Error Handling
- 2.8 Some Programming Language Notes
Data Structures
- 3.1 Arrays
- 3.2 Lists
- 3.3 Stacks
- 3.4 Recursion
- 3.4.1 Recursive Functions
- 3.4.2 Example: Factorial
Searching
- 4.1 Sequential Searches
- 4.2 Binary Search
- 4.3 Trees
Complexity
- 5. Complexity (PS)
Queues
- 6.1 Priority Queues
- 6.2 Heaps
Sorting
- 7.1 Bubble
- 7.2 Heap
- 7.3 Quick
- 7.4 Bin
- 7.5 Radix
Searching Revisited
- 8.1 Red-Black trees
- 8.1.1 AVL trees
- 8.2 General n-ary trees
- 8.3 Hash Tables
Dynamic Algorithms
- 9.1 Fibonacci Numbers
- 9.2 Binomial Coefficients
- 9.3 Optimal Binary Search Trees
- 9.4 Matrix Chain Multiplication
- 9.5 Longest Common Subsequence
- 9.6 Optimal Triangulation
Graphs
- 10.1 Minimum Spanning Tree
- 10.2 Dijkstra's Algorithm
Huffman Encoding
FFT
Hard or Intractable Problems
- 13.1 Eulerian or Hamiltonian Paths
- 13.2 Travelling Salesman's Problem
Games
Appendices
- ANSI C
- 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
|
|