1. 데이터의 구조와 알고리즘 목차 :
- Introduction and Efficiency
- Course Introduction
- Syntax
- Efficiency
- Notation of Efficiency
- List-Based Collections
- Lists/Arrays
- Linked Lists
- Stacks
- Queues
- Searching and Sorting
- Binary Search
- Recursion
- Bubble Sort
- Merge Sort
- Quick Sort
- Maps and Hashing
- Maps
- Hashing
- Collisions
- Hashing Conventions
- Trees
- Trees
- Tree Traversal
- Binary Trees
- Binary Search Trees
- Heaps
- Self-Balancing Trees
- Graphs
- Graphs
- Graph Properties
- Graph Representation
- Graph Traversal
- Graph Paths
- Case Studies in Algorithms
- Shortest Path Problem
- Knapsack Problem
- Traveling Salesman Problem
- Technical Interview Tips
- Mock Interview Breakdown
- Additional Tips
- Practice with Pramp
- Next Steps
1-1. 목차는 위와 같다. 어떤 문제를 해결하기 위하여, 어떤 데이터를 가지고 어떤 알고리즘을 사용할 것인가? 그리고 알고리즘의 효율성을 어떻게 높일 거인가에 대해 공부한다.
1-2. 이 수업은 파이썬을 통한 퀴즈를 풀어야 하기 때문에, 파이썬의 기본적인 문법에 대해서는 알고 있어야 한다.
2. Efficiency: 효율성
2-1. 효율성이 이 수업의 핵심이다. 효율성이라 함은 시간적으로 공간적으로 효율적이란 의미로, 어떤 문제를 최적의 자원과 시간을 사용하여 해결하기 위해서는 효율성에 대해 명확히 이해하고 있어야 한다.
2-2. 어떻게 반복을 줄이고, 문제 해결을 위해 접촉해야 하는 데이터의 면적을 줄일 것인가? 그 답은 효율성을 귀결된다.
3. Big-O Noataion
* notation: 표기법
* algebraic expression : 대수적 표현, 대수학은 수 대신에 문자를 사용하여 방정식의 풀이 방법이나 대수적 구조를 연구하는 학문
3-1. 효율성을 표현하는 방법으로 빅오 표기법이 있다. 아래의 블로그에서 자세하게 정리 해 놓았다.
https://cjh5414.github.io/big-o-notation/
3-2. 얼마나 시간적으로 반복 되는가? = 얼마나 많은 반복이 이뤄지는가? 반복문의 갯 수에 따라, 시간적 깊이가 증가한다. 반복문이 많아 질 수록, 반복 횟수는 기하급수적으로 증가한다. 이는 효율성과 직접적으로 연관돤다.
3-3. 얼마나 공간적으로 반복 되는가? = 데이터의 구조가 어떠한가? 데이터 갯수가 많아질 수록, 반복해야 하는 횟수는 산술급수적으로 증가한다. 하지만, 데이터의 구조가 복잡해진다면, 이는 깊이가 깊어짐과 똑같다. 즉 반복적으로 시행되어야 한다는 뜻이다. 이 지점에서 데이터의 구조는 효율성과 직접적으로 연관된다.
3-4. 더 나아가, 위에서 이야기 하는 산술급적으로 증가함은, 데이터의 크기가 충분히 클 때, 효율성에 미비한 영향을 끼치기 때문에 빅오 표기법의 효율성에서, 반복횟수는 무시된다.
'2019년 혁신성장 청년인재 집중양성(빅데이터) > [UDACUTY] Data Structures & Algorithms' 카테고리의 다른 글
Lesson 7 : Case studies in Algorithms (0) | 2019.09.09 |
---|---|
lesson 6: Graph (0) | 2019.09.07 |
Lesson4 Maps and Hashing (0) | 2019.08.19 |
Lesson 3: Searching and Sorting (0) | 2019.08.16 |
list-based collection (0) | 2019.08.12 |