본문 바로가기

2019년 혁신성장 청년인재 집중양성(빅데이터)/[UDACUTY] Data Structures & Algorithms

INTRODUCTION AND EFFICIENCY

1. 데이터의 구조와 알고리즘 목차 :

...더보기
  1. Introduction and Efficiency
    • Course Introduction
    • Syntax
    • Efficiency
    • Notation of Efficiency
  2. List-Based Collections
    • Lists/Arrays
    • Linked Lists
    • Stacks
    • Queues
  3. Searching and Sorting
    • Binary Search
    • Recursion
    • Bubble Sort
    • Merge Sort
    • Quick Sort
  4. Maps and Hashing
    • Maps
    • Hashing
    • Collisions
    • Hashing Conventions
  5. Trees
    • Trees
    • Tree Traversal
    • Binary Trees
    • Binary Search Trees
    • Heaps
    • Self-Balancing Trees
  6. Graphs
    • Graphs
    • Graph Properties
    • Graph Representation
    • Graph Traversal
    • Graph Paths
  7. Case Studies in Algorithms
    • Shortest Path Problem
    • Knapsack Problem
    • Traveling Salesman Problem
  8. 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/

 

빅오 표기법 (Big-O Notation), 시간 복잡도, 공간 복잡도

Jihun's Development Blog

cjh5414.github.io

 

 

3-2. 얼마나 시간적으로 반복 되는가? = 얼마나 많은 반복이 이뤄지는가? 반복문의 갯 수에 따라, 시간적 깊이가 증가한다. 반복문이 많아 질 수록, 반복 횟수는 기하급수적으로 증가한다. 이는 효율성과 직접적으로 연관돤다.

 

 

3-3. 얼마나 공간적으로 반복 되는가? = 데이터의 구조가 어떠한가? 데이터 갯수가 많아질 수록, 반복해야 하는 횟수는 산술급수적으로 증가한다. 하지만, 데이터의 구조가 복잡해진다면, 이는 깊이가 깊어짐과 똑같다. 즉 반복적으로 시행되어야 한다는 뜻이다. 이 지점에서 데이터의 구조는 효율성과 직접적으로 연관된다.

 

3-4. 더 나아가, 위에서 이야기 하는 산술급적으로 증가함은, 데이터의 크기가 충분히 클 때, 효율성에 미비한 영향을 끼치기 때문에 빅오 표기법의 효율성에서, 반복횟수는 무시된다.