목록🗂Data Structure (2)
컴퓨터를 공부하고자 마음먹은지 N일차
힙 자료구조 힙은 우선순위 큐를 위해서 만들어진 특별한 자료구조다. 이진 탐색트리와 유사한 모양을 가지고 있는데, 힙은 중복된 값을 허용하지 않는다. 또, 힙은 완전 오름차순 형태로 정렬된게 아닌 불완전 정렬상태 이다. 우선순위 큐의 활용 사례로는, 게임엔진에서 각 액터의 우선순위를 정한다. 서버에서 많은 트래픽을 처리 할 때 우선처리해야할 트래픽을 정한다. 다른 활용도 있는데, 이건 내가 문제를 풀거나 해봐야 할것같다. 힙으로 우선순위큐를 구현하는 이유는 나중에 들어온 값이라도 우선순위를 줄 수 있기 때문이다. 힙자료구조의 중점은, 왼쪽 노드부터 삽입하고 값에 따라 부모자식 관계가 바뀌지 좌우가 바뀌지않는다. 자식노드는 부모보다 최대힙(큰거우선)일때 같거나 작으면되고, 최소힙(작은거우선)일때 크거나 같..
그래프와 탐색 자료구조를 학습하면서 트리를 탐색할 때에는 비교적으로, 계층적 구조를 가지기 때문에(부모가 있음) 재귀를 통해 탐색이 쉬웠다. 그러나, 그래프는 서로의 관계를 나타내는 간선만 있을 뿐더러, 계층구조 또한 존재하지 않는다. 그러나 의외로 방문한 곳을 표시 하는것만 빼면, 탐색하는 로직은 트리와 크게 다르지않다. 우선 예쁘고 실용적인 그래프를 만들어 보자. 예쁜그래프란? 나는 그래프의 제일 적절한 활용예를 sns친구목록이라 생각한다. 숫자놀이로 구현하는것은 예쁜그래프가 아니다! 부트캠프에서 좋은 뼈대를 내줬지만, 사람이름으로 관계도를 형성하는 그래프를 그리고 싶다. 내가 만들 그래프에는 constructor는 필요하지않다. 우선 constructor는 해당 class의 기본값을 설정한다. 하지..