목록algorithm/CodingTest (26)
on my way

시간복잡도란 알고리즘 스피드의 표현법이다. 같은 알고리즘이더라도, 컴퓨터마다 속도가 다르다. 왜냐하면 컴퓨터라는 하드웨어가 결정하기 때문이다. 따라서 알고리즘은 완료까지 걸리는 절차의 수로 표현이 된다. Linear Search(선형 검색) 선형 검색이란 한개씩, 한개씩 검색을 하는 것이다. 따라서 데이터가 10개라면, 10개의 스텝이 필요한 것이다. 인풋 사이즈가 N이라면, 선형 검색 알고리즘은 N번이 필요하다. 선형 검색의 시간 복잡도는 O(N)이다. 따라서 선형검색은 y=x 그래프 모양이다. 빠르고, 이해가 쉬운 형태이다. 이런 표현법을 시간복잡도 표기법을 Big O라고 표현한다. 이런 방법으로 나의 코드의 성능을 확인할 수 있다. 만약 배열에서 다음과 같이 요소 하나만을 읽는 코드라면 print(..
I. 시작하기 왜 알고리즘 문제 해결에서 C++을 많이 사용하는가? ⇒ low-level 언어라 속도가 빠르다. (속도가 중요하지 않고 다양한 라이브러리와 함수, 쉬운 문법을 원한다면 Python으로 알고리즘을 시작해도 좋다.) ⇒ 참고 예제 코드가 많다. C와 C++의 차이점? ⇒ cin, cout을 통한 입출력 방향, namespace, i/o header변화, string, bool type C는 char, C++은 string 정렬 함수(정렬, 이진탐색), 자료구조(스택, 큐) 가 이미 구현되어있다. (C++ STL) C언어의 표준 함수를 모두 사용 가능하다. #include namespace 식별자간의 이름 충돌을 위한, 모든 식별자가 고유하도록 보장하는 코드 영역. 같은 영역 안에 식별자간 이..