반응형 [Python] 알고리즘 개념3 - 배열과 리스트 🚀 1. 배열과 리스트란?배열(Array)과 리스트(List)는 데이터를 저장하는 자료구조입니다. 이 두 개념은 비슷하지만, 동작 방식과 메모리 구조에서 차이가 있습니다. ✅ 배열 (Array)배열은 같은 데이터 타입의 요소를 연속된 메모리 공간에 저장하는 자료구조입니다. 배열은 크기가 고정되며, 각 요소는 인덱스를 사용해 O(1)의 속도로 접근할 수 있습니다.# 배열을 사용하려면 array 모듈 필요import arrayarr = array.array('i', [1, 2, 3, 4, 5])print(arr[2]) # 3 💡 배열의 특징:같은 데이터 타입만 저장 가능크기가 고정됨 (동적으로 변경 불가)빠른 인덱스 접근 가능 (O(1))중간 삽입/삭제 시 O(n) 시간이 소요됨 ✅ 리스트 (List.. 2025. 2. 20. [Python] 알고리즘 개념2 - Big-O 표기법 심화 📘 1. Big-O 표기법이란?🚀 Big-O 표기법이란?Big-O 표기법은 **알고리즘이 실행되는 데 걸리는 시간(시간복잡도)과 사용하는 메모리 크기(공간복잡도)**를 분석하는 방법입니다.즉, 입력 크기(nn)가 증가할 때 알고리즘이 얼마나 효율적으로 작동하는지를 나타냅니다.💡 왜 중요할까?같은 기능을 수행하는 두 개의 알고리즘이 있을 때 어떤 것이 더 빠른지 비교할 수 있음입력 크기가 커질수록 비효율적인 알고리즘은 실행 속도가 급격히 느려질 수 있음코딩테스트나 면접에서 효율적인 알고리즘을 선택하는 기준이 됨 📘 2. Big-O의 다양한 유형Big-O 표기법에서 가장 많이 사용되는 시간복잡도 유형은 다음과 같습니다.시간복잡도 설명 예제O(1)O(1)입력 크기에 상관없이 항상 일정한 시간리스트 첫.. 2025. 2. 19. [Python] 알고리즘 개념1 - 시간복잡도 & 공간복잡도 📘 1. 시간복잡도(Time Complexity)란? 📌 시간복잡도란?시간복잡도는 알고리즘이 실행되는 데 걸리는 시간을 분석하는 방법입니다. 입력 크기(nn)가 커질 때, 실행 시간이 어떻게 변하는지를 나타냅니다.예를 들어, nn개의 숫자를 더하는 알고리즘이 있다면:sum = 0for i in range(n): sum += i이 코드의 실행 시간은 O(n)O(n) 입니다. 📌 Big-O 표기법 (빅오 표기법)Big-O 표기법은 최악의 경우를 기준으로 알고리즘의 수행 시간을 표현하는 방법입니다. 대표적인 시간복잡도는 다음과 같습니다.표기법 설명 예제O(1)O(1)입력 크기에 상관없이 항상 일정한 시간리스트의 첫 번째 원소 접근 arr[0]O(n)O(n)입력 크기에 비례하는 시간리스트 순회 for.. 2025. 2. 19. 이전 1 2 3 4 다음 반응형