본문 바로가기

자료구조

(2)
Big-O notation 알고리즘의 효율성 시간 복잡도 (가장 중요하게 생각 ) 알고리즘 수행 속도가 얼마나 빠르냐 //입력이 n일때 연산횟수 알고리즘 속도 비교시 입력을 똑같이 n이라고 가정 후 연산 횟수가 얼마나 되는지 알아보는것이 Big O 공간 복잡도 메모리를 얼마나 사용하고 있느냐 Big-O notation ( 대문자 O 표기법) 알고리증 성능 수학적 표현 표기법 시간, 공간 복잡도 표현 장기적으로 데이터 증가에 따른 알고리즘 성능 예측하는것이 목표 * 상수는 과감하게 버린다 // 상수는 고정된 숫자라서 , 고정된 상수 만큼의 영향만 끼치기 때문에 속도 비교 O(1)
자료구조 자료구조 메모리를 어떻게 구조를 만들어서 사용할 것인가? 메모리 안 데이터들을 효율적으로 다루기 위해 만들어진 데이터 참조방식 Stack Last In First Out (LIFO) 제일 마지막에 들어온 데이터가 제일 먼저 나간다 ex) ctrl + z , 햄버거 놀이 스택 구현 함수 1차원 배열 : Push, Pop 리스트 Queue First In First Out (FIFO) 제일 처음 들어온 데이터가 제일 빨리 나간다. ex) 줄 선 순서대로 처리, 프린터 출력 처리 정적인 어레이 장점 : 구현이 쉽다 단점 : 고정된 Queue 크기 동적인 어레이 장점: 자유로운 Queue 크기 단점 : 구현이 어렵다 대표 함수 Enqueue : Queue에 값을 집어 넣는다 Dequeue : Queue에서 값을..