2 - db실습자료#1

Download Report

Transcript 2 - db실습자료#1

자료구조와 C++ 프로그래밍
한국항공대 소프트웨어학과
실습 2 – 3월 17~18일
정렬 알고리즘(Sorting)
• 정렬
– 주어진 데이터를 정해진 순서대로 나열
• 종류
– 선택 정렬(Selection Sort)
– 버블 정렬(Bubble Sort)
– 병합 정렬(Merge Sort)
– 힙 정렬(Heap Sort)
– 퀵 정렬(Quick Sort)
선택 정렬
• 기본 개념
– 주어진 데이터들 중에 가장 작은 값을 맨 앞에
위치한 값과 바꾼다. 이러한 과정을 반복하여
데이터를 정렬한다.
Pass
Elements
min value
0
8496
4
1
4896
6
2
4698
8
4689
버블 정렬
• 기본개념
– 근접한 두 데이터를 검사하여 정렬.
Pass
Elements
0
55 07 78 12
07 55 78 12
07 55 78 12
1
07 55 12 78
07 12 55 78
2
07 12 55 78
정렬 끝
07 12 55 78
재귀함수(Recursive-Function)
• 재귀함수란?
– 자기 자신에 대한 호출을 포함하는 함수
탐색 알고리즘(Search)
• 탐색
– 주어진 데이터 집합에서 원하는 데이터를 찾
는 방법
• 종류
– 순차
– 이진
– 깊이
– 너비
탐색
탐색
우선 탐색
우선 탐색
순차 탐색
• 기본 개념
– 주어진 데이터 집합에서 원하는 데이터를 찾
는데 처음부터 끝까지 모두 비교
Data Set
비 정렬 집합
534126
‘2’ 탐색
534126
534126
534126
534126
탐색 끝
534126
이진 탐색(Binary Search)
• 기본 개념
– 주어진 데이터 집합을 반으로 쪼개서 검색한
다.
Data Set
비 정렬 집합
534126
오름차순 정렬
123456
‘2’ 탐색
123456
123
실습 (1/4)
• 클래스를 이용한 정렬 알고리즘 구현
• 실습 자료는 dblab.kau.ac.kr에...
실습 (2/4)
• 선택정렬
– class Sort 생성
– int형 파라미터 4개인 생성자
– void swap(int* a, int* b) 함수
– void select_sort() 함수
• main
– 4개의 정수 입력 받기
– 받은 입력 값으로 객체 생성
– select_sort() 함수 호출
실습 (3/4)
• Sort.h
실습 (4/4)
• Sort.cpp