C++ Espresso 제15장 STL 알고리즘.

Slides:



Advertisements
Similar presentations
Hash Map. 시퀀스 컨테이너와 연관 컨테이너 시퀀스 컨테이너 -vector, list, deque 등 - 보관할 자료의 양이 많지 않고, - 검색이 중요하지 않은 경우 연관 컨테이너 -map, set, hash_map, hash_set -Key 와 짝을 이루어 자료.
Advertisements

1 08 배열. 한국대학교 객체지향연구소 2 C 로 배우는 프로그래밍 기초 2 nd Edition 배열  동일한 자료유형의 여러 변수를 일괄 선언  연속적인 항목들이 동일한 크기로 메모리에 저장되는 구조  동일한 자료 유형이 여러 개 필요한 경우에 이용할 수 있는.
1. 2 차원 배열  배열은 동일한 데이터 유형으로 여러 개의 변수를 사용할 경우 같은 이 름으로 지정하여 간편하게 사용할 수 있도록 하는 것으로서 앞에서 1 차원 배열을 공부하였습니다.  2 차원 배열은 바둑판을 생각하면 되며, 1 차원 배열에서 사용하는 첨자를 2.
알고리즘 기본 개념 정렬 알고리즘 탐색 알고리즘 알고리즘 복잡도.
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express Slide 1 (of 27)
제 9 장 포인터.
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
Learning PHP, MySQL & JS #6 Jeon Yong ju.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
제14장 동적 메모리.
Report #5 - due: 4/13 다음 10*5의 희소 행렬 A, B를 고려하라.
C 프로그래밍 I.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
Chapter 04. 연결 리스트(Linked List) 2
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
자료 구조: Chapter 3 (2)구조체, 포인터
개정판 누구나 즐기는 C언어 콘서트 제9장 포인터 출처: pixabay.
제15장 STL과 람다식 STL의 개념을 이해하고 사용할 수 있다. 람다식을 이해하고 사용할 수 있다.
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express Slide 1 (of 13)
10장 함수.
Chapter 10 Pointer Applications.
P150 문제를 프로그래밍 할 것 Source file (헤더파일포함), 실행화면 (학번_이름_1.txt)
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
C++ Espresso 제12장 템플릿.
쉽게 풀어쓴 C언어 Express 제10장 배열 C Express Slide 1 (of 32)
Power Java 제14장 배치 관리자.
제8장 배열 1부 8.1 배열 8.2 배열의 초기화 8.3 배열의 응용 8.4 정렬과 탐색 8.5 다차원 배열.
보고서 #5(제출기한: 10/14) 다음 문제를 해결하시오.
자료구조: CHAP 4 리스트 (3) 순천향대학교 컴퓨터공학과 하 상 호.
제네릭 함수 작성하기 WRITING GENERIC FUNCTIONS
11장. 1차원 배열.
배열(Array) 선린인터넷고등학교 정보통신과 유 순 옥.
Introduction To Data Structures Using C
라이브러리 알고리즘 사용하기 using LIBRARY ALGORITHMS
CHAP 10:그래프 (2) 순천향대학교 하상호.
11 정렬.
JA A V W. 03.
자바 5.0 프로그래밍.
프로그래밍 개요
어서와 C언어는 처음이지 제14장.
인터넷응용프로그래밍 JavaScript(Intro).
13. 포인터와 배열! 함께 이해하기 IT응용시스템공학과 김 형 진 교수.
CHAP 9: 정렬 순천향대학교 컴퓨터학부 하 상 호.
Java의 정석 제 5 장 배 열 Java 정석 남궁성 강의 의
Quiz #7 다음 수들을 합병 정렬과 퀵 정렬 알고리즘을 이용하여 오름 차순으로 정렬하였을 때, 데이터 이동 회수를 각각 구하라. 여러분은 정렬 과정을 단계별로 보이면서 이동 회수를 추적해야 한다. 단, 퀵 정렬시에 피봇으로 배열의 왼쪽 첫 번째 원소를 선택한다. 5.
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express Slide 1 (of 22)
컴퓨터 프로그래밍 기초 - 10th : 포인터 및 구조체 -
선택 정렬 #define SWAP(x, y, t) {(t) = (x); (x) = (y); (y) = (t);}
제 1 강.
업무 메뉴얼 1. 사무용품/소모품 청구의뢰서 작성요령 2. 법인 등기부등본/법인 인감증명 발급 요청서 작성요령
CHAP 12: 탐색 순천향대학교 컴퓨터학부 하 상 호.
CHAP 12: 탐색 순천향대학교 컴퓨터학부 하 상 호.
목차 성능과 최적화. 메모리할당. STL 알고리즘. 책의 성능 단원과 다른 단원들을 함께 포괄적으로 발표를 진행 하겠습니다.
CHAP 21. 전화, SMS, 주소록.
Learning PHP, MySQL & JS #6 Jeon Yong ju.
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
자료구조론 12장 검색(search).
DA :: 퀵 정렬 Quick Sort 퀵 정렬은 비교방식의 정렬 중 가장 빠른 정렬방법이다.
5장. 선택 알고리즘.
7주차: Functions and Arrays
JSP Programming with a Workbook
CHAP 9: 정렬 순천향대학교 컴퓨터학부 하 상 호.
컴퓨터 프로그래밍 기초 - 9th : 배열 / 포인터 -
Power Java 제14장 배치 관리자.
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
어서와 C언어는 처음이지 제21장.
Web.
13. 포인터와 배열! 함께 이해하기.
Pointers summary.
2019 2학기 9장 배열과 포인터 1. 주소, 주소연산자(&) 2. 포인터, 역참조연산자(*) 3. 배열과 포인터.
Presentation transcript:

C++ Espresso 제15장 STL 알고리즘

STL 알고리즘을 사용하면 쉽게 탐색이나 정렬을 수행할 수 있습니다. 이번 장에서 학습할 내용 STL 알고리즘을 사용하면 쉽게 탐색이나 정렬을 수행할 수 있습니다. 반복자 탐색 알고리즘 비교 알고리즘 초기화 알고리즘 수치 알고리즘 함수 객체

STL 알고리즘 STL 기반의 탐색(searching), 정렬(sorting), 계수(counting) 알고리즘

STL 알고리즘의 분류

불변경 알고리즘

변경 알고리즘

반복자 컨테이너에서 다음 요소를 가리키기 위한 ++ 연산자 컨테이너에서 이전 요소를 가리키기 위한 -- 연산자 두개의 반복자가 같은 요소를 가리키고 있는 지를 확인하기 위한 ==와 != 연산자 반복자가 가리키는 요소의 값을 추출하기 위한 역참조 연산자 * v.begin() 함수는 컨테이너 v에서 첫 번째 요소를 반환한다. v.end() 함수는 컨테이너 v에서 마지막 요소를 지났는지를 나타내는 값을 반환한다.

예제

실행 결과

반복자의 종류 전향 반복자(forward iterator): ++ 연산자만 가능하다. 양방향 반복자(bidirectional iterator): ++ 연산자와 -- 연산자가 가능하다. 무작위 접근 반복자(random access iterator): ++ 연산자와 -- 연산자, [ ] 연산자가 가능하다.

예제

역순 반복자

공통 알고리즘

탐색 알고리즘: find()

find_if()

find_if()

search()

search()

count()

binary_search() 이진 탐색: 정렬된 리스트에서 만약 찾고자 하는 원소가 중간 원소보다 크면 찾고자 하는 원소는 뒷부분에 있고 반대이면 앞부분에 있다.

예제

예제

비교 알고리즘: equal()

예제

초기화 알고리즘: fill()

copy()

for_each()

transform()

remove()

sort()

sort()

함수 객체 함수 객체

내장된 함수 객체

예제

Q & A