Computer science encompasses various subfields, with data structures and algorithms being important. This chapter aims to enhance proficiency in constructing and analyzing data structures effectively. Studying data structures equips students with the skills to solve real-world problems using suitable structures. The study of data structures offers diverse programming techniques for complex problems yet introduces challenges due to intricate complexities that reshape program architecture. Covering all aspects in a single semester is impractical, as data structures receive extensive attention in graduate, upper-division, and lower-division programs. This text is an introductory resource for the stack, queue, linked list, graph, trees, searching, and sorting algorithms. It also offers insights into their Python implementation and its complexities, applications, and sample code.