본문 바로가기

지난 학기들의 기록/알고리즘28

[강의노트] 사전ADT를 이용한 선형탐색과 이진탐색 - 2 사전ADT를 이용한 선형탐색과 이진탐색 - 2 https://man-25-1.tistory.com/172 [강의노트] 사전ADT를 이용한 선형탐색과 이진탐색 - 1 사전ADT를 이용한 선형탐색과 이진탐색 - 1 먼저 이전시간까지 다룬 정렬알고리즘들을 복습할 겸 정리해보고, 새로 배울 내용인 사전 ADT를 공부해보자. 비교정렬 알고리즘의 비교 정렬의 안정성 man-25-1.tistory.com 위의 글에 이어지는 포스팅입니다. 이전에는 리스트형태를 순회하는 선형탐색과 이진탐색에 대해서 배웠는데 이번에 배울 것은 이진탐색트리이다. 이진탐색트리 이진탐색트리는 부모노드의 key값이 왼쪽 자식노드의 key 값보다는 크고 오른쪽 자식노드의 키값보다는 작거나 같다 이렇게 트리를 생성하게 되면, 트리를 중위순회로 순회.. 2021. 10. 5.
[강의노트] 사전ADT를 이용한 선형탐색과 이진탐색 - 1 사전ADT를 이용한 선형탐색과 이진탐색 - 1 먼저 이전시간까지 다룬 정렬알고리즘들을 복습할 겸 정리해보고, 새로 배울 내용인 사전 ADT를 공부해보자. 비교정렬 알고리즘의 비교 정렬의 안정성 키-원소 항목들을 정렬할 때, 중요한 이슈는 동일 키를 어떻게 처리되느냐는 것. 동일키의 원래 순서를 보존해주는 것을 안정적인 알고리즘이라고 부른다. 쉽게 예시를 들면 학교에서 운동장으로 나와 한 줄로 서있으라고 방송을 한다면, 나온 순서에 맞게 줄에 서있을 것이다. 이때 키가 큰 순서대로 다시 줄을 서라고 했을때, 키가 같은 친구들은 원래의 순서에 맞게 줄을 서는것 그럼 지금까지 배운 정렬 알고리즘들 중에 안정성을 보장하는 알고리즘은 어떤 것이 있을까? 답은 선택정렬, 삽입정렬, 합병정렬이 안정적인 알고리즘이다 .. 2021. 10. 5.
[강의노트] 합병정렬과 퀵정렬 - 2 보호되어 있는 글 입니다. 2021. 9. 30.
[강의노트] 합병정렬과 퀵정렬 - 1 합병정렬과 퀵정렬 합병정렬과 퀵정렬에 대한 강의 노트입니다. 분할통치법 합병정렬에 대해 알아보기전에 먼저 분할통치법의 개념에 대해 알아보자. 쉽게 말해서 큰 문제를 작은 문제로 나누어서 해결하고, 그것을 합쳐서 큰 문제를 해결하는 것이다. 1. 분할 : 입력 데이터 L을 둘 이상의 분리된 부분집합 L1,L2, . . .으로 나눈다. ( 큰 문제를 작은 문제로 분할) 2. 재귀 : L1,L2, ... 로 나눠진 작은 문제를 재귀적으로 해결한다. 3. 통치 : 해결을 합쳐서 전체 문제 L에 대한 해결법을 구한다. 위의 1,2,3번을 그대로 정렬에 사용한 알고리즘이 합병정렬이다. 합병정렬 위의 1,2,3번을 그대로 정렬에 사용한 알고리즘이 합병정렬이다. 분할통치법에 기초한 정렬 알고리즘. 힙정렬 vs 합병정렬.. 2021. 9. 29.