[자료구조] 12.고급정렬
12장 고급 정렬
- 트리의 개념과 용어들을 이해한다
- 이진 트리의 표현 방법을 2가지 이해한다.
- 이진트리의 순회방법들과 연산들을 이해한다.
- 힙의 동작 원리와 효율성을 이해한다.
- 배열 구조를 이용한 힙의 구현 방법을 이해한다.
- 이진트리와 힙을 문제 해결에 활용할 수 있다.
트리는 계층적인 구조를 가지며, 노드(Node)와 간선(Edge)으로 구성된 비선형 자료구조입니다. 노드는 데이터를 저장하고 간선은 노드들을 연결합니다. 트리는 하나의 **루트(Root) 노드**에서 시작하여 다양한 자식(Child) 노드들로 분기되는 구조를 가지며, 각 자식 노드는 부모(Parent) 노드에 의해 생성됩니다.
트리에서 사용되는 용어들은 다음과 같습니다:
트리는 계층적인 관계를 표현하기에 용이하며, 다양한 응용 분야에서 사용됩니다. 예를 들어, 파일 시스템의 디렉토리 구조, 조직도, 계층적인 데이터 구조 등에서 트리 구조가 적용될 수 있습니다.
- 이진 트리는 순환적으로 정의된다.
- 이진트리의 종류와 성질
- 이진트리의 표현 방법
이진 트리(Binary Tree)는 각 노드가 최대 두 개의 자식을 가질 수 있는 트리입니다. 이진 트리는 부모 노드와 최대 두 개의 자식 노드로 구성되며, 왼쪽 자식과 오른쪽 자식 노드를 구분합니다. 각 노드는 하나의 데이터를 저장하며, 자식 노드가 없을 경우 잎 노드(리프 노드)가 됩니다.
이진 트리는 여러 가지 표현 방법이 있습니다. 그 중에서도 가장 일반적인 방법은 포화 이진 트리와 완전 이진 트리입니다.
포화 이진 트리와 완전 이진 트리는 트리의 형태와 노드의 배치에 따라 다르게 구성됩니다. 이러한 특징을 이용하여 트리를 저장하고 효율적으로 탐색하거나 연산을 수행할 수 있습니다.
n개의 노드를 가지는 높이 h의 이진 트리가 가질 수 있는 노드 개수의 최댓값: 2^h-1, n <= 2^h - 1, h >= log2(n+1), h는 정수
이진 트리를 표현하는 방법은 주로 배열 표현법(Array Representation)과 링크 표현법(Link Representation) 두 가지가 있습니다.
배열 표현법 (Array Representation):
링크 표현법 (Link Representation):
이진 트리의 표현 방법은 특정한 상황이나 문제에 따라 선택되어야 합니다. 배열 표현법은 트리의 구조가 정적이고 완전 이진 트리인 경우에 유용하며, 링크 표현법은 동적인 구조를 필요로 하는 경우나 트리의 크기가 변하는 경우에 유용합니다. 선택할 표현 방법은 메모리 사용, 접근 시간, 구현의 용이성 등을 고려하여 결정해야 합니다.
순회(traversal):
이진 트리의 순회 방법은 전위 순회(preorder traversal), 중위 순회(inorder traversal), 후위 순회(postorder traversal) 세 가지가 있습니다. 각각의 순회 방법은 트리의 노드를 어떤 순서로 방문하는지를 나타냅니다.
이진 트리의 순회를 수행하는 연산에는 순회 연산 이외에도 다음과 같은 연산들이 있습니다:
12장 고급 정렬
Dijkstra 최단 경로 알고리즘
8장 트리
Abstract
선택 정렬 알고리즘
연결된 구조
큐에 대한 정의
스택의 개념과 동작 원리
1. 리스트 & 집합 & 배열
1. 파이썬 이란?
1. 교과서 정리
1. 자료구조와 알고리즘
논문 정리 논문 요약
[우분투] 파이썬 가상환경 만들고 사용하기
[우분투] 파이썬 가상환경 만들고 사용하기 - venv 사용하여 가상환경 생성
1. 개념
활동내용
활동내용
활동내용
- hhttps://dacon.io/competitions/official/236050/overview/description
활동내용
외국계 기업의 정확한 뜻
활동내용
1. 다항함수(Polynomial Function)
활동내용
출처: https://gaussian37.github.io/ml-sklearn-saving-model/
1. 경사도벡터(Gradient Vector)
[참고] - https://blog.est.ai/2020/03/%EB%94%A5%EB%9F%AC%EB%8B%9D-%EB%AA%A8%EB%8D%B8-%EC%95%95%EC%B6%95-%EB%B0%A9%EB%B2%95%EB%A1%A0%EA%B3%BC-bert-%EC%95%95%E...
- https://aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubDataSe=realm&dataSetSn=631
머신러닝 스터디 팀4 활동 보고서
1. 영유아 행동인식을 통한 발달평가 XXX - https://aihub.or.kr/aihubdata/data/view.do?currMenu=115&topMenu=100&aihubDataSe=realm&dataSetSn=631
https://www.itworld.co.kr/insight/109825 [ITWorld - 머신러닝 라이브러리, 텐서플로우의 이해] https://tensorflow.blog/%EC%BC%80%EB%9D%BC%EC%8A%A4-%EB%94%A5%EB%9F%AC%EB%8B...
http://matrix.skku.ac.kr/math4ai-intro/W13/
랜덤(random) 모듈
1팀. 주식시세 차익 알림
차원축소와 매니폴드 학습
인공지능 기초 2022-2 Project Proposer
추천 알고리즘의 기본 협업 필터링(Collaborative Filtering) • Memory Based Approach User-based Filtering I...
자소서 지원동기 효과적인 작성법
분명히 로컬에서 삭제한 파일인데 원격에 반영되지 않는 경우가 있다. git status로 했을 때 삭제 됐다고 뜨는데 add를 해도 안먹고 commit을 해도 반영이 안되는 것이다…
1. 결정 트리
[공통] 마크다운 markdown 작성법
Git 설치 & 환경설정
첫 블로그 생성입니다. 앞으로 잘 부탁드려요.