보호되어 있는 글입니다.
공부
선택 정렬(Selection Sort)이란? 값이 가장 작은 숫자를 찾아 가장 왼쪽에 있는 데이터부터 순서대로 데이터를 교환하여 정렬하는 처리를 반복한다. 선택 정렬 살펴보기 우선 정렬하고자 하는 데이터 안에서 값을 하나 골라 임시 최솟값으로 정한다. 데이터 전부를 임시 최솟값과 비교한다. 임시 최솟값보다 값이 작은 데이터가 있다면, 값이 가장 작은 데이터의 위치와 임시 최솟값의 위치를 바꾼다. 계산량 확인해보기 데이터의 총 개수를 n이라고 하면 선택 정렬의 비교 횟수는 처음에 n-1 번, 그 다음은 n-2, n-3 번 ... 이다. 반복 횟수는 (n-1) + (n-2) + (n-3) + ... + 1 이므로 (n²-n)/2이다. 즉 선택 정렬의 오더는 O(n²)이 된다. 오더가 버블 정렬과 같지만, 버..
시간 복잡성이란? 계산의 복잡성, 계산이 복잡해지는 만큼 처리하는 스텝의 개수가 늘어나므로 실행 시간이 오래 걸린다는 뜻이다. 스텝 : CPU가 실행하는 명령 O 표기법 알고리즘의 계산량이 얼마나 될지 대략적으로 표현한 지표. 구체적인 실행 시간이나 명령의 개수는 알려주지 않는다. 같은 프로그램을 실행해도 컴퓨터의 처리 성능에 따라 실행 시간이 달라지기 때문에, 입력된 데이터 n의 크기에 따라 시간 계산량이 어느 정도의 비율로 늘어나는지를 O(n 식)의 형태로 표현하는 것이다. O(n) : 입력한 데이터의 크기(개수나 자릿수 등)을 n이라고 했을 때 알고리즘을 최대 n번 실행하면 처리가 완료된다는 뜻이다.(반드시 n번만에 완료된다는 것이 아니라 알고리즘의 최대 실행 횟수가 n번이라는 뜻이다.) 1. O ..
퀵 정렬(Quick Sort)이란? 데이터의 범위를 반으로 나눈 다음, 그 범위를 다시 반으로 나누어 정렬하는 처리를 반복한다. 퀵 정렬 살펴보기 우선 피봇(기준 값)을 정한다. 피봇으로 정할 데이터는 어떤 데이터든 상관없다. 정렬한 데이터의 크기가 피봇보다 큰 그룹과 작은 그룹으로 분할한다. 나눈 그룹 안에서도 똑같이 피붓을 정한 후 위와 같은 방식으로 분할한다. 이처럼 분할을 반복해 정렬하는 알고리즘을 분할 정복 알고리즘이라고 한다 계산량 확인해보기 퀵 정렬은 피봇을 기준으로 한 데이터의 크기에 따라 전체 데이터를 균형 있게 절반씩 분할해 나가며, 그 결과로 log₂n단 만들어진다. 오더는 O(nlogn)이다. 하지만 데이터를 나열한 순서가 좋지 않으면 효율이 나빠지고, 최악의 경우에는 오더가 O(n..
버블 정렬(Bubble Sort)이란? 서로 인접한 두 원소를 검사해 정렬하는 알고리즘이다. 오름차순을 기준으로 정렬한다. 큰 숫자가 왼쪽에서 오른쪽을 향해 거품처럼 이동하는 모습 버블 정렬 살펴보기 이웃한 데이터의 값을 비교해 값의 크기가 다르면 위치를 바꾼다 오름차순으로 정렬할 경우 왼쪽 데이터의 크기가 오른쪽 데이터의 크기보다 크면 위치를 바꾼다. 계산량 확인해보기 데이터의 총 개수를 n이라고 하면 버블 정렬의 비교 횟수는 처음에 n-1 번, 그 다음은 n-2, n-3 번 ... 이다. 반복 횟수는 (n-1) + (n-2) + (n-3) + ... + 1 이므로 (n²-n)/2이다. 즉 버블 정렬의 오더는 O(n²)이 된다. 버블 정렬 실행해보기 with 자바스크립트 버블 정렬 정렬 결과 // ja..
호스팅(Hosting)이란? 호스팅의 의미를 알기전에 호스트의 의미를 알아보자, 호스트란? 각각의 인터넷에 연결되어 있는 컴퓨터 혹은 장치들을 가르켜 호스트라고 한다. 그럼 호스팅이라고 하는 것은 정보를 제공하는 사업자, 즉 서버 쪽에서 사용되는 컴퓨터 또는 소프트웨어 이러한 것들을 제공하는 사업자를 말한다. 즉, 우리가 직접 웹서버를 운영하는 일은 쉽지 않기 때문에, 이러한 일을 대신해주는 사업을 호스팅이라고 한다. 대표적으로 웹 호스팅, 서버 호스팅 등이 있다. 웹 호스팅 : 웹 애플리케이션을 위한 모든 것을 제공해준다. (웹서버, 미들웨어, 데이터베이스.. 등 모든 것 설치되어있다). 그러기에 웹 애플리케이션만 업로드 하면 된다. 서버 호스팅 : 서버를 운영할 수 있는 컴퓨터만 제공한다. 자기가 원..
DNS(Domain Name System) 우리는 인터넷을 이용할 때 웹 브라우저의 주소 창에 도메인 이름을 입력한다. 그러면 브라우저는 우리가 원하는 페이지를 띄어준다. 하지만 실제 웹 브라우저와 웹 서버는 숫자로 구성된 IP 주소로 통신한다. 그럼 IP가 아닌 도메인 이름을 입력했는데 어떻게 알아듣고 원하는 페이지를 띄어주는 걸까? 바로 사용자가 입력한 도메인 주소를 IP주소로 변환해주는 시스템인 DNS를 사용하기 때문이다. DNS 작동원리 웹 브라우저는 입력된 도메인 주소의 서버와 통신 하기 위해 DNS 서버와 메시지를 교환해 해당 서버의 IP주소를 획득하고, 사용자의 요청에 따라 원하는 정보들을 받아온다. Reference https://opentutorials.org/course/3276/20299