전체 글(77)
-
퀵 정렬 알고리즘
퀵 정렬(quick sort)은 지금까지 가장 많이 쓰고 있는 정렬 알고리즘이다. 이유는 말그대로 빠르기 때문이다. 퀵정렬, 병합정렬 두 알고리즘은 프로그래밍에서 정렬 라이브러리의 근간이 되는 알고리즘이 된다. 바로 퀵 정렬에 대해 알아보자. 퀵 정렬 퀵 정렬에서는 '피벗(pivot)'이라는 용어를 사용하는데 과환하기 위한 기준이 되는 숫자 혹은 수치를 의미한다. 퀵 정렬은 여러 파트를 나누어서 정렬을 하게 되는데 일단 한번 살펴보자. 퀵 정렬은 왼쪽 오른쪽을 나눠서 진행 방향을 나눠서 시작하는데 왼쪽에서 진행될때는 피벗보다 큰 수를 선택하고, 왼쪽에서는 피벗보다 작은 수를 선택한다. 선택 된 수는 서로 바뀐다. part 1 5 7 9 0 3 1 6 2 4 8이 배열 상에 존재한다고 하자. step 0 ..
2021.03.04 -
삽입정렬 알고리즘
삽입정렬 알고리즘(insertion sort) 삽입정렬 알고리즘은 데이터를 하나씩 확인하며 각, 데이터를 적절한 위치에 삽입하자는 아이디어에서 나온 정렬 알고리즘이다. 삽입정렬은 특정한 데이터를 적절한 위치에 '삽입'한다는 의미에서 "삽입정렬"이라고 부른다. 삽입정렬은 특정한 데이터를 적절한 위치에 들어가지 이전에 그 전(앞)까지의 데이터는 이미 정렬되어 있다고 생각하고 정렬을 시작한다. 앞전에 정렬되어 있는 리스트에서 적절한 위치를 찾은 뒤에, 그 위치에 삽입된다는 점이 특징이다. 예를 들어 보자. step 0 첫번 째 숫자 '7'은 정렬되어 있다고 생각하고 '5'부터 시작해보자. 숫자 '5'가 어디에 들어가면 좋을지 판단하면 결국, 그 앞전 숫자 '7'의 오른쪽인지 왼쪽인지만 생각하면 된다. 그럼으로..
2021.03.03 -
선택정렬 알고리즘
선택정렬 알고리즘(selection sort) 데이터가 무작위로 나열 되어 있을때, 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸고, 그 다음 작은 데이터를 선택해 앞에서 두 번째 데이터와 바꾸는 과정이다. 이해를 돕기 위해서 다음과 같이 나타내 보았다. step 0 초기에는 모든 데이터가 정렬 되어 있지 안흠으로, 전체 중에서 가장 작은 데이터를 선택한다. 그럼으로, '0'과 맨 앞 '7'을 바꾼다. 7 5 9 0 3 1 6 2 4 8 --> 0 5 9 7 3 1 6 2 4 8 step 1 이제 정렬된 첫번째 수를 제외하고 이후 데이터 중에서 가장 작은 데이터인 '1'을 선택해서 처리되지 않은 다음 수 '5'와 바꿔준다. 0 5 9 7 3 1 6 2 4 8 --> 0 1 9 7 3 5 6 2 ..
2021.03.03 -
Subneting을 하는 이유
1. 데이터 전송 방식 컴퓨터 네트워크에는 데이터를 전송하는 방식이 여러가지가 있다. 점대점 방식, 브로드캐스트 방식 크게 두가지로 나눠진다. 1-1 점대점 방식 점대점 방식에서는 호스트 간의 데이터 전달과정에서 송신호스트와 중개호스트와 일대일로 연결되므로 다른 호스트에는 데이터가 전달되지 않는다. 대부분 원거리에 있는 시스템 사이의 통신방식으로 많이 사용하고 있으며, WAN 환경에서 주로 사용한다. 점대점 방식은 다시 스타형, 링형, 완전형, 불규칙형으로 연결방식에 따라 나눠진다. 스타형은 중앙 중개 호스트(허브 : hub)를 거쳐 데이터를 송수신하는 방식이다. 중앙에 있는 하나의 중개 호스트 주위로 여러 호스트를 일대일로 연결하는 형태이다. 모든 데이터가 중앙 호스트를 중심으로 라우팅되므로 중개 과정..
2021.03.02 -
Netmask란 무엇인가?
1. 넷마스크(Netmask, 네트워크 마스크) 요즘은 넷마스크라는 용어 대신 서브넷마스크 용어를 많이 사용하지만 정리해 보겠다. 네트워크마스크를 넷마스크라고 하기도 한다. 넷마스크 = 네트워크 마스크라고 말하기도 한다. network mask와 subnet mask를 구분하지 않는다.... 너무 옛날 방식이기 때문 CIDR(Classless Inter-Domain Routing : 클래스 없는 도메인간 라우팅 기법) 이 생긴 이후 network를 쪼개면서 subnet mask가 생겼기 때문에 netmask는 잘 언급되고 있지 않다. 엄연히 말하면 nwtmask와 subnetamsk가 같은 의미라고 생각하면 편하겠다. 네트워크 주소 부분의 비트를 1로 치환한 것이 넷마스크이다. IP주소와 넷마스크를 AN..
2021.03.02 -
Network란 무엇인가?
우리가 맨날 죽을때까지 쓸 것 같은 네트워크 네트워크는 무엇인가? 우리는 인스타그램, 유튜브, 넷플릭스, 네이버 쇼핑 등,,, 맨날 네트워크를 사용하고 있다. 점점 네트워크는 영토가 확장되고 있고 용어, 개념이 계속해서 새롭게 나오고 있다. 그럼 제일 기본이 되는 네트워크라는 건 무엇일까? 네트워크를 이해하려면 시스템, 인터페이스, 정송매체, 프로토콜, 네트워크, 인터넷 같은 "용어"가 제일 우선인것 같다!! 1. 네트워크란(network) ? net : 그물 work : 행위(일) 정리하면, 그물을 짜는 행위를 가리키는 명사에서 임의의 연결망을 지칭하는 용어로 그 범위가 확된 단어이다. 이 뜻을 요즘 사용법에 다시 정의하면 전송매체(transission media)를 매개로 서로 연결되어 데이터를 교환..
2021.03.01