Algorithm

MIT 6.006 Introduction to Algorithms, Spring 2020

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

MIT 6.006 Introduction to Algorithms, Spring 2020

1. Algorithms and Computation

문제란?

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

알고리즘이란?

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

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

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

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

MIT 6.006 Introduction to Algorithms, Spring 2020

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

Word RAM Model

This may seem simple, but we're really going to need this model and really rely on this model increasingly as we get to more insteresting data structures. By Erik Demaine

The Word RAM model is a computational model used to analyze the performance of algorithms and data structures. It assumes a random-access memory (RAM) where the memory is organized as an array of w-bit words.

Key Concepts

w-bit Words

Importance

Usage

By understanding the Word RAM model and the significance of w-bit words, one can better appreciate the design and efficiency of modern data structures and algorithms.