profile
Developer

Sorting Algorithms - 합병 정렬(Merge Sort)

1. 정의 합병 정렬(Merge Sort)은 분할 정복(Divide and Conquer) 방식으로 배열을 분할하고, 최종적으로 분할된 배열에서 대소 비교를 이룬 뒤 다시 배열을 합치는 정렬 방식이다. 2. 방식 배열을 중간 인덱스를 기준으로 좌, 우로 나눈다. 이 방식을 지속적으로 반복하며 최종적으로 Partition에 2개의 요소가 남을 때까지 반복한다...

2020년 9월 16일
·
0개의 댓글

2주차 - Crypt

0. 간단 용어 정리 우선 간단한 용어에 대해 알아 보고 넘어가도록 하자. >* Cryptography making "secret codes" : 암호화 방식, 암호화 기법을 의미한다. Cryptanalysis breaking "secret codes" : 암호 해독으로, 암호문을 평문으로 되돌리는 것이다. Cryptology Cryptography +...

2020년 9월 11일
·
0개의 댓글

2주차(2) - Principles of Cloud Computing

1. 클라우드 컴퓨팅 클라우드 컴퓨팅(Cloud Computing)은 유틸리티 컴퓨팅(Utility Computing)을 실체적으로 잘 구현한 모델이라고 할 수 있다. 이 때 유틸리티 컴퓨팅이란, 사용한 만큼 비용을 지불하는 공공 서비스와 유사하다. 필요할 때 필요한 만큼 컴퓨팅 자원을 제공받고, 사용한 만큼 비용을 지불하는 것이다. 클라우드 컴퓨팅은 on...

2020년 9월 9일
·
0개의 댓글

2주차(1) - Introduction

1. 병렬화 문제(Parallelization Challenges) 빅데이터를 다룰 수 있는 가장 좋은 방법은 분할 정복(Divide and Conquer) 이다. 분할 정복이란, 하나의 큰 Work를 여러 개의 work로 분할한 다음, 각각을 처리하여 다시 하나로 합치는 작업을 말한다. 우선 하나의 work를 세부적인 work로 쪼갠다. 그 다음, 각 작...

2020년 9월 9일
·
0개의 댓글

퀴즈2

문제 자연수 N을 이진수로 나타내기 위해 필요한 비트 수를 계산하는 문제를 고려한다. 0이나 1을 이진수로 나타내면 각각 0이나 1이므로 필요한 비트(bit) 수는 1이다. 13을 이진수로 나타내면 1101이므로 필요한 비트 수는 4이다. 자연수 N을 이진수로 나타내기 위해 필요한 비트 수를 계산하는 재귀 알고리즘을 작성하라. (힌트: N을 이진수로 나타내...

2020년 9월 9일
·
0개의 댓글

2주차 - DB 설계란 무엇인가?

1. DIKW & Database의 정의 데이터란, 현실 세계로부터 단순한 관찰이나 측정을 통해서 수집된 사실이나 값이 정형화된 것이다. 항목 정의 핵심 데이터(Data) 실제 세상에 너무도 넓게 존재하는 사실적인 자료 아직 특정의 목적에 대하여 평가되지 않은 상태의 단순한 여러 사실 사실적 ...

2020년 9월 7일
·
0개의 댓글

3주차 - 알고리즘의 효율성 분석

1. 재귀 함수 3주차 알고리즘 시간에서는 재귀 함수(Recursive Function) 에 대해 알아 보았다. 재귀 함수는 하나의 함수에서 본인을 재호출하여 반복적으로 다시 사용하는 방식이다. 팩토리얼을 재귀 함수로 구현하는 과정을 보자. n! = 1 × 2 × 3 × ... × n (n >= 1) 이고, n = 0 이면 1 이다. 이것을 재귀적 정의로...

2020년 9월 7일
·
0개의 댓글

2주차 - 학습과 모델

1. 기계 학습(Machine Learning) 기계 학습(Machine Learning)은 3가지 분류로 나눌 수 있다. >+ 지도 학습(Supervised Learning) 정답과 문제를 주고 학습시키는 방식으로, 대표적으로 분류 문제가 이에 속한다. 비지도 학습(Unsupervised Learning) 데이터를 주고, 정답은 모르는 상태에서 ...

2020년 9월 6일
·
0개의 댓글

1주차 - Introduction

1. 빅데이터의 정의 클라우드 컴퓨팅 강의의 1주차 수업 복습이다. 빅데이터의 정의에 대해 알아 본다. 빅데이터의 정의로는 2가지로 나눌 수 있다. 기존 데이터베이스 관리 도구의 데이터 수집, 저장, 관리, 분석하는 역량을 넘어서는 데이터이다. 맥킨지에서 2011년 6월에 정의했다. 업무 수행 방식에 초점을 맞춘 정의이다. 다양한 종류의 대규모 데이터...

2020년 9월 2일
·
0개의 댓글

Sorting Algorithms - 퀵 정렬(Quick Sort)

1. 정의 퀵 정렬(Quick Sort)은 가장 빠른 정렬 알고리즘으로 알려져 있으며, 많이 사용되고 있다. 2. 방식 퀵 정렬은 피벗(pivot) 이라고 하여, 배열을 두 분류로 나누도록 한다. 피벗 앞에는 피벗보다 작은 배열 원소값이 들어가게 해야 하며 피벗 뒤에는 피벗보다 큰 배열 원소 값들이 들어가도록 해야 한다. 피벗을 이용한 배열 분할은 재귀 ...

2020년 9월 2일
·
0개의 댓글

Sorting Algorithms - 선택 정렬(Selection Sort)

1. 정의 선택 정렬(Selection Sort)란, 배열의 가장 작은 요소부터 선택하여 알맞은 위치로 옮겨 정렬하는 알고리즘이다. 선택 정렬은 삽입 정렬과 유사하게 배열에서 정렬된 부분과 정렬되지 않은 부분이 존재한다. 2. 방식 배열에서 정렬되지 않은 부분의 가장 작은 값과 가장 앞에 있는 값을 교환하면 된다. 즉, 배열의 정렬되지 않은 부분의 첫 번...

2020년 9월 2일
·
0개의 댓글

Sorting Algorithms - 삽입 정렬(Insertion Sort)

1. 정의 삽입 정렬(Insertion Sort)에 대해서 알아보도록 한다. 삽입 정렬이란 배열의 2번째 요소부터 검사를 시작하여 비교 대상인 요소와 대소 관계를 따진 후, 요소를 이동하는 것을 말한다. 2. 방식 예를 들어, 아래의 모습을 한 배열이 있다고 가정하자. >첫 번째 시작 대상은 2번째 요소인 4부터 시작한다. 이 때 4는 6보다 앞에 위치...

2020년 9월 2일
·
0개의 댓글

Sorting Algorithms - 버블 정렬(Bubble Sort)

1. 정의 버블 정렬(Bubble Sort)에 대해 알아보도록 한다. 버블 정렬이란, 이웃한 두 요소의 대소 관계를 비교하여 교환을 반복하는 정렬 알고리즘을 뜻한다. 인접한 2가지 요소의 대소 관계를 검사하여 원하는 순서대로 되어 있지 않은 경우 교환을 하는 것이다. 오름차순, 내림차순으로 정렬할 수 있다. 설명은 이 정도로 하고, 바로 코드로 보도록 ...

2020년 9월 2일
·
0개의 댓글

2주차 - 알고리즘의 효율성 분석

1. 효율성 분석 방식 알고리즘의 효율성 분석에는 주로 2가지로 분석한다. 시간 복잡도와 공간 복잡도이다. 시간 복잡도란, 알고리즘이 얼마나 빨리 수행되는지를 나타낸 것이다. 공간 복잡도란, 알고리즘이 수행되는 동안 요구되는 메모리 공간의 크기를 나타내는 것이다. 실행 시간 측정 단위는 기본 연산(알고리즘의 실행 시간에 가장 많이 기여하는 연산)이다. 이...

2020년 9월 2일
·
0개의 댓글

1주차 - 알고리즘 소개

1. 정의 우선 알고리즘이란, 문제를 해결하기 위한 단계적 절차 또는 방법이다. 순서대로 구체적이고 명확하게 기술해야 하며, 유효한 입력을 받아 답을 출력할 수 있어야 한다. 2. 특징 알고리즘은 3가지 조건을 지닌다. 명확성, 정확성, 정지성이다. 명확성이란, 알고리즘의 각 단계는 애매모호하지 않고 명확해야 하며 모든 단계가 1가지 의미로만 해석될 수...

2020년 9월 2일
·
0개의 댓글

안녕하세요!

첫글 작성입니다. Velog는 개인 공부 등을 정리하는 용도로 사용할 블로그입니다. 내용에 오류가 있다면 말씀해 주시면 감사하겠습니다.

2020년 9월 2일
·
0개의 댓글