1. NP-hard problems are at least as hard as the problems in NP, and NP-complete problems are NP-hard problems that are also in NP. NP-hard problems are the hardest problems in NP based on known evidence.
2. The document discusses various data structures and algorithms including splay trees, red-black trees, binomial heaps, Fibonacci heaps, divide and conquer algorithms, randomized algorithms, k-d trees, segment trees, and their properties and operations.
3. Key operations like insertion, deletion, querying, balancing are explained for different data structures through examples to illustrate their working and analyze time complexities. Properties like self-balancing, lazy updates, amortized analysis