2023/10/13 2

탐색 알고리즘

탐색 알고리즘 특정 데이터를 많이 가지고 있을 때, 원하는 데이터를 찾는 방식 난이도별 종류 이외 많은 탐색 알고리즘이 존재 난이도 알고리즘 초급 선형 탐색, 이진 탐색, DFS, BFS 중급 이분 탐색 트리, 다익스트라 알고리즘, A* 알고리즘 고급 유전 알고리즘, 몬테 카를로 트리 탐색 기초 탐색 알고리즘 한눈에 보기 탐색 알고리즘 시간 복잡도 [최고 평균 최악] 장점 단점 선형탐색 O(1)/O(n)/O(n) • 구현이 간단 • 정렬되지 않은 데이터에서도 사용 가능 • 데이터의 순서에 영향을 받지 않고 동작 • 큰 데이터 세트에서 성능이 저하 • 다른 탐색 알고리즘에 비해 느린 속도 이진탐색 O(1)/O(log n)/O(log n) • 빠른 속도와 메모리 효율적인 알고리즘 • 정렬된 데이터에서 원하는..

CS/프로그래밍 2023.10.13

정렬 알고리즘

[ 삽입정렬 ] 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여 자신의 위치를 찾아 삽입하여 정렬 매 순서마다 해당 원소를 삽입할 수 있는 위치를 찾아 해당 위치에 넣음 과정 손 안의 카드를 정렬하는 방법과 유사함 새로운 카드를 기존의 정렬된 카드 사이의 올바른 자리를 찾아 삽입 새로운 삽입될 카드의 수만큼 반복하게 되면 전체 카드가 정렬됨 알고리즘의 구체적인 개념 2번째 자료부터 시작하여 (즉 첫번째 key 값은 두번째 자료부터 시작함) 앞의 원소들과 비교하여 삽입할 위치를 지정한후 원소를 뒤로 옮기고 지정한 자리에 원소를 삽입하여 정렬 2번째 자료는 1번째 자료, 3번째 자료는 1-2번째 자료 ... 와 비교한후 원소가 삽입될 위치를 찾음 삽입될 위치를 찾았다면 그 위치에 자료를 삽..

CS/프로그래밍 2023.10.13