본문 바로가기
[알고리즘] 병합 정렬 (Merge Sort) 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀 더 구체적인 내용은 다른 글에 작성하거나 추후 글을 수정하는 방향으로 해보겠다.틀린 내용이 있거나 궁금한게 있다면 편하게 댓글 남겨주시면 감사하겠습니다.📌 개념병합 정렬은 정렬할 수열을 거의 같은 길이의 수열 두 개로 분할한다. 더 이상 분할 할 수 없게 되면(즉, 각 그룹의 숫자가 한 개가 되면) 그룹끼리 통합하기 시작한다. 통합할 때는 정렬된 수열 두 개를 통합하여 하나로 정렬한다. 이러한 과정을 정렬된 수열이 하나가 될 때까지 반복한다. 1부터 7까지의 임의의 수열로 예를 들어 보겠다.먼저 수열을 반으로 분할해 간다. 먼저 두개로 분할 하고... 다시 분할하여.. 하나씩 될 때 까지 분할해 준다. 이제 분할이 완료되었으니 그룹을 합.. 2024. 10. 16.
[알고리즘] 퀵 정렬 (Quick Sort) 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀 더 구체적인 내용은 다른 글에 작성하거나 추후 글을 수정하는 방향으로 해보겠다.틀린 내용이 있거나 궁금한게 있다면 편하게 댓글 남겨주시면 감사하겠습니다.📌 개념퀵 정렬은 기준이 되는 수(피봇(pivot)이라고 함)를 수열 안에서 임의로 하나 선택한다. 그리고 피봇 이외의 수를 '피봇보다 작은 수'와 '피봇보다 큰 수'의 두 그룹으로 나누고, 이것을 다음과 같이 배치한다.[피봇보다 작은 수] 이제 각 [ ] 안을 정렬하면 전체가 정렬된다. [ ] 안을 정렬할 때도 다시 퀵정렬을 사용한다. 임의의 수열로 퀵정렬을 실시해 보겠다. 기준이 되는 수(피봇)을 임의로 하나 선택한다. 여기서는 6을 선택해 보겠다.  피봇 이외의 각 숫자를 피봇과 비.. 2024. 10. 14.
[알고리즘] 힙 정렬 (Heap Sort) 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀 더 구체적인 내용은 다른 글에 작성하거나 추후 글을 수정하는 방향으로 해보겠다.틀린 내용이 있거나 궁금한게 있다면 편하게 댓글 남겨주시면 감사하겠습니다.📌 개념힙정렬은 힙이라는 데이터 구조를 사용하는 것이 특정이다. [자료구조] 힙 (Heap)오늘 공부한 내용은 힙(Heap)이다. 이제 점점 낮선 자료구조들이 나오기 시작한다.확실하게 이해하고 넘어가도록 해야겠다. 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀twd0622.tistory.com 먼저 힙에 모든 숫자를 삽입한다. 힙은 내림차순이 되도록 구성한다.내림차순 힙은 큰 값부터 순서대로 데이터를 꺼내는 성질이 있기 때문에 숫자를 역순으로 나열하면 정렬이 완료된다... 2024. 9. 9.
[자료구조] 이진 탐색 트리 (Binary Search Tree) 오늘은 저번에 공부 했던 힙과 마찬가지로 트리 구조 중 하나인 이진 탐색 트리에 대해 공부해 보겠다. 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀 더 구체적인 내용은 다른 글에 작성하거나 추후 글을 수정하는 방향으로 해보겠다.틀린 내용이 있거나 궁금한게 있다면 편하게 댓글 남겨주시면 감사하겠습니다.📌 개념이진 탐색 트리(Binary Search Tree)는 그래프의 트리 구조로 각 노드에 데이터가 저장된다.이진 탐색 트리의 예시 이다. 각 노드에 쓰인 숫자가 데이터 이다. 이진 탐색 트리에는 두가지 특징이 있다. 첫번쩨, 각 노드의 값은 왼쪽 가지에 있는 노드들의 값보다 크다는 특징이 있다.예시를 보면 노드 9는 왼쪽 가지에 있는 값보다 크다. 두번째, 각 노드의 값은 오른쪽 가지.. 2024. 7. 31.
[자료구조] 힙 (Heap) 오늘 공부한 내용은 힙(Heap)이다. 이제 점점 낮선 자료구조들이 나오기 시작한다.확실하게 이해하고 넘어가도록 해야겠다. 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀 더 구체적인 내용은 다른 글에 작성하거나 추후 글을 수정하는 방향으로 해보겠다.틀린 내용이 있거나 궁금한게 있다면 편하게 댓글 남겨주시면 감사하겠습니다.📌 개념힙(Heap)은 그래프의 트리 구조 중 하나로 우선순위 큐를 구현하기 위해 만들어진 자료구조다. 우선순위 큐는 큐에 우선순위 개념을 접목시킨 것으로 데이터를 자유롭게 추가할 수 있지만, 꺼낼때는 우선순위가 높은 데이터를 먼저 꺼낸다. 힙을 비롯한 트리 구조에서 각 정점을 노드라고 부른다.각 노드는 자식 노드를 2개씩 가질 수 있다. 또한 노드는 위에서 붜 채워.. 2024. 7. 29.
[자료구조] 해시 테이블 (Hash Table) 오늘 공부할 자료구조는 해시 테이블이다.해시 테이블은 이번에 처음 접해본 자료구조이다. 은연중에 사용했을지는 모르겠지만 이렇게 개념을 공부하는 건 처음이다. 물론 예전 자바에서 해시 맵(Hash Map)을 사용해보긴 했지만 구체적인 내용은 잘모르기 때문에 한번 공부해 보겠다. 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀 더 구체적인 내용은 다른 글에 작성하거나 추후 글을 수정하는 방향으로 해보겠다.틀린 내용이 있거나 궁금한게 있다면 편하게 댓글 남겨주시면 감사하겠습니다.📌 개념해시 테이블(Hash Table)은 해시 함수를 활용해 만든 데이터 구조로, 데이터를 효율적으로 검색할 수 있다.※ 해시 함수는 추후에 다뤄 볼 예정이다.해시 테이블은 키(Key)와 값(Value)을 하나의 .. 2024. 7. 24.