공부/이코테
-
[algorithm] 복잡도공부/이코테 2020. 11. 12. 03:24
- 1. 이코테 요약 복잡도(Complexity)는 알고리즘의 성능을 나타내는 척도이다. 시간 복잡도(Time Complexity)와 공간 복잡도(Space Complexity)로 나눌 수 있다. 시간 복잡도: 특정한 크기의 입력에 대하여 알고리즘이 얼마나 오래 걸리는지 알고리즘을 위해 필요한 연산의 횟수 공간 복잡도: 특정한 크기의 입력에 대하여 알고리즘이 얼마나 많은 메모리를 차지하는지 알고리즘을 위해 필요한 메모리의 양 동일 기능을 수행하는 알고리즘이 있다면 일반적으로 복잡도가 낮을수록 좋은 알고리즘이다. -> 일반적으로? 엄밀한 정의에 대해서는 계산 복잡도 이론을 공부하는 것을 추천 효율적인 알고리즘을 사용한다고 했을 때 보통 시간 복잡도와 공간 복잡도는 일종의 거래관계가 성립된다. 메모리를 조금..
-
[이코테] 꼭 필요한 자료구조 기초공부/이코테 2020. 11. 10. 01:39
자료구조(Data Struncture) - 데이터를 표현하고 관리하고 처리하기 위한 구조 그중 스택과 큐는 자료구조의 기초 개념인데 삽입(Push) 삭제(Pop) 의 핵심적인 두 함수로 구성된다. 실제로 스택과 큐를 사용할 때는 오버플로와 언더 플로를 고민해야 한다. Overflow, 특정 자료구조가 수용할 수 있는 데이터의 크기를 이미 가득 찬 상태에서 삽입 연산을 수행할 때 발생 즉, 저장 공간을 벗어나 데이터가 넘쳐흐를 때 발생한다. Underflow, 특정한 자료구조가 데이터가 전혀 들어 있지 않은 상태에서 삭제 연산을 수행할 때 발생 없는 데이터를 꺼내려 할 때 발생 스택(Stack) 박스쌓기에 비유할 수 있다. 흔히 박스는 아래서부터 위로 쌓는다. 그리고 아래에 있는 박스를 치우기 위해서는 위..