๐Ÿ‡ฐ๐Ÿ‡ท Korean Version

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)
๊ฒฝ์ƒ๊ตญ๋ฆฝ๋Œ€ํ•™๊ต ์‚ฌ์ด๋ฒ„์•ˆ์ „ ์—ฐ๊ตฌ์‹ค