우리 컴퓨터의 메모리는 크게 RAM과 하드디스크로 구성되어 있다. RAM은 메인 메모리(주 기억장치), 하드디스크는 보조 기억장치라고 불리는데, 메인 메모리는 컴퓨터가 수행하는 연산 등의 CPU가 처리 중인 데이터나 명령을 일시적으로 저장한다. 메인 메모리는 보조 기억
랜덤CS 시리즈는 CS에 관한 지식을 분야를 특정하지 않고 무작위로 산출하여 공부하고 작성하는 시리즈입니다.우선 쿠키와 세션에 대해서 다루기 전에 우리가 사용하고 있는 HTTP의 특징에 대해 알아야한다. HTTP는 connectionless(비연결성)라는 특징을 가진다
삽입 정렬의 틀은 '어떠한 값'이 '어느 곳'에 삽입되어야 하는지를 판단하여 삽입하는 것이다. 이때 '어떠한 값'은 배열의 2번째 값부터 마지막 값까지 순차적으로 지정될 것이고, '어느 곳'은 0번째 인덱스부터 '어떠한 값'의 인덱스 이전까지의 범위 내를 의미한다.어떠
버블 정렬의 틀은 값을 지속적으로 두 값을 비교하여 큰 값을 뒤로 보내는 것이다. 이러한 형태가 수면 위로 거품이 떠오르는 것과 비슷하다하여 버블 정렬이라고 한다.0번째 인덱스부터 배열의 끝까지 순차적으로 순회하며 값을 바꾸고(swap), 이후 1번째 인덱스부터 배열의
알고리즘에 대한 성능 평가는 어디서나 중요한 개념이지만, PS(Problem Solving)분야에 있어서 더욱 중요하다고 언급되는 개념이다. 특히, 실제 개발에 있어서 만나기 힘든 제약들을 걸어두는 경우가 많기 때문에 어느정도 PS를 해보았다면 시간 복잡도나 공간 복잡
메모리 단편화란 RAM에서 메모리가 수치적으로는 충분한 크기를 가지고 있지만, 실질적으로 사용하기 어려운 상태가 되었음을 의미한다.위의 그림처럼 RAM의 여유 공간은 프로세스가 올라갈 수 있을만큼 존재하지만 실제 메모리의 분포를 보았을 때에는 프로세스가 올라갈 수 없는
알고리즘에 대한 성능평가에서 공간 복잡도보다 중요한 부분을 차지하는 것이 시간 복잡도이다. 특히 PS에서 중요하게 다루어진다. 이번에는 시간 복잡도에 대해 간단히 이야기해보고자 한다.시간 복잡도란 구현한 알고리즘이 입력의 크기에 따라 수행하는 기본 연산의 횟수를 분석하