전체 글

시간 복잡성이란? 계산의 복잡성, 계산이 복잡해지는 만큼 처리하는 스텝의 개수가 늘어나므로 실행 시간이 오래 걸린다는 뜻이다. 스텝 : 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..
※ 본 정리 글은 수제비 정보처리기사 실기책을 참고하여 작성했습니다 → 책정보 확인하기 2021 수제비 정보처리기사 실기 (1권+2권 합본세트) 2020년 기출 문제 수록 T 비전공자를 위해 만들어진 수험서다. NCS 모듈 제작에 참여한 경험을 기반으로, 다양한 모듈에서 시험 출제 빈도를 분석하여 출제 비중이 높은 내용 위주로 구성했다. 출제 비중이 낮고 이해하 www.aladin.co.kr 정보처리기사 실기를 준비하면서 요약정리 했던 내용을 올립니다. 정말 외워야 한다고 생각하는 부분들만 정리했습니다. 나머지 내용들은 책을 참고해주세요. * 과목 클릭시 해당 글로 이동이 됩니다. 1. 요구사항 확인 2. 화면 설계 3. 데이터 입출력 구현 4. 통합 구현 5. 인터페이스 구현 6. 프로그래밍 언어 활용..
01 제품 소프트웨어 패키징 수행 ▶ 릴리즈 노트(Release Note) 최종 사용자인 고객에게 개발 과정에서 정리된 제품의 릴리즈 정보를 제공하는 문서 ▶ 릴리즈 노트(Release Note) 작성 항목 ⦁ 헤더 : 문서 이름, 제품 이름, 버전 번호, 릴리즈 날짜, 참고 날짜 등의 정보 ⦁ 개요 : 제품 및 변경에 대한 간략한 전반적 개요 ⦁ 목적 : 목적에 대한 rodym 버그 수정 및 새로운 기능 기술 ⦁ 이슈 요약 : 버그의 간단한 설명 또는 릴리즈 추가 항목 요약 ⦁ 재현 항목 : 버그 발견에 따른 재현 단계 기술 ⦁ 수정, 개선 내용 ⦁ 사용자 영향도 : 버전 변경에 따른 최종 사용자 기준의 기능 및 응용 프로그램상의 영향도 기술 ⦁ 소프트웨어 지원 영향도 ⦁ 노트 : 소프트웨어 및 하드웨..
01 운영체제의 특징 ▶ 운영체제 사용자가 컴퓨터 하드웨어를 쉽게 사용할 수 있도록 인터페이스를 제공해주는 소프트웨어 ▶ 운영체제의 종류 : 윈도즈, 유닉스, 리눅스, 맥, 안드로이드 ▶ 리눅스/유닉스 계열의 기본 명령어 ⦁ chmod : 특정 파일 또는 디렉토리의 퍼미션 수정 명령어 ⦁ chown : 파일이나 디렉토리의 소유자, 소유 그룹 명령어 ▶ 메모리 관리 기법 ⦁ 반입 기법 : 메모리로 적재 시기 결정 ⦁ 배치 기법 : 메모리 적재 위치 결정 ⦁ 할당 기법 : 메모리 적재 방법 결정 ⦁ 교체 기법 : 메모리 교체 대상 결정 ▶ 메모리 배치 기법 ⦁ 최초 적합(First-fit) : 가용 공간 중 첫 번째 분할에 할당 ⦁ 최적 적합(Best-fit) : 가장 크기가 비슷한 공간에 할당 ⦁ 최악 적..
01 애플리케이션 테스트 케이스 설계 ▶ 소프트웨어 테스트 원리 ⦁ 테스팅은 결함이 존재함을 밝히는 것 ⦁ 완벽한 테스팅은 불가능 ⦁ 테스팅은 정황에 의존적 : 소프트웨어의 성격에 맞게 테스트 실시 ⦁ 개발 초기에 테스팅 시작 > 요르돈의 법칙(Snowball Effect, 눈덩이 법칙) : 개발 초기에 테스팅 하지 않으면 비용이 커진다. ⦁ 결함 집중 > 파레토 법칙 : 소프트웨어 테스트에서 오류의 80%는 전체 모듈의 20% 내에서 발견된다. ⦁ 살충제 패러독스 : 동일한 테스트 케이스로 반복해서 테스트하면 새로운 버그를 찾지 못한다. ⦁ 오류-부재의 궤변 : 요구사항을 충족시키지 못한다면, 결함이 없다고 해도 품질이 높다고 볼 수 없다. ▶ 화이트박스 테스트(구조 기반 테스트) 각 응용프로그램의 내..
지식냠냠
ToDev