Data Structure
The Data Structure course provides a rigorous introduction to
fundamental data structures and algorithms that enable efficient
computation. This course follows the 2025 Data Structure Syllabus,
covering algorithm analysis, linear and non-linear structures,
recursion, graph basics, sorting, and searching.
:contentReference[oaicite:1]{index=1}
Full weekly schedule (Syllabus): Here
๐ Course Overview
Students will learn:
- How to design and implement core data structures
- How to analyze time and space complexity
- How different structures are used in real systems (OS, networks, CPS)
- How to translate algorithmic concepts into working code (Python/C/C++)
- How to evaluate trade-offs between structures and algorithms
๐ Main Topics (Expanded)
1. Foundations
- Introduction to algorithms & data structures
- Algorithm specification and analysis
- Python programming for implementing DS/AL
2. Linear Data Structures
- Arrays and array-based operations
- Singly linked lists
- Circular linked lists
- Stacks
- Queues, circular queue, deque, priority queue
3. Non-Linear Data Structures
- Trees and binary trees
- Binary search trees (BST)
- Heaps (min/max)
- Graph structures and graph traversal
4. Algorithmic Tools
- Recursion and recursive thinking
- Sorting (basic & advanced sorting)
- Searching algorithms
- Performance evaluation through exercises & exams
๐งช Labs & Assignments
Hands-on programming labs include:
- Algorithm Description & Specification
- Python exercises (Colab-based)
- Linked list implementation labs
- Stack & Queue tutorials
- Circular linked list construction
- Sorting & searching exercises
- Weekly or bi-weekly coding tasks with deadlines
Labs follow the official 2025 course schedule, with progressive
difficulty and direct links to lecture content.
:contentReference[oaicite:2]{index=2}
๐ Teaching Style
- Clear, example-driven explanations
- Coding sessions (Python or C/C++) aligned with theory
- Step-by-step walkthroughs of complex algorithms
- Visualizations and conceptual intros where needed
- Exam-based reinforcement (1st, 2nd, 3rd exams as in syllabus)
๐จโ๐ซ Instructor
Prof. Jin Hyun Kim
Cyber Safety Lab ยท Gyeongsang National University
ํ๊ตญ์ด ๊ฐ์์๊ฐ
๋ฐ์ดํฐ๊ตฌ์กฐ (Data Structure)
๋ฐ์ดํฐ๊ตฌ์กฐ(Data Structure) ๊ณผ๋ชฉ์ ํจ์จ์ ์ธ ๊ณ์ฐ์ ๊ฐ๋ฅํ๊ฒ ํ๋
๊ธฐ์ด์ ์ธ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ๋ค๋ฃจ๋ ํต์ฌ ์ ๊ณต ๊ณผ๋ชฉ์
๋๋ค.
2025๋
๊ฐ์๊ณํ์์ ๋ฐ๋ผ,
์๊ณ ๋ฆฌ์ฆ ๋ถ์ โ ์ ํ ๊ตฌ์กฐ โ ๋น์ ํ ๊ตฌ์กฐ โ ์ฌ๊ท โ ๊ทธ๋ํ โ ์ ๋ ฌ โ ํ์
์ผ๋ก ์ด์ด์ง๋ ์ ํ์ ์ธ ์๋ฃ๊ตฌ์กฐ ์ปค๋ฆฌํ๋ผ์ ์ฒด๊ณ์ ์ผ๋ก ํ์ตํฉ๋๋ค.
:contentReference[oaicite:3]{index=3}
์ ์ฒด ์ฃผ์ฐจ๋ณ ์ค์ผ์ค์ ์๋์์ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค: ๐ ์ฌ๊ธฐ
๐ ๊ฐ์ ๊ฐ์
ํ์๋ค์ ๋ค์์ ํ์ตํฉ๋๋ค.
- ์ฃผ์ ์๋ฃ๊ตฌ์กฐ์ ๊ฐ๋ ยท๊ตฌ์กฐยท๊ตฌํ ๋ฐฉ๋ฒ
- ์๊ฐยท๊ณต๊ฐ ๋ณต์ก๋์ ์ ํํ ๋ถ์ ๋ฅ๋ ฅ
- ์๋ฃ๊ตฌ์กฐ ์ ํ์ ๋ฐ๋ฅธ ์ฑ๋ฅยท๋ฉ๋ชจ๋ฆฌยทํ์ฉ์ฑ trade-off
- Python ๋๋ C/C++์ ํ์ฉํ ์ค์ ํ๋ก๊ทธ๋๋ฐ ๊ตฌํ ๋ฅ๋ ฅ
- ์ ๊ณต ๊ต๊ณผยทCPSยท๋ก๋ณดํฑ์ค์์์ ์๋ฃ๊ตฌ์กฐ ์ ์ฉ ์ฌ๋ก
๐ ์ฃผ์ ํ์ต ์ฃผ์
1. ๊ธฐ์ด
- ์๊ณ ๋ฆฌ์ฆ๊ณผ ์๋ฃ๊ตฌ์กฐ ์๊ฐ
- ์๊ณ ๋ฆฌ์ฆ ๊ธฐ์ ๋ฐ ๋ถ์
- Python ๊ธฐ๋ฐ ์๋ฃ๊ตฌ์กฐ ๊ตฌํ
2. ์ ํ ๊ตฌ์กฐ
- ๋ฐฐ์ด(Array)
- ๋จ์ผ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Singly Linked List)
- ์ํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ(Circular Linked List)
- ์คํ(Stack)
- ํ(Queue), ์ํ ํ, ๋ฑ(Deque), ์ฐ์ ์์ ํ(Priority Queue)
3. ๋น์ ํ ๊ตฌ์กฐ
- ํธ๋ฆฌ(Tree) ๋ฐ ์ด์งํธ๋ฆฌ(Binary Tree)
- ์ด์งํ์ํธ๋ฆฌ(BST)
- ํ(Heap)
- ๊ทธ๋ํ(Graph) ๊ตฌ์กฐ ๋ฐ ํ์
4. ์๊ณ ๋ฆฌ์ฆ ๊ธฐ๋ฒ
- ์ฌ๊ท(Recursion)
- ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ (๊ธฐ์ด ๋ฐ ๊ณ ๊ธ ์ ๋ ฌ)
- ํ์(Search)
- ์ํ ๋ฐ ๋ฌธ์ ๊ธฐ๋ฐ ํ์ต
๐งช ์ค์ต & ๊ณผ์
- ์๊ณ ๋ฆฌ์ฆ ๊ธฐ์ ์ค์ต
- Python ์ค์ต(์ ๋ฌธ ~ ์ค๊ธ)
- ์ฐ๊ฒฐ ๋ฆฌ์คํธ/์คํ/ํ ๊ตฌํ ์ค์ต
- ์ํ ์ฐ๊ฒฐ ๋ฆฌ์คํธ Lab
- ์ ๋ ฌยทํ์ ์ค์ต
- ์ฃผ์ฐจ๋ณ ๊ณผ์ ์ ์ถ
๐ ์์ ๋ฐฉ์
- ๊ฐ๋ ์ ์ง๊ด์ ์ผ๋ก ์ค๋ช ํ๋ ์ด๋ก ๊ฐ์
- Python/C/C++ ๊ธฐ๋ฐ ์ฝ๋ฉ ์ค์ต
- ์๊ฐํ ๋ฐ ์์ ์ค์ฌ ์ค๋ช
- ์ํ(1ยท2ยท3์ฐจ) ๊ธฐ๋ฐ ๊ฐ๋ ๊ฐํ
๐จโ๐ซ ๋ด๋น ๊ต์
๊น์งํ ๊ต์ (Prof. Jin Hyun Kim)
๊ฒฝ์๊ตญ๋ฆฝ๋ํ๊ต ์ฌ์ด๋ฒ์์ ์ฐ๊ตฌ์ค