일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 샐러리
- JAVA #언어 #프로그래밍 #코딩 #static #정적함수 #정적변수 #클래스
- 리눅스
- JAVA #언어 #프로그래밍 #IT #개발 #코딩
- 유럽여행
- 메시지 큐
- RabbitMQ
- #DB#SQLD#자격증
- 1달살기
- 예약
- ip
- 일정
- 유럽
- 영국
- 여행 #
- 계획
- 파이썬
- JAVA #객체지향 #프로그래밍 #언어 #IT #기초
- 경험
- 겨울
- 서버
- 준비
- 실비용
- 배낭여행
- 이탈리아
- 인프라
- 추억
- IT
- 내심정
- 여행
- Today
- Total
목록<SW>/알고리즘 + 자료구조 (24)
YoonWould!!
1234567891011121314151617181920212223242526272829303132#include // 순차 탐색 알고리즘 함수// 찾는 숫자가 있으면 찾는 숫자의 인덱스 리턴// 없으면 -1 리턴int LSearch(int arr[], int len, int target) { int i = 0; for (i=0; i
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970#include // 이진 탐색 알고리즘 반복문 구현// 찾는 숫자가 있으면 찾는 숫자의 인덱스 리턴 없으면 -1 리턴int BSearch(int ar[], int len, int target) { int first = 0; int last = len - 1; int mid = 0; // first와 last가 같은 경우까지 반복하는 이유 // while(first last) return -1; else { if (ar[mid] == target) return mid; el..
배열과 링크드리스트에 대한 차이를 기술 면접 준비하면서 정리한 것을 쓴다. -속도-(1번 포인트) 데이터에 대한 접근 속도 - 배열 승배열은 index만 있다면 O(1)에 접근.연결리스트는 최소 한 번은 리스트를 순회하여야 하므로 O(n)에 접근. (2번 포인트) 데이터 삽입 속도 - 경우에 따라 다름 (전체적으로 연결리스트 승리)만약 배열에 공간이 많이 남아있고 맨 끝에 삽입한다면, 삽입 속도 역시 O(1)에 가능.하지만 이런 경우만 발생하는 경우는 꽤 드물기 때문에 연결리스트의 필요성이 대두됨. 연결리스트는 어느 곳에 삽입하던지 O(n)의 시간에 접근함. (만약, 중간 삽입이 없다면 O(1)에 접근)배열의 경우 데이터를 중간이나 맨 앞에 삽입할 경우 그 이후의 데이터를 한 칸씩 미뤄야하는 추가과정과 ..
문제 https://www.acmicpc.net/problem/14889 해결 방법 N명이 있다. 우선 이 N명을 각각 A팀(N/2명), B팀(N/2명) 으로 나누어야 한다.이 문제의 목적은 "두 팀 A와 B의 능력 차이를 최소가 되게 할 수 있는 팀으로 구성해야 된다" 이다.따라서 모든 경우를 탐색해야 한다는 것을 알 수 있다. 그러므로 이 문제는 완전 탐색 문제가 된다.그렇다면 완전 탐색 문제는 어떻게 하는 거지?완전 탐색의 대표적인 알고리즘은 DFS와 BFS가 있다. (우선 문제를 풀려면 위 알고리즘에 대한 이해가 필요하다)두 개의 팀이 이미 결정된 상태에서 각 팀의 능력치를 구하고 그 차이를 구해야하므로 'DFS'를 선택해야 한다는 것을 알 수 있다. 근데 DFS 알고리즘은 깊이 우선 탐색, 즉 ..