본문 바로가기
[자료구조] 이진 탐색 트리 (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.
[자료구조] 큐 (Queue) 이번에 알아 볼 자료구조는 큐(Queue)다.큐 역시 개념은 대충알지만 제대로 알지 못하기 때문에 한번 공부해 보겠다. 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀 더 구체적인 내용은 다른 글에 작성하거나 추후 글을 수정하는 방향으로 해보겠다.틀린 내용이 있거나 궁금한게 있다면 편하게 댓글 남겨주시면 감사하겠습니다.📌 개념큐(Queue)도 지금까지 공부했던 데이터 구조처럼 데이터를 한 열로 저장한다.스택과 비슷하지만, 큐는 추가하는 쪽과 삭제하는 쪽이 반대다.큐를 대기 행렬이라고도 하는데, 이름이 의미하듯 줄을 서는 행렬과 비슷하다. 새로운 사람은 마지막에 서고, 먼저 온 사람 순서대로 처리된다.큐의 개념도 이다. 현재 Red라는 데이터만 큐에 저장되어 있다. 데이터 추가큐에 데이.. 2024. 7. 23.
[자료구조] 스택 (Stack) 이번에 알아 볼 자료구조는 스택(Stack)이다.스택은 Stack Overflow나 Stack Memory때문에 한번씩 접했던 자료구조다.문제 해결을 위해서 사용해본적 없기때문에 어떤식으로 사용되는지 공부해 보겠다. 현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀 더 구체적인 내용은 다른 글에 작성하거나 추후 글을 수정하는 방향으로 해보겠다.※ 틀린 내용이 있거나 궁금한게 있다면 편하게 댓글 남겨주시면 감사하겠습니다.📌 개념스택은 데이터를 한 열로 저장하지만, 마지막에 추가한 데이터에만 접근할 수 있다.티셔츠를 개서 쌓아 올리면 가장 위에 있는 티셔츠만 집을 수 있고 중간을 건들면 무너지는 것 처럼 스택도 가장 위에 있는 데이터에만 접근 가능하다.스택에 데이터를 추가하면 맨 위에 추가.. 2024. 7. 22.
[자료구조] 배열 (Array) 두번째로 알아 볼 자료구조는 배열이다. 앞서 공부했던 리스트와 마찬가지로 많이 사용했던 자료구조인데 크기를 지정해야한다는 것 외에 아는 내용이 없다이번에 어떤 자료 구조인지 한번 공부해 보겠다.현재 차근차근 해보자는 생각에 기초적인 부분을 공부하고 있다. 좀 더 구체적인 내용은 다른 글에 작성하거나 추후 글을 수정하는 방향으로 해보겠다.틀린 내용이 있거나 궁금한게 있다면 편하게 댓글 남겨주시면 감사하겠습니다.📌 개념배열은 데이터를 한 열로 연속해서 정렬하는 데이터 구조이다.리스트와 달리 데이터에 접근할 때는 편리하지만, 추가하거나 삭제하려면 시간이 오래걸린다. 데이터는 메모리의 연속된 영역에 순차적으로 저장된다.a는 배열의 이름이고, 그 뒤 [] 안에 있는 숫자가 몇 번째 인지를 의미한다. 이를 인덱스.. 2024. 7. 17.