hash_map을 사용하는 경우 많은 자료를 저장하고, 검색 속도가 빨라야 한다. 너무 빈번하게 자료를 삽입, 삭제 하지 않는다. hash_map 주요 함수 map : key와 value를 pair형태로 선언 begin() : beginning iterator 반환 rbegin() : 역방향으로 첫 번째 원소의 iterator 반환 end() : end iterator 반환 rend() : 역방향으로 마지막 원소 다음의 iterator 반환 lower_bound() : 지정한 key의 요소가 있다면 해당 위치의 iterator 반환 upper_bound() : 지정한 key의 요소가 있다면 해당 위치 다음 위치의 iterator 반환 clear() : 저장한 모든 원소 삭제 erase() : 특정위치 o..
map 주요 함수 map : key와 value를 pair형태로 선언 begin() : beginning iterator 반환 end() : end iterator 반환 insert(make_pair(key,value)): 맵에 원소를 pair형태로 추가 erase(key) : 맵에서 key(키값)에 해당하는 원소 삭제 find(key) : key(키값)에 해당하는 iterator를 반환 count(key) : key(키값)에 해당하는 원소들(value들)의 개수를 반환 empty() : 리스트가 비어있음 true 아님 false반환 size() : 리스트 원소들의 갯수를 반환 예제 코드 #include int main(void) { //map // ---> map m; //insert(key,value..
list 주요 함수 begin() : beginning iterator 반환 end() : end iterator 반환 push_front(element) : 리스트 제일 앞에 원소 추가 pop_front() : 리스트 제일 앞에 원소 삭제 push_back(element) : 리스트 제일 뒤에 원소 추가 pop_back() : 리스트 제일 뒤에 원소 삭제 insert(iterator, element) : iterator가 가리키는 부분"앞"에 원소추가 erase(iterator) : iterator가 가리키는 부분에 원소 삭제 *iterator : iterator가 가리키는 원소에 접근 front() : 첫번째 원소 반환 back() : 마지막 원소 반환 empty() : 리스트가 비어있음 true 아..
**vector 와 배열과의 차이 : 동적으로 원소를 추가할 수 있음, 크기가 자동으로 늘어남 vector 주요 함수 begin() : beginning iterator 를 반환 end() : end iterator 를 반환 push_back(element) : 벡터 제일 뒤에 원소 추가 pop_back () : 벡터 제일 뒤에 원소 삭제 [i] : i번째 원소 반환 at[i] : i번째 원소 반환 front() : 첫번째 원소를 반환 back() : 마지막 원소를 반환 empty() : 벡터가 비어있음 true 아님 false 반환 size() : 벡터 원소들의 갯수를 반환 예제 코드 #include int main(void) { //vector 생성 int형 vector vector v; //vect..
queue 주요 함수 push(element) : 큐에 원소를 추가(뒤에) pop() : 큐에 있는 원소를 삭제(앞에) front() : 큐 제일 앞에 있는 원소를 반환 back() : 큐 제일 뒤에 있는 원소를 반환 empty() : 큐가 비어있으면 true 아니면 false를 반환 size() : 큐 사이즈를 반환 예제 코드 #include int main(void) { //큐 생성 int형 queue queue q; //push=큐에 원소추가(뒤에) : 앞 123456 뒤 q.push(1); q.push(2); q.push(3); q.push(4); q.push(5); q.push(6); //pop=큐에서 원소삭제(앞에서) : 앞 456 뒤 q.pop(); q.pop(); q.pop(); //fro..
stack 주요 함수 push(element) : top에 원소를 추가 pop() : top에 있는 원소를 삭제 top() : top(스택의 처음이 아닌 가장 끝)에 있는 원소를 반환 empty() : 스택이 비어있으면 true 아니면 false를 반환 size() : 스택 사이즈를 반환 예제 코드 #include int main(void) { //스택 생성 [int형 stack] stack s; //push=top에 원소추가 //1 //2 //3 s.push(3); s.push(2); s.push(1); //top=top에 있는 원소 반환 cout
스택이란? 스택은 가장 간단한 자료구조 중 하나로 주방에 쌓여있는 접시를 상상하면 쉽게 이해할 수 있다. 접시를 닦는 사람은 방금 닦은 접시를 항상 접시더미의 맨 위에 올려놓는다 접시를 쓰는 사람은 항상 맨 위의 접시를 꺼내 쓴다. 이러한 입출력 형태를 후입선출(LIFO : Last-In-First_Out) 이라고 한다. 스택의 연산들 push(x) : 주어진 요소 x를 스택의 맨 위에 추가한다. pop() : 스택이 비어있지 않으면 맨 위에 있는 요소를 삭제하고 반환한다. isEmpty() : 스택이 비어있으면 true를 아니면 false를 반환한다. peek() : 스택이 비어있지 않으면 맨 위에 있는 요소를 삭제하지 않고 반환한다. isFull() : 스택이 가득 차 있으면 true를 아니면 fal..
배열 같은 자료형의 변수 여러 개를 하나의 묶음으로 만들어 하나의 이름으로 다룸 처음 생성 시 크기가 정해짐! 쌍의 집합으로 인덱스를 사용해 '직접 접근(direct access)' 할 수 있다. C++ vector c++ 의 STL 중 배열에 여러 기능을 추가한 벡터(vector) 제공 배열과 같이 인덱스로 항목에 접근 일반 배열보다 많은 정보를 얻을 수 있다. (벡터의 크기, Capacity 등...) 벡터의 크기는 동적으로 변한다 메모리 관리도 효율적이고 자동으로 이루어짐 새로운 원소를 벡터의 끝, 혹은 중간에 삽입할 수도 있다. ** 하지만 일반 배열처럼 중간에 원소를 삽입하는 행위는 비효율적이다, 이러한 연산은 연결 리스트(linked list)를 사용하는 것이 좋다. 1차원 배열 자료형 배열이..
자료구조? Data Structure : 컴퓨터에서 자료들을 정리하고 조직화 하는 여러 가지 구조 1. 자료구조의 분류 단순 자료구조 : 정수, 실수, 문자, 문자열 처럼 많은 프로그래밍 언어에서 기본적으로 제공하는 구조 복합 자료구조 : 여러가지 자료들이 복합적으로 구성됨 선형 구조 : 자료들이 순서적으로 나열(ex : stack, queue, dequeue) 순서 접근 : (ex : 연결 리스트) 직접 접근 : (ex : 배열) 비선형 구조 : 자료들 간에 선형적인 순서가 있는 것이 아니라 보다 복잡한 연결을 갖는 형태 트리 : 회사의 조직도나 컴퓨터의 폴더와 같은 계층 구조를 표현하기에 적합 , 이진 탐색 트리는 탐색에 적합(효율성을 높인 방법은 AVL 트리), 힙 구조는 트리의 중요한 응용중 하나..
https://www.acmicpc.net/problem/2178 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net #include #include #include #include #include using namespace std; int N, M; int direct[4][2] = { {1,0},{-1,0},{0,1},{0,-1} }; vector Map; void BFS() { queue Q; Q.push(make_pair(0, 0)); while (!Q.empty()) { pair know = Q.front(); Q.pop(); for..
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수 www.acmicpc.net BFS 풀이 - 메모리 초과 #include #include #include #include int direct[4][2] = { {1,0},{-1,0},{0,1}..
https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. www.acmicpc.net #include #include #include//bfs 너비우선탐색 #include//dfs 깊이우선탐색 vector vec[1001]; int check[1001];//방문체크 배열 void dfs(int x) { if (check[x])return; check[x] = true; ..
- Total
- Today
- Yesterday
- .
- model
- Delete
- 추상화
- 객체지향
- JDBC 프로그램 작성단계
- java
- 객체
- 캡슐화
- jdbc
- INSERT
- java 환경설정
- 상속
- controller
- ojdbc6.jar
- JdbcTemplate
- OOP
- Oracle
- select
- Scott/Tiger
- view
- 다형성
- MVC
- Update
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |