분류 전체보기 67

[자료구조] 18 삽입정렬

📌삽입 정렬 (Insertion Sort) 이미 정렬되어 있는 서브 리스트에 새로운 원소를 추가하는 정렬방법 📌시간 복잡도 이미 정렬이 완료되어 있는 경우 => 최상 O(n) 원소들이 역순으로 되어 있는 경우 => 최악 O(n^2) ✔️알고리즘 1. 리스트의 인덱스 0번 위치의 항목 한개는 이미 정렬이 완료된 리스트 2. 정렬 리스트의 오른쪽에 있는 정렬되지 않은 1번 위치의 원소는 앞의 원소와 크기 비교하여 자리 교환 3. 동일하게 2번 위치의 원소도 왼쪽으로 전진 4. 이 과정을 반복 i 20 19 14 16 18 - 20 19 14 16 18 1 19 20 14 16 18 2 14 19 20 16 18 3 14 16 19 20 18 4 14 16 18 19 20 👆i의 값에 따라서 pivot이 제자..

자료구조 2020.10.07

[자료구조] 17 버블정렬

📌버블 정렬 (Bubble Sort) 👉 항목의 키 값을 풍선에 비유한 것이다 버블! 값이 클수록 더 높이높이 올라간다 가장 큰 값의 키가 오른쪽 끝으로 이동하고 그 다음 큰 값은 그 옆으로 그옆으로... 반복 📌시간복잡도 : O(n^2) 중복해서 비교가 일어난다 ✔️ 알고리즘 1. 가장 왼 쪽의 인접한 두 수를 비교하여 왼쪽 수가 더 크면 오른쪽과 위치 변경 2. 오른쪽으로 1칸 이동.. 같은 방식으로 두 수 비교하면서 교확 3. 가장 오른쪽에 도달할 때까지 반복 4. 오른쪽 끝에 최댓값이 도달하였으면 이 원소 제외하고 나머지 원소 반복 5 1 4 3 8 swap = 0 1 5 4 3 8 1 1 4 5 3 8 1 1 4 3 5 8 1 1 4 3 5 8 1 1 4 3 5 8 0 1 3 4 5 8 1 1 ..

자료구조 2020.10.07

[자료구조] 16 선택정렬

📌정렬 Sorting 주어진 레코드를 원하는 키 필드 값의 순서대로 나열하는 작업 ✔️내부 정렬 (Internal Sort) 레코드의 리스트를 주메모리에서 처리 레코드의 수가 메모리에 모두 적재될 정도로 적으면 내부 정렬로 충분 ✔️외부 정렬 (External Sort) 하드 디스크와 같은 별도의 보조 기억장치를 사용하여 처리 레코드의 수가 주메모리의 크기보다 많을 경우 외부 정렬 + 내부정렬 필요 ❓성능은? 키 값의 비교 횟수, 데이터 이동 횟수에 의해 평가됨 ✔️대표적인 내부 정렬 알고리즘 종류 선택 정렬 (Selection Sort) 버블 정렬 (Bubble Sort) 삽입 정렬 (Insertion Sort) 퀵 정렬 (Quick Sort) 쉘 정렬 (Shell Sort) 힙 정렬 (Heap Sor..

자료구조 2020.10.07

[운영체제] 03 교착상태는..

📌교착상태 자원을 점유한 상태에서 다른 프로세스가 점유하고 있는 자원을 요구하며 무한정 기다리는 현상 ✔️교착상태 발생하기 위한 필요 충분 조건 ( M H N C ) 👉 상호배제 (Mutual Exclusion) 한번에 한 프로세스만 자원을 사용하는 것 👉 점유와 대기 (Hold & Wait) 다른 자원이 할당되기를 기다리는 동안 이미 확보한 자원을 계속 보유하고 있는 것 👉 비선점 (Non-Preemptive) 강제로 빼앗을 수 없다 👉 환형 대기 (Circular Wait) 서로간의 요구 관계가 회전된다 그렇다면,, ❓교착상태 해결방법은? ✔️예방 기법 (Prevention) 교착 상태는 위의 필요충분 조건이 "모두" 만족해야 하기 때문에 이중 1개의 조건만 발생하지 않아도 예방 가능 -상호 배제 부..

운영체제 2020.10.06

[자료구조] 15 수식의 평가 ( 중위, 후위, 전위 표기법 )

📌 수식( Expression )의 구성 연산자 ( Operator ) + 피연산자 ( Operand ) ✔️ 연산자의 종류 산술 ( Arithmetic ) 논리 ( Logical ) 대입 ( Assignment ) ✔️ 피연산자의 종류 변수 ( Variable ) 상수 ( Constant ) 👉 수식의 표기법은 피연산자에 대한 연산자의 위치에 따라 나뉜다 표기법 수식 중위 표기법 ( Infix ) a / b - c + d * e - a * c 후위 표기법 ( Postfix ) a b / c - d e * + a c * - 전위 표기법 ( Prefix ) - + - / a b c * d e * a c ❗️ 중위 표기법 -수식 안에 여러개의 연산자가 존재할 경우 -각 연산자의 연산 순위가 높은 부분이 우선..

자료구조 2020.10.04

[자료구조] 14 스택과 큐

📌 스택 Stack 선형 리스트의 특별한 형태 책 또는 접시 같은 것들을 쌓아두었다고 생각 접시를 쌓을 때 쌓게 되면 맨 위에 쌓고 뺄 때도 맨 위에서 빼게 된다는 것 기억 👉 Stack 은 LIFO Last In First Out : 나중에 들어간 원소가 가장 먼저 나온다 ❓어디에 사용 함수 호출 관리, function call , 문법 검사 syntax checking , 연산식 평사 expression evaluation ✔️ push : 원소를 추가하는 연산 ✔️ Pop : 원소를 삭제하는 연산 연산 Stack ( 0,1,2,3,4,5) top 초기 상태 -1 PUSH a a 0 PUSH b a b 1 PUSH c a b c 2 POP c a b 1 PUSH d,e a b d e 3 POP e a..

자료구조 2020.10.04

[자료구조] 13 다차원배열

📌 다차원 배열 (multi-dimensional array) 2차원 이상의 배열 ex) A[10][9][8] => 선언된 총 배열원소의 개수는 10 * 9 * 8 = 720 ✔️ 행 우선 순서 row-major ✔️ 열 우선 순서 column-major 행 우선 열 우선 A[0][0] A[0][0] A[0][1] A[1][0] A[1][0] A[2][0] A[1][1] A[0][1] A[2][0] A[1][1] A[2][1] A[2][1] 👉 int A[3][2] 일 경우 열 우선 순위는 가장 왼쪽 차원의 인덱스 값이 증가 행 우선 순위는 가장 오른쪽 차원의 인덱스 값이 증가 ✔️ 배열의 표현 및 주소는 base address a, 각 원소의 s 바이트 할당, 👉 A[n][m]으로 선언된 2차원 배열에..

자료구조 2020.10.03

🧐 클라우드 서비스 예시들을 살펴보자

👉 클라우드 서비스 모델에 따른 예시들로 찾아본다 📌 서비스 모델 1 : IAAS 서버, 스토리지, 네트워크와 같은 인프라를 서비스로 제공한다 ex) AWS, IBM, LG U+, KT ✔️AWS EC2, S3 최초로 상업적으로 성공한 클라우드 서비스 EC2 ( Elastic Compute Cloud ) : 웹 호스팅 서비스, 가상 서버 S3 ( Simple Storage Service ) : 스토리지 서비스 👉 어디서 사용하나요? BMW, SBS I&M, Netflix ✔️IBM 원래 IBM의 IAAS 는 소프트 레이어, PAAS 는 블루 믹스 였지만 2017년 IBM Cloud로 통일 👉어디서 사용하나요? CJ O쇼핑, 다비치 안경 (ERP 구축), 월풀(글로벌 가전 업체) ❗️ERP : Enterp..

cloud 2020.10.03

💸 클라우드 비용 모델

✔️ Good - Better - Best 가격법 옵션에 따라 3가지 가격 제시 ex) Dropbox Google G suite : Basic - Business - Enterprise 옵션 ✔️ 핵심- 옵션 가격 모델 ( Core - Options Pricing ) 굳이 필요 없는 기능은 안쓰니까 추가하지 말자! 제품, 서비스를 쪼개서 옵션을 선택하는 방식 ex) Oracle ✔️ Subscription 모델 정기적으로 가격을 지불하는 것 지정 사용자 과금 방식 (Named User) : 클라우드에서 주로 사용하는 유저 기반의 과금, 유저 수만큼 지불 동시 사용자 과금 방식 (Concurrent User) : 특정 시점에 접속한 동시 접속자 수 기준 ex) Microsoft Office 365 대표적인..

cloud 2020.10.03

🔑 클라우드의 보안

📌 정보 보안이란 여러가지 위협으로부터 보호하는 것 위협 : 정보 수집, 가공, 저장, 송신 중간에 정보가 훼손되고 변조되고 유출되는 등의 일 위협의 발생원 : 내부원, 외부원 📌 정보보안의 핵심원칙 (3대요소) : CIA ✔️ 기밀성 Confidentiality -오직 승인된 사람만이 승인된 범위의 정보에 접근할 수 있는 것 위협요소 : 도청, 도난, shoulder surfing(어깨너머 훔쳐보기) 예방책 : 암호의 사용 ✔️ 무결성 Integrity -정보수정은 승인된 사람만 할 수 있도록 위협요소 : 바이러스, 해킹, 트로이 목마 예방책 : 안티 바이러스 (백신) 프로그램 ✔️ 가용성 Availability -시스템이 정상적으로 사용가능한 것 위협요소 : Dos, DDos 예방책 : 유해사이트, ..

cloud 2020.10.03