본문 바로가기
반응형

2

[Data Structure] 자료구조란? 기본 자료 구조 - 배열(Array), 링크드리스트(LinkedList), 스택(Stack), 큐(Queue), 해시 테이블(Hash Table), 그래프(Graph), 트리(Tree) 자료구조란? - 대량의 데이터를 효율적으로 관리할 수 있는 데이터 구조 - 프로그래밍에서 데이터 특정에따라 어떤 데이터 구조를 사용하느냐에 따라 코드 효율이 달라진다. 배열(Array) - 같은 종류의 데이터를 순차적으로 연결된 공간에 나열하는 자료 구조 - 각 데이터를 인덱스에 대응하도록 구성한다. 장점 첫 데이터의 위치에서 상대적인 위치(인덱스 번호)로 데이터를 접근하므로, 빠른 접근이 가능하다. - 인덱스 위치를 안다면, 상수 시간으로 접근 가능하다 O(1) 단점 데이터의 길이가 정해져있으므로, 크기 이상의 데이터를 저장할 때 새로운 배열을 만들어야한다. 링크드리스트( LinkedList) - 떨어진 곳에 존재하는 데이터를 화살표로 연결해서 관리하는 데이터 구조 배열, 순차적으로 연결된 공간에 데이.. 2021. 12. 29.
[Algorithm] 최단 경로를 찾는 알고리즘 (다익스트라, 플로이드 워셜) 학습 목표 · 최단 경로(Shortest Path) 알고리즘이란? · 다익스트라 알고리즘 - 간단한 다익스트라 알고리즘 - 개선된 다익스트라 알고리즘 · 플로이드 워셜 알고리즘 최단 경로(Shortest Path) 알고리즘이란? · 가장 짧은 경로를 찾는 알고리즘, '길 찾기' 문제로 불린다. · 문제를 그래프로 표현하고 각 지점을 노드, 지점간 연결된 도로는 간선이라한다. · 최단 경로 알고리즘에는 그리디 알고리즘과 다이나믹 프로그래밍이 그대로 적용된다. · 다양한 사례가 존재하며, 상황에 맞는 효율적인 알고리즘이 이미 정립되어 있다. ex) 한 지점에서 다른 특정 지점까지 최단 경로 구하기, 모든 지점에서 다른 모든 지점까지 최단 경로 구하기 등 다익스트라 알고리즘 · 그래프에 여러 노드가 있을 때,.. 2021. 10. 17.
반응형