Course Introduction
by mervyn
Course Objectives
- Discuss key data structures and algorithms essential for solving problems with computers
- (Powerful) Programming skills
- Translate your idea into languages that computers can understand
- Live coding session!
- Computational thinking
- Problem formulation (abstraction)
- Solution expression (automation)
- Solution execution and evaluation (analysis)
- “How to think like a computer scientist”
Summary
Definitions and examples of
- Data structures
- Algorithms
Data Structures
Data Structure is a collection of
- Data values
- Relationships among data values
- Operations that can be applied to the data
Abstraction
Process of removing details while preserving information relevant to solving the problem
Fundamental data structures
| Primitive | Non Primitive |
|---|---|
| Integer, Float, Character | Linear, Non Linear, Files |
| Linear | Non-Linear |
|---|---|
| Arrays, Lists | Trees, Graphs |
| Lists |
|---|
| Stacks, Queues |
Appropriate data structure should be chosen according to the data characteristics
Algorithm
- An algorithm is a sequence of computational steps that transform the input into the output.
- An instance of a problem consists of the input needed to compute a solution to the problem.
- A correct algorithm:
- for every input instances, halts with the correct output
Sorting Problem
- A sorting algorithm
- Input: A sequence of n numbers <a1, a2,…, an>
- Output: A permutation (reordering) of the input sequence, <b1, b2,…, bn>, such that b1=<b2=<…=<bn
- Instance: <7, 10, 4, 5, 2>
source “K-MOOC 허재필 교수님의 <인공지능을 위한 알고리즘과 자료구조: 이론, 코딩, 그리고 컴퓨팅 사고> 강좌의 1-1 자료구조/알고리즘의 정의와 중요성 중(http://www.kmooc.kr/courses/course-v1:SKKUk+SKKU_46+2020_T1)”
tags:
Comments
Post comment