검색 본문
gall.dcinside.com mini rui 마줌 바킹 같이 씹탑같은 년들 조합이 놈 좋긔 바킹 조합 좋아하는거 킹혜 킹원 킹마 킹틀 마줌 조합 좋아하는거 킹마 마젠 마원 마시 마슨시 마빻 다 좋ㄱ 2024.04.14 웹문서 검색 더보기 지금 7차 중에 그거 경험 안한 거 바킹원장 뿐이긔 막바킹이랑 군밤하차가 넘 아쉬움 mint130.tistory.com 개발새발 [바킹독의 실전 알고리즘] 0x1D강 - 다익스트라 알고리즘 0x00 알고리즘 설명 다익스트라 알고리즘 = 하나의 시작점으로부터 다른 모든 정점까지의 최단 거리를 구하는 알고리즘 플로이드 알고리즘은 모든 정점쌍 사이의 최단 거리를 구하는 알고리즘, 다익스트라 알고리즘은 하나의 시작점으로부터 다른 모든 정점까지의 최단 거리를 구하는 알고리즘 0x01 구현 매 단계마다마다 도달할 수 있는 정점 중에서 시작점으로부터 가장 가까운 정점을 구해서 그 거리를 확장하는 방식 1번 정점의 거리는 확정, 2, 3, 4, 5, 6 정점이 남아있음 2, 3, 4 정점으로 갈 수 있는데, 각 정점까지의 최단 거리는 3, 2, 5 2, 3, 4, 정점 중 가장 가까운 건 3번 정점이기 때문에 3번 정점까지의 거리를 2로 확정 주황색 테두리는 거리가 확정된 정점 거리가 확정된 1, 3 정점에서 갈 수 잇는 정점은 2, 4번 정점 2번 정점까지의 거리는 3, 4번 정점까지의 거리는 1->3->4일때 4가 됨 0x02 경로 복원 방법 최단거리 테이블이 갱신될 때 어디를 거쳐가면 되는지 남김 pre테이블 : 시작점에서 나에게로 올 때 직전에 어디를 방문했는지 기록 최단 거리 테이블의 값을 갱신할 때 pre테이블도 같이 바꿈 d[2], d[3], d[4]의 갱신이 일어나 pre[2], pre[3], pre[4]에 1을 기록 3번 정점으로 인해 4번 정점까지의 거리가 갱신되는 상황에 pre[4]=3으로 바꿈 2번 정점으로 인해 5번 정점까지의 거리가 갱신, pre[5]는 2로 바뀌지만 3번 정점의 거리는 바뀌지 않으니 pre[3]은 바꾸면 안됨 11779번: 최소비용 41 다익스트라 알고리즘 = 하나의 시작점으로부터 다른 모든 정점까지의 최단 거리를 구하는 알고리즘 플로이드 알고리즘은 모든 정점쌍 사이의 최단 거리를 구하는 알고리즘, 다익스트라 알고리즘은 하나의 시작점으로부터 다른 모든 정점까지의 최단 거리를 구하는 알고리즘 2024.03.29 블로그 검색 더보기 [바킹독의 실전 알고리즘] 0x1B강 - 최소 신장 트리 [바킹독의 실전 알고리즘] 0x18강 - 그래프 roble-programing.tistory.com Roble Programing [바킹독 알고리즘] 0x0E강 - 정렬 I 선택 정렬 선택 정렬, O(N^2) 버블 정렬 앞에서부터 인접한 두 원소를 보면서 앞의 원소가 뒤의 원소보다 클 경우 자리를 바꾸는 것을 반복하면 자연스럽게 제일 큰 것부터 오른쪽에 쌓이게 된다. 이런식으로 하다 보면 버블 정렬, O(N^2) 위에서 소개된 선택 정렬과 버블 정렬 외에 삽입 정렬이라는 것도 있는데 이들은 모두 O(N^2)에 동작하는 대표적인 정렬 방법이다. 하지만 N이 커질수록 이 방법들은 비효율적일 것이다. 그래서 정렬을 더 빠르게 수행할 수 있는 알고리즘들을 알아보겠다. 0x01 Merge Sort Merge Sort는 재귀적으로 수열을 나눠 정렬한 후 합치 배열 합치기 우선 길이가 N, M인 두 정렬된 리스트를 합쳐서 길이 N+M의 정렬된 리스트를 만드는 방법을 알아보자. 위 와 같이 완성된 정렬을 하기 위해선 나뉜 두 정렬의 맨 앞 값만 비교해서 채우면 될것이다 BOJ 11728번: 배열 합치기 11728번: 배열 합치기 첫째 줄에 배열 A의 크기 N, 배열 B의 크기 M이 주어진다. (1 ≤ N, M ≤ 1,000,000) 둘째 줄에는 배열 A의 내용이, 셋째 줄에는 배열 B의 내용이 주어진다. 배열에 들어있는 수는 절댓값이 109보다 작거 www.acmicpc.net #include <bit Merge Sort Merge Sort는 3단계로 요약이 가능하다 주어진 리스트를 2개로 나눈다 나눈 리스트 2개를 정렬한다 정렬된 두 리스트를 합친다 나눈 리스트를 어떻게 정렬할것이냐는 재귀를 이용하면 된다. 예를 들어 길이가 8인 리스트를 정렬하려면 길이가 4인 리스트를 정렬할 수 있어야 하고, 길이가 4인 리스트를 정렬하려면 길이가 2인 리스트를 정렬할 수 있어야 하며 이는길이가 1인 리스트도 정렬할 수 있어야 되는데 길이가 1인 리스트는 바로 정렬이 되므로 결국 길이가 8인 리스트도 정렬 가능하다는 것이다. 길이는 N = 2^k 분할 과정은 O Stable Sort 지금 이 사람들을 나이 순으로 정렬하는 상황을 생각해보자. 편의상 상의 색깔로 사람을 지칭하면 지금 파랑, 빨강, 초록은 나이가 21살로 다 똑같고 검정만 혼자 38살이다. 그래서 나이 순으로 정렬을 한다치면 오른쪽 세 가지가 모두 올바른 정렬이다. 이렇게 우선 순위가 강ㅌ은 원소가 여러 개일 땐 정렬한 결과가 유일하지 않을 수 있다. 이때, 우선 순위가 같은 원소들끼리는 원래의 순서를 따라가도록 하는 정렬이 Stable Sort이다. 여러 정렬이 가능한 것을 Unstable Sort라 한다. Merge Sort는 Stable So 장점 퀵 소트의 장점은 추가적인 공간이 필요하지 않다는 점이다. 또 그렇게 그 배열 안에서의 자리 바꿈만으로 처리가 되기 때문에 cache hit rate가 높아서 속도가 빠르다는 장점도 따라온다. 이렇게 추가적인 공간을 사용하지 않는 정렬을 In-Place Sort라고 부른다. 퀵 소트의 과정을 풀이해보면 위 사진과 같다. 맨 처음 pivot은 6으로 제자리를 찾아가면 6을 기준으로 양쪽이 나뉘게 된다. 양쪽에서 각각 pivot을 제자리로 보내고, 이 과정을 계속 반복한다. 각 단계마다 O(N)이 필요할 것이고 매번 완벽하게 중앙에 위 단점 그런데 퀵 소트에는 치명적인 단점이 있다. 1,2,3,4,5,6,7,8을 퀵 소트로 정렬하면 시간복잡도가 얼마일까? 매번 선택되는 pivot은 중앙에 가는 대신 제일 왼쪽에 위치하게 되고 그로 인해 단계는 lgN개가 아닌 N개가 된다. 그리고 시간복잡도를 계산하면 O(N^2)이다. 이 경우에서볼 수 있듯이 퀵 소트는 평균적으로 O(NlgN)이지만 최악의 경우 O(N^2)이다. 단순히 제일 왼쪽의 값을 pivot으로 선택해보면 지금처럼 리스트가 오름차순이거나 내림차순일 때에 바로 O(N^2)된다. STL이 없을 때 정렬을 짜야 한다면 23 선택 정렬, O(N^2) 알고리즘 바킹독의 실전 알고리즘 2024.03.10 [바킹독 알고리즘] 0x18강 - 그래프 [바킹독 알고리즘] 0x0F - 정렬 II ochangup.co.kr board view 쿠첸as 이거 고무 바킹 갈아야하나요 : 창업정보 포털 오늘의창업 밥솥옆에서 김이새는데 걍 보기에는 바킹 짱짱하니 문제없어보이거든요? 근데 저렇게 김이새요 Video will play after Ad Next subject author Cancel 쿠첸as 이거 고무바킹 갈아야하나요 Play 107 0:00:00 Play... 2024.04.04 전체보기 대변기 세척밸브 를 내렸을 때 물살이 약하면 어떻게 원인인가요? : 창업정보 포털 오늘의창업 대림 비데일체형 사용해보신 분 계실까요? : 창업정보 포털 오늘의창업 thankfulinfo.tistory.com 공대 나온 엔지니어 청년의 각종 정보 공유 바킹독의 실전 알고리즘 강의 총정리(C++, 코딩 테스트, 알고리즘) 백준 11404: 플로이드 (C++) #include <bits/stdc++.h> using namespace std; const int INF = 0x3f3f3f3f; int d[105][105]; int n, m; int main(void){ ios::sync_with_stdio(0); cin.tie(0); cin >> n >> m; for(int i = 1; i <= n; i++) fill(d[i], d[i]+1+n, INF); while(m--){ int a,b,c; cin >> a >> b >> c; d[ 백준 11780: 플로이드 (C++) #include <bits/stdc++.h> using namespace std; const int INF = 0x3f3f3f3f; int d[105][105]; int nxt[105][105]; int n, m; int main(void){ ios::sync_with_stdio(0); cin.tie(0); cin >> n >> m; for(int i = 1; i <= n; i++) fill(d[i], d[i]+1+n, INF); while(m--){ int a,b,c; cin >> 백준 1753번: 최단경로 (C++) 0x02 경로 복원 방법 11779번: 최소비용 구하기 2 (C++) 0x1E강 - KMP 0x00 알고리즘 설명 패턴 매칭 문제를 문자열 A안에 문자열 B가 들어있는지 판단하는 알고리즘이다. 위 알고리즘은 시간 복잡도가 O(|A|*|B|)이다. 0x01 실패 함수 KMP알고리즘은 아래 설명과 같다. 현재 F(i)값을 구할 경우 F(i-1)만큼의 구간을 그대로 가져온 후 한글자가 일치하는지 확인한다. 일치하면 F(i) = F(i-1)+1이 된다. 위 파란색 영역에 가운데 빈 영역은 문자열이 일치하지 않고 초록영역은 일치한다고 생각해보자 만약에 i=j=6이라면j=F(i-1)=2 가 되고 j=2가 된다. BOJ 14425번: 문자열 집합 부록 A- 문자열 기초 0x00 C++ string 0x01 연습 문제 1 - 문서 검색 BOJ 1543번: 문서 검색 0x00 연습 문제 2 - 크로아티아 알파벳 85 #include <bits/stdc++.h> using namespace std; const int INF = 0x3f3f3f3f; int d[105][105]; int n, m; int main(void){ ios::sync_with_stdio(0); cin.tie(0); cin >> n >> m; for(int i = 1; i <= n; i++) fill(d[i], d[i]+1+n, INF); while(m--){ int a,b,c; cin >> a >> b >> c; d[ 2024.01.29 통합웹 더보기
서비스 안내 스토리의 글을 대상으로 검색결과를 제공합니다. 자세히보기 Killara 라이프 분야 크리에이터 그렇게 해서 지구온난화가 늦춰진다면 - 먼저 서비스 센터에 수선을 6 고무바킹이 깨어진 바퀴 1박 2일 일정에 동반하는 내 오래된 가방은 크기가 자그마해서 좋다. 그래서 공주 부근 강의에 함께 다녀온, 서른 살이 넘은 여행가방의 바퀴를 닦으려 들어서 보니 2개 바퀴를 감싸고 있는 단단한 고무재질이 으깨져 일부는 분실된 듯하다. 전혀 예상지 못했던 모습이다. 여태 작은 가방의 하체... 여행가방 수선 지구온난화 2023.12.14 브런치스토리 검색 더보기 story.kakao.com 김재숙 김재숙 - 카카오스토리 3 다 들구가야 하나요? 이차 저차 상담사 왈~ 내솥 바꾸면 점검도해야 한다고,,, 고무바킹도 바야한다며,,,(고무바킹 멀쩡한데요?,,,김 새는 일도 없고,,,) 들구오시기 불편하면 기사 방문도 가능하다고,,,(출장비... 2024.03.20 카카오스토리 검색 더보기 라이프 크리에이터 보기
남바킹 nambaking.kr/ 신청자 작성 화물자동차영업용 번호판,이사 주선면허 중개,매매 플랫품. 전국. 1~25톤 화물차 영업용 번호판,화물주선면허 중개,매매 플랫폼. 전화고객센터: 1800-4778 채널 장소 블루하드웨어 www.bluehardware.co.kr/ 경첩, 핸들, 푸시버튼, 노브, 냉장고 케치, 바킹 제품 안내. 전화고객센터: 031-798-8031 장소 성원인더스트리 www.cap-seal.com/ 신청자 작성 인덕션라이너 제조 업체. 인덕션라이너, 캡 씰링지, 바킹, 각종 포장재 등 제조, 판매, 수출. 전화고객센터: 031-977-9045 장소 사이트 더보기
서비스 안내 Melon Company가 운영하는 음악 서비스입니다. 다른 사이트 더보기 Barking Ramz 앨범 Barking 2017.12.01. Bingo (Barking Dogs) CAT Entertainment 앨범 Calm the Wi... 2007.01.01.