Effective and efficient programs depend on equally effective and efficient Data Structures and Algorithms.
The "Lecture Notes for Data Structures and Algorithms" present an excellent introduction and brief discussion of numerous Data Structures and Algorithms.
The document contains 12 sections:
- Arrays, Iteration, Invariants
- Lists, Recursion, Stacks, Queues
- Efficiency and Complexity
- Binary Search Trees
- Priority Queues and Heap Trees
- Hash Tables
The lecture notes presented are not intended to be all-encompassing. They do, however, serve as a guide to direct your thinking and considerations for the algorithms or data structures that may work best for your application.
A "Data Structure and Algorithms Tutorial" on TutorialsPoint also serves as a good introduction.
Functional Data Structures and Algorithms (Video) by Atul S. Khot and Raju Kumar Mishra, Packt Publishing.
Advanced Functional Data Structures and Algorithms (Video), Packt Publishing.