본문 바로가기
728x90

개발새발/알고리즘3

[알고리즘] 탐색 알고리즘 (feat. DFS와 BFS) 코딩테스트를 준비해본 사람이라면 BFS와 DFS 때문에 머리를 싸맨 경험이 한번쯤은 있을 것이다. BFS와 DFS는 탐색 알고리즘 중의 하나인데,탐색 알고리즘이란 데이터 구조(ex. 배열, 트리, 그래프) 내에서 특정 요소를 찾기 위해 사용되는 알고리즘이다.  선형 탐색 (Linear Search)설명: 가장 단순한 형태의 탐색 알고리즘으로, 리스트의 첫 번째 요소부터 마지막 요소까지 순차적으로 탐색하며 목표 값을 찾는다.시간 복잡도: O(n) (n: 리스트의 크기) 예제 코드: function linearSearch(arr, target) { for (let i = 0; i  이진 탐색 (Binary Search)설명: 정렬된 리스트에서 효율적으로 목표 값을 찾는 알고리즘이다. 리스트의 중간 값을.. 2024. 5. 28.
[알고리즘] 시스템 설계 인터뷰 전에 알아둬야 할 알고리즘 나에게 알고리즘은 그저 이직을 준비할 때마다 잠깐잠깐씩 공부하는 것 중 하나였다. 이직에 성공하면 다시 거들떠도 안보는... 연차가 쌓이며, 탄탄한 CS(Computer Science) 지식이 얼마나 중요한지 뼈저리게 깨닫고 있다. 인터뷰를 앞둔 사람 뿐만 아니라 Software Engineer 라면 알아두는게 좋은 알고리즘을 살펴보자. 나는 이 중에 1/3 도 모르는듯 하다. 열심히 공부하자 요니...☆ 알고리즘 중요도 사용되는 예시 참고 사이트 Geohash ⭐️⭐️⭐️⭐️⭐️ 위치기반 서비스 https://www.pubnub.com/learn/glossary/what-is-geohashing/ Quadtree ⭐️⭐️⭐️⭐️⭐️ 위치기반 서비스 https://engblog.yext.com/post/.. 2022. 8. 18.
[정렬] 팀소트(Timsort) 정렬 알고리즘 중에서 가장 인기 있는 알고리즘은 존 논 포이만(John von Neumann) 이 설계한 병합 정렬(Merge Sort) 이다. 대부분은 퀵 정렬이 빠르지만 데이터에 따라 편차가 큰 반면, 병합 정렬은 일정하게 O(n log n) 의 안정적인 성능을 보이며, 무엇보다 안정 정렬(Stable Sort) 라는 점에서 많이 선호되는 편이다. 파이썬의 정렬은 팀소트(Timsort) 를 사용한다. 팀소트는 팀 피터스(Tim Peters) 가 피터 매킬로이(Peter Mcllroy) 의 1993년 논문을 기반으로 2002년도에 파이썬을 위해 C로 구현한 알고리즘으로, 창안자인 팀 피터스의 이름을 따 팀소트로 불린다. 팀소트는 애초에 학계에서 받아들여질 만한 우아한 알고리즘을 목표로 하기보다는, '실.. 2021. 9. 29.
728x90
반응형