[Java/알고리즘] 완전 탐색(Exhaustive Search) 이해하기 -1 : 정의 및 종류
·
Java/알고리즘 & 자료구조
해당 글에서는 탐색 알고리즘 중에서 완전 탐색 알고리즘에 대해 이해하고 각각의 종류에 대해 이해 및 시간 복잡도에 대해 확인해 봅니다.  1) 완전 탐색(Exhaustive Search)💡 완전 탐색(Exhaustive Search)이란?- ‘모든 가능한 경우의 수를 탐색’하여 ‘최적의 결과를 찾는 방법’을 의미합니다.- 모든 가능성을 고려하기 때문에 항상 최적의 해를 찾을 수 있지만 경우의 수가 매우 많은 경우 시간과 메모리의 부담이 커질 수 있습니다. 그렇기에 문제의 특성에 따라 다른 탐색 기법을 사용하는 것이 좋습니다.  2) 완전 탐색의 종류 💡완전 탐색의 종류- 탐색 알고리즘 중에서 '완전 탐색'에 대해 이해하고 각각의 탐색 종류에 대해서 이해합니다.알고리즘 종류설명장점단점브루트 포스‘모든 ..
[Java/자료구조] 선형 배열(Linear Array) 이해하기
·
Java/알고리즘 & 자료구조
해당 글에서는 알고리즘 중 선형 배열에 대해 이해를 돕기 위해 작성한 글입니다. 1) 선형 배열(Linear Array)💡 선형 배열(Linear Array) 이란? - 데이터 요소들이 ‘일렬로 연결되어 있는 배열’을 의미합니다. - 각 요소들은 인덱스라는 고유한 숫자로 식별되며 배열을 선언할 때 각 요소에 데이터 타입과 배열의 길이를 지정해야 합니다. [ 더 알아보기 ] 💡 비선형 배열(Non-Linear Array) - 데이터를 일렬로 나열하지 않고, 특정한 규칙에 따라 구조를 형성하는 배열을 의미합니다. - 대표적인 비선형 배열로는 트리(tree)와 그래프(graph)가 있습니다. 트리는 부모-자식 관계를 가진 노드들이 연결된 구조이며, 그래프는 노드와 간선(edge)으로 이루어진 구조입니다. 2)..
[Java/알고리즘] 선형 탐색(Linear Search) 이해하기
·
Java/알고리즘 & 자료구조
해당 글에서는 알고리즘 중 선형 탐색에 대해 이해를 돕기 위해 작성한 글입니다.   1) 선형 탐색(Linear Search)💡 선형 탐색(Linear Search) 이란?- 배열이나 리스트의 ‘처음부터 끝까지 하나씩 값을 비교하면서 찾는 값을 찾을 때’까지 탐색하는 방법입니다.- 선형 탐색의 경우 '정렬이 되지 않은 상태'의 배열/리스트에서 값을 찾기 위한 탐색에 사용합니다.(* 이진 탐색과 비교가 되며 정렬이 된 상태에서 사용하는 이진 탐색과 사용되는 방식이 다릅니다) [ 더 알아보기 ]💡 이진 탐색(Binary Search) 란?- ‘정렬된 배열’에서 ‘특정 값’을 찾는 알고리즘을 의미합니다.- 해당 탐색 방식은 정렬이 된 배열에서 사용이 됩니다.  💡 [참고] 아래의 글을 참고하시면 이진탐색..