본문 바로가기

Portpolio/java_algo_interview23

자바 알고리즘 인터뷰 23. 동적 프로그래밍 2024. 2. 16.
자바 알고리즘 인터뷰 21. 그리디 알고리즘 그리디 알고리즘은 탐욕적 알고리즘으로 해석된다. 그리디 알고리즘은 최적화를 위해서 사용하는 알고리즘이다. 현재 이용 가능한 정보를 기반으로 결정이 내려진다는 것이다. 현재 정보가 무엇이든 현재 결정이 미래에 미칠 영향을 걱정하지 않고 결정이 내려진다. 1. 탐욕적 접근 방식은 전역 최적을 찾기 위해 각 단계에서 지역적으로 최적의 선택을 합니다. 2. 욕심 많은 접근 방식은 현재 선택의 미래 결과를 반드시 고려하지 않습니다. 3. 탐욕적 접근 방식은 각 단계에서 지역적으로 최적의 선택을 하면 전역적으로 최적이 되는 문제를 해결하는 데 유용합니다. 대표적인 예시 1. 허프만 코딩 2. 프림 알고리즘 3. 크루스칼 알고리즘 4. 분수 배낭 문제 2024. 2. 16.
자바 알고리즘 인터뷰 20. 슬라이딩 윈도우 2024. 2. 16.
자바 알고리즘 인터뷰 19. 비트 조작 2024. 2. 16.
자바 알고리즘 인터뷰 18. 이진 검색 2024. 2. 16.
자바 알고리즘 인터뷰 17. 정렬 2024. 2. 16.
자바 알고리즘 인터뷰 16. 트라이 2024. 2. 16.
자바 알고리즘 인터뷰 15. 힙 2024. 2. 16.
자바 알고리즘 인터뷰 14. 트리 저번 주제인 그래프에 이어서 트리 역시 비선형 자료구조에 해당한다. 굳이 비교를 하자면, 그래프가 트리를 포함하는 구조라고 할 수 있다. 정의를 비교해보면, 그래프에서 방향과 사이클이 없는 자료 구조가 트리라고 할 수 있다. 그래프와 마찬가지지만 이러한 비선형 자료구조를 표현하기 위해서는 이중 연결리스트의 자료구조를 빌려올 필요가 있다. 주로 언급되는 대부분의 트리는 이진 트리임을 가정해 본 전제 하에서, 아래의 글을 읽으면 좋을 듯 하다. 우선 트리는 루트와 좌측 우측으로 나뉜다. 이러한 루트, 좌측, 우측이라는 구조가 재귀적으로 반복되는 것이 바로 (이진)트리의 형태이다. 우선 트리를 만들려면 루트, 즉 기준점이 있어야 한다. 그 다음에 그 기준점에서 상대적으로 좌측이니 우측이니가 정해지게 된다. 자.. 2024. 2. 16.
자바 알고리즘 인터뷰 13. 최단 경로 문제 2024. 2. 16.