MIT 6.006 Introduction to Algorithms, Spring 2020

https://www.youtube.com/playlist?list=PLUl4u3cNGP63EdVPNLG3ToM6LaEUuStEY

1. Algorithms and Computation

문제란?

이진 관계란, 두 개의 집합 사이에서 정의되는 관계를 말함

알고리즘이란?

많은 양의 데이터를 비교하여 무엇인가 맞다고 증명할때 어떤 방법을 써야하나?

어떻게 설득할까? 이 알고리즘이 맞는지?

어떻게 알고리즘이 빠른지 측정할 수 있나?

32비트 CPU라는 말은 참조할 수 있는 메모리의 주소를 32비트로만 나타낼 수 있다는 말이다. 그럼 메모리 주소는 총 2^32이 된다. 약 4GB이다. 따라서, 물리적으로 최대 램을 4GB밖에 못쓴다.

2. Data Structures and Dynamic Arrays

강의 초입 부분에 인터페이스와 자료구조의 다른점을 짚고 넘어 감.

Interface (API / ADT)

Specification (어떤 명세를 가지는지)

What data can store (어떤 데이터를 저장할 수 있는지)

What operations are supported (어떤 연산을 지원하는지)

자료 구조

Representation (어떻게 표현할지)

How to store data (어떻게 저장할지)

Algorithms to support operations (어떻게 연산할지 알고리즘)

Word RAM(Random Access Machine) Model