1 Introduction  
2 Problem Statements  
3 DSD on Undirected Graphs  
3.1 Original UDS Problem  
3.2 Variants of the Original UDS Problem  
4 DSD on Directed Graphs  
4.1 Exact Solutions  
4.2 Approximation Algorithms  
4.3 Variants of the Original DDS Problem  
5 DSD on Other Types of Graphs  
5.1 DSD on Bipartite Graphs  
5.2 DSD on Multilayer Graphs  
5.3 DSD on Uncertain Graphs  
6 Comparison Analysis  
6.1 Comparison of Density Definitions  
6.2 Comparison of DSD Solutions  
6.3 Comparison of Other Variants of UDS  
7 Related Work  
7.1 Dense Subgraph Discovery  
7.2 Graph Clustering  
8 Future Research Directions  
9 Conclusion