🇰🇷 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.

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.

🎓 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년 강의계획서에 따라,
알고리즘 분석 → 선형 구조 → 비선형 구조 → 재귀 → 그래프 → 정렬 → 탐색
으로 이어지는 전형적인 자료구조 커리큘럼을 체계적으로 학습합니다.
전체 주차별 스케줄은 아래에서 확인 가능합니다: 👉 여기


🔍 강의 개요

학생들은 다음을 학습합니다.

  • 주요 자료구조의 개념·구조·구현 방법
  • 시간·공간 복잡도의 정확한 분석 능력
  • 자료구조 선택에 따른 성능·메모리·활용성 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)
경상국립대학교 사이버안전 연구실