본문 바로가기
반응형

알고리즘7

Search algorithm(검색, 탐색 알고리즘) 2탄 - Binary search(이진검색) 2. Binary search (이진 검색 알고리즘) - 리스트 안의 값들이 이미 sorted된 상태에서 실시. 중앙값을 가장 먼저 확인. 중앙값보다 찾는 값이 작으면, 왼쪽 파트에서 다시 탐색. 왼쪽 파트 중 중앙값 확인. 반대로 중앙값보다 찾는 값이 크면, 오른쪽 파트에서 다시 탐색. 오른쪽 파트 중 중앙값 확인. 계~속 이런 방식으로 확인해서 탐색함! # 예시 첫인덱스 = 0, 끝인덱스 = 6 찾는값: 20 (0+6)//2 = 3 → 중간인덱스 = 3 10 < 20 → 오른쪽 파트만 남김. (4+6)//2 = 5 → 중간인덱스 = 5 20 = 20 !! 인덱스 5 return됨!! (그냥 제가 짠 코드라서 뭔가 오류가 있을 수도 있음을 주의해 주세요...ㅎㅎㅎ) #버전1(by me) from typ.. 2022. 6. 26.
Search algorithm(검색, 탐색 알고리즘) 1탄 - Linear search(선형탐색) 💗 검색/탐색 알고리즘 : 말그대로 특정 값을 찾는 알고리즘.💗 (cf) 알고리즘 성능은 보통 time complexity로 판단하므로 complexity를 개선하기 위한 다양한 시도가 이루어졌다... 1. Linear Search (선형 탐색) - 처음부터 순서대로 하나씩 확인하는 방법. 특정 값 찾으면 그 값의 위치(index)를 return함. - 맨 앞에 있는 값만 찾는다는 단점(?) 존재. ex) [1,2,3,2]에서 2를 찾는 경우, 맨 앞의 2만 찾음. # 직접 코딩 from typing import List, Any #이건 필수 아님. argument가 뭔기 명시할 때 필요해서 import한 것. def linear(L:List, val:Any) -> int: for i in range(l.. 2022. 6. 25.
백준 문제풀이 도전해볼까? https://www.acmicpc.net/ Baekjoon Online Judge Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다. www.acmicpc.net 백준은 코딩에 조금이라도 관심이 있으면 자연스럽게 알게 되는 유명한 사이트다. 자료구조/알고리즘 공부하려고 하면 한번쯤은 들어가서 코딩해보는 것 같다. 사실 나는 예전에 문제를 풀어본 적 있는데, 내 코딩 실력이 형편없다는 것만 확인 받았었다. 아마 그때보다 더 형편없겠지만, 그래도 뭔가 꾸준히 해보고 싶다는 생각이 요즘 든다. 계속하다 보면 조금은 실력이 늘어 있겠지. 박사과정하는 동안 취미처럼 하나씩 풀어볼까 싶다. 사실 아직 확정을 아니고 (미국 가서 바쁠 것 같아서...), 그냥 생각만.. 2022. 6. 13.
반응형