본문 바로가기

Archived(IT)/배경지식_CSE

자료 구조 정리

1. Heap

https://namu.wiki/w/%ED%9E%99%20%ED%8A%B8%EB%A6%AC

 

힙 트리 - 나무위키

최댓값 혹은 최솟값이 저장된 루트 노드만 제거할 수 있다. 루트 노드를 제거한다.루트 자리에 가장 마지막 노드를 삽입한다.[3]올라간 노드와 그의 자식 노드(들)와 비교한다.조건에 만족하면 그대로 두고, 그렇지 않으면 자식과 교환한다. 최대 힙부모보다 더 큰 자식이 없으면 교환하지 않고 끝낸다.부모보다 더 큰 자식이 하나만 있으면 그 자식하고 교환하면 된다.부모보다 더 큰 자식이 둘 있으면 자식들 중 큰 값과 교환한다. 최소 힙부모보다 더 작은 자식이 없

namu.wiki

2. Stack

https://namu.wiki/w/%EC%8A%A4%ED%83%9D(%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0)

 

스택(자료구조) - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다. 나무위키는 백과사전이 아니며 검증되지 않았거나, 편향적이거나, 잘못된 서술이 있을 수 있습니다. 나무위키는 위키위키입니다. 여러분이 직접 문서를 고칠 수 있으며, 다른 사람의 의견을 원할 경우 직접 토론을 발제할 수 있습니다.

namu.wiki

3. Queue

https://namu.wiki/w/%ED%81%90(%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0)

 

큐(자료구조) - 나무위키

큐를 위해 배열을 지정해 놓고 큐를 쓰다보면 배열의 앞부분이 비게된다는 점을 활용해서 배열의 맨 마지막 부분을 쓰면 다시 제일 처음부터 다시 큐를 채우기 시작하는 형태의 큐이다.

namu.wiki

4. 연결리스트

https://namu.wiki/w/%EC%97%B0%EA%B2%B0%20%EB%A6%AC%EC%8A%A4%ED%8A%B8

 

연결 리스트 - 나무위키

배열과는 달리 첫번째 데이터의 추가/삭제가 O(1)의 시간안에 수행된다. 배열의 경우 데이터를 추가 또는 삭제할 때 해당 지점 뒤쪽의 데이터를 모두 이동해야 하나 연결 리스트는 그럴 필요가 없다. 하지만, 첫번째가 아닌 중간에 있는 데이터들의 추가/삭제는 해당 데이터를 검색하는데까지 시간이 걸리기 때문에 O(n)의 수행시간을 갖게된다. 다만 탐색시에는 문제가 되는데 각 데이터에 한번에 접근할 수가 없어 항상 순차적으로 도달해야 한다. 이 때문에 데이터 검

namu.wiki

5. 그래프

https://namu.wiki/w/%EA%B7%B8%EB%9E%98%ED%94%84#s-3

 

그래프 - 나무위키

그 외에 다양한 형태의 그래프가 존재한다.

namu.wiki

 

6. 트리

그래프의 한 종류, 방향이 있고, 사이클이 없는 그래프

https://namu.wiki/w/%ED%8A%B8%EB%A6%AC(%EA%B7%B8%EB%9E%98%ED%94%84)

 

트리(그래프) - 나무위키

트리를 정의할 때에는 다양한 정의가 쓰이고, 다음은 모두 동치이다. G는 트리이다.G는 회로가 없는 연결 그래프이다.G는 회로가 없고, 단순 그래프의 형태를 유지하면서 간선을 추가할 경우 회로가 생긴다.G는 연결 그래프이고, 어떤 간선을 제거해도 연결 그래프가 아니게 된다.G는 연결 그래프이고 G의 마이너가 K₃가 아니다.G의 어떤 두 정점을 잡아도 단순 경로가 하나 존재한다. G는 연결되어 있고 간선의 수는 정점의 수보다 하나 작다.G는 회로가 없고 간

namu.wiki

'Archived(IT) > 배경지식_CSE' 카테고리의 다른 글

애자일(Agile) 방법론  (0) 2019.11.04
TCP / UDP  (0) 2019.11.04
메모리 단편화(페이징, 세그먼테이션)  (0) 2019.11.01
정렬 알고리즘  (0) 2019.11.01
C++ 관련 참고 URL  (0) 2019.10.27