익명의냥고양이 2

동적 배열(dynamic array) vs 정적 배열(static array)

📌 1. 배열이란? 배열은 한개의 데이터가 아닌 여러 개의 데이터를 담기 위한 자료구조이다. 그런데 C언어의 배열과 파이썬의 리스트는 다르다. 나는 개인적으로 파이썬을 입문 언어로 맨 처음에 배웠는데 자료들의 크기, 타입 상관없이 원하는 대로 마구 담을 수 있었던 파이썬의 친절한 리스트와 달리 C언어랑 자바의 배열은 냉정하고 차갑기만 했다. 자료 구조를 조금 더 이해하고 나서 동적 배열과 정적 배열의 차이 때문에 그렇다는 것을 알게 되었다. 일반적으로 배열이라고 하면 정적 배열을 의미한다. 그래서 나처럼 파이썬으로 입문해서 친절한 리스트로만 배열에 익숙하신 분이라면 이 차이를 알고 정적 배열도 이해하는 것이 중요하다고 생각한다. C언어의 배열 (정적 배열) 크기가 고정돼 있다 → 연속적인 칸을 예약하여 ..

[Algo] Greedy Algorithm(그리디 알고리즘)

📌 1. Greedy Algorithm ? 그리디 알고리즘? “A greedy algorithm is an algorithm that shortcuts a full analysis in order to choose quickly an option that appears to work in the situation immediately at hand. They are often used by humans.” - Kim Stanley Robinson Greedy 알고리즘, a.k.a 탐욕 알고리즘 그리디 알고리즘은 다소 단순하게 미래를 내다보지 않고 당장 눈 앞에 보이는 최적의 선택을 하는 방식이다. 목표를 달성하기 위해 매 순간 탐욕적인 선택을 한다. 순간순간 유리한 선택을 하면 되니까 간단하고 빠르다는 ..

반응형