[자료구조] 12.고급정렬
12장 고급 정렬
다익스트라(Dijkstra) 알고리즘은 주어진 그래프에서 한 출발점으로부터 다른 모든 노드까지의 최단 경로를 구하는 알고리즘입니다. 다익스트라 알고리즘은 가중치가 있는 그래프에서 사용되며, 주로 길 찾기 문제 등에 활용됩니다.
다익스트라 알고리즘의 동작 방식은 다음과 같습니다:
출발점을 설정하고 출발점으로부터의 거리를 저장하는 배열을 초기화합니다. 출발점의 거리는 0으로 설정하고, 다른 모든 노드의 거리는 무한대로 초기화합니다.
방문하지 않은 노드 중에서 출발점으로부터의 거리가 가장 짧은 노드를 선택합니다. 이를 현재 노드로 설정합니다.
현재 노드와 연결된 모든 인접한 노드들을 순회하면서, 출발점으로부터의 거리를 업데이트합니다. 만약 현재 노드를 통해 인접한 노드로 가는 거리가 기존의 거리보다 더 짧다면, 해당 노드의 거리를 업데이트합니다.
모든 노드를 방문할 때까지 2번과 3번의 과정을 반복합니다.
최종적으로 모든 노드로부터의 최단 거리가 결정되고, 이를 결과로 반환합니다.
다익스트라 알고리즘은 탐욕적인 방법을 사용하여 노드를 선택하고, 최단 거리를 업데이트하는 과정을 반복합니다. 이 과정은 모든 노드를 방문할 때까지 반복되므로, 최악의 경우 그래프의 모든 노드와 간선을 순회하게 됩니다.
다익스트라 알고리즘은 최소 힙(우선순위 큐)을 사용하여 효율적으로 구현할 수 있습니다. 최소 힙을 활용하면 노드 선택과 거리 업데이트 과정에서 가장 작은 거리를 가진 노드를 빠르게 찾을 수 있습니다.
다익스트라 알고리즘의 시간 복잡도는 일반적으로 O((V + E)logV)입니다. 여기서 V는 노드의 수, E는 간선의 수를 의미합니다.
플로이드 최단 경로 알고리즘은 그래프에서 모든 노드 쌍 간의 최단 경로를 찾는 알고리즘입니다. 플로이드 알고리즘은 다이나믹 프로그래밍 기법을 사용하여 각 노드를 중간 경유지로 가정하고, 모든 노드 쌍 간의 최단 경로를 구하는 방식으로 작동합니다.
플로이드 알고리즘의 동작 방식은 다음과 같습니다:
플로이드 알고리즘은 음의 가중치를 가지는 그래프에서도 동작할 수 있고, 그래프의 크기에 상관없이 모든 노드 쌍 간의 최단 경로를 찾을 수 있습니다. 하지만 시간 복잡도는 O(n^3)으로 큰 그래프에서는 계산 비용이 증가할 수 있습니다.
플로이드 최단 경로 알고리즘은 도로 네트워크, 통신 네트워크, 라우팅 테이블 등 다양한 분야에서 사용됩니다. 예를 들어, 인터넷의 라우터 간 최단 경로 결정, 도시 간의 교통 흐름 분석, 항공 노선 최적화 등에 활용됩니다.
12장 고급 정렬
Dijkstra 최단 경로 알고리즘
8장 트리
Abstract
선택 정렬 알고리즘
연결된 구조
큐에 대한 정의
스택의 개념과 동작 원리
1. 리스트 & 집합 & 배열
1. 파이썬 이란?
1. 교과서 정리
1. 자료구조와 알고리즘
논문 정리 논문 요약
[우분투] 파이썬 가상환경 만들고 사용하기
[우분투] 파이썬 가상환경 만들고 사용하기 - venv 사용하여 가상환경 생성
1. 개념
활동내용
활동내용
활동내용
- hhttps://dacon.io/competitions/official/236050/overview/description
활동내용
외국계 기업의 정확한 뜻
활동내용
1. 다항함수(Polynomial Function)
활동내용
출처: https://gaussian37.github.io/ml-sklearn-saving-model/
1. 경사도벡터(Gradient Vector)
[참고] - https://blog.est.ai/2020/03/%EB%94%A5%EB%9F%AC%EB%8B%9D-%EB%AA%A8%EB%8D%B8-%EC%95%95%EC%B6%95-%EB%B0%A9%EB%B2%95%EB%A1%A0%EA%B3%BC-bert-%EC%95%95%E...
- https://aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubDataSe=realm&dataSetSn=631
머신러닝 스터디 팀4 활동 보고서
1. 영유아 행동인식을 통한 발달평가 XXX - https://aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubDataSe=realm&dataSetSn=631
https://www.itworld.co.kr/insight/109825 [ITWorld - 머신러닝 라이브러리, 텐서플로우의 이해] https://tensorflow.blog/%EC%BC%80%EB%9D%BC%EC%8A%A4-%EB%94%A5%EB%9F%AC%EB%8B...
http://matrix.skku.ac.kr/math4ai-intro/W13/
랜덤(random) 모듈
1팀. 주식시세 차익 알림
차원축소와 매니폴드 학습
인공지능 기초 2022-2 Project Proposer
추천 알고리즘의 기본 협업 필터링(Collaborative Filtering) • Memory Based Approach User-based Filtering I...
자소서 지원동기 효과적인 작성법
분명히 로컬에서 삭제한 파일인데 원격에 반영되지 않는 경우가 있다. git status로 했을 때 삭제 됐다고 뜨는데 add를 해도 안먹고 commit을 해도 반영이 안되는 것이다…
1. 결정 트리
[공통] 마크다운 markdown 작성법
Git 설치 & 환경설정
첫 블로그 생성입니다. 앞으로 잘 부탁드려요.