반응형
검색
검색 종류
선형 검색 | 처음부터 차례로 검색 | 자료 n개 있을 때 평균 비교 횟수 = (n+1)/2 |
제어 검색 | 이분 검색, 보간 검색 등
|
최악의 복잡도 = O(log n)+1 |
보간 검색 | 정렬된 리스트에서 범위를 줄여가며 검색하는 알고리즘 | (검색할 자료 - 검색 자료의 최솟값)/ (검색 자료의 최댓값 - 검색 자료의 최솟값) * 검색 자료 수 |
블록 검색 | 검색 대상의 자료 그룹별로 블록화 | 가장 이상적인 블록의 개수 = √n |
이진 트리 검색 | 이진 트리 구조를 이용해 검색 | 시간 복잡도 = O(log n) |
해싱 검색 | 검색 대상의 자료를 키 변환 작업 통해 검색 |
해싱 함수 종류
제산법 (Division) |
레코드 키값을 소수나 전체 자료수로 나누어 나머지값(%)으로 저장할 위치 선정 |
폴딩법 (Folding) |
레코드 키 값을 여러 부분으로 나누고 나눈 부분의 각 숫자를 더하거나 XOR한 값을 홈 주소로 사용 |
제곱법 (Square) |
레코드 키 값을 제곱한 결과 값의 일부를 선택하여 저장할 위치 선정 |
중간 제곱법 (Mid-squre) |
레코드 키 값을 제곱하고, 이 값의 중간 부분을 취하여 홈 주소로 선정 |
숫자 분석법 (Digit Analysis) |
레코드 키 값을 이루는 숫자들의 분포를 파악하여 고른 부분을 선택해 저장할 위치 선정 |
기수 변환법 (Radix Transformation) |
레코드 키 값을 숫자의 진수를 다른 진수로 변환시켜 주소 크기를 초과한 높은 자릿수는 절단하고, 이를 다시 버켓의 개수 범위에 맞게 조정 |
의사 무작위법 (Pseudo-random) |
난수(무작위의 수)를 발생시킨 후 그 난수를 이용하여 저장할 홈 주소의 위치 선정 |
시간 복잡도
정렬
1. 정렬의 시간 복잡도
빠른 순: O(logN) > O(N) > O(NlogN) > O(N^2)
2. 정렬의 종류
선택 정렬 (selection Sort) |
|
버블 정렬 (Bubble Sort) |
|
삽입 정렬 (Insert Sort) |
|
쉘 정렬 (Shell sort) |
|
힙 정렬 (Heap sort) |
|
이진 병합 정렬 (2-way merge sort) |
|
버킷 정렬 (Bucket sort) |
|
퀵 정렬 (Quick sort) |
|
모듈 구현
1. 단일 모듈 구현
- 상세 설계된 단위 모듈이나 환경 설정 모듈을 실제 프로그래밍 언어로 구현
- 통합 구현 위해 분산되어 있는 모듈 그룹화
- 종류별로 분류하여 컴포넌트화
- 응집도는 높게, 결합도 낮게 구현
- 공통 모듈 먼저 구현 후 개별 단위 모듈 구현 시 공통 모듈 재사용
- 항상 예외 처리 로직 고려하여 구현
단위 모듈 4가지 핵심 원리
정보 은닉 (information hiding) |
어렵거나 변경 가능성 있는 모듈을 타 모듈로부터 은폐 |
분할과 정복 (Divide&Conquer) |
복잡한 문제 분해, 모듈 단위로 문제 해결 |
데이터 추상화 (Data Abstraction) |
각 모듈 자료 구조 액세스하고 수정하는 함수 내에 자료 구조의 표현 내역 은폐 |
모듈 독립성 (Module Independency) |
낮은 결합도와 높은 응집도 |
2. 화면 모듈 구현
2. 반응형 웹(responsive web)
- 각 장치의 특성에 맞게 자동적으로 설정해주는 웹 기술
- 리액트(react), 뷰(vue), 앵귤러(angular) 등 웹 컴포넌트를 사용하여 구현
Reference
https://book.naver.com/bookdb/book_detail.naver?bid=17134434
이기적 정보처리기사 필기 기본서
- 기초부터 탄탄히 잡아주는 영진닷컴의 이기적 수험서!영진닷컴이 자랑하는 수험서 브랜드 ‘이기적’ 시리즈는 쉽고 풍부한 내용으로 기초부터 튼튼하게 쌓아주는 합격의 동반자입니다. 기
book.naver.com
반응형
'정보 처리 기사 필기 > 2. 소프트웨어 개발' 카테고리의 다른 글
2-3 제품 소프트웨어 패키징 - 매뉴얼 (1) | 2022.06.27 |
---|---|
2-3 제품 소프트웨어 패키징 (0) | 2022.06.15 |
2-2 통합 구현 - 연계 매커니즘 (0) | 2022.06.14 |
2-2 통합 구현 - 통합 구현 도구 (0) | 2022.06.10 |
2-1 데이터 입출력 구현 - 자료 표현 단위와 진법 (0) | 2022.06.08 |