본문 바로가기

IT 공부/자료구조&알고리즘5

자료구조 7 트리 트리는 루트- 브랜치-리프로 이뤄지는 자료구조다.이진트리가 아닌 일반 트리 구조에서브랜치는 무수히 많이 달릴 수 있다.이 때문에, 노드를 구성하는 데 약간의 지혜가 필요하다.무턱대고 모든 차일드에 대해서 주소를 가졌다가는 노드의 크기가 무한정 늘어날 것이기 때문이다.  이런 표현상의 문제에 대한 해결책으로Left Child와 Right Sibling의 주소만을 기억하는 방법이 있다. 노드의 구조를 최대 단순하게 만드는 방법이다.하지만, 자료를 조회할 때 마냥 빠르다고 볼 수는 없다    GitHub - Sukmin-LanternK/TreeContribute to Sukmin-LanternK/Tree development by creating an account on GitHub.github.com 2025. 1. 5.
자료구조 5. 순환 큐 큐 : FIFO를 구현한 자료구조 -> 퍼스트 인 퍼스트 아웃  기본적으로, AWS 공부 당시, SQS 등의 서비스에서 중요하게 접한 개념이라, 받아들이는 게 전혀 어렵지 않았다.  스택은 인/아웃이 일어나는 주소 자료구조가 Top만 추종하면 되었지만,큐는 인과 아웃의 주소가 다르므로, Front/Rear를 동시 추종하게 설계된다.  배열을 이용한 큐 -> 순환 큐  배열은 시작점과 끝이 있으므로, 전단에서 Dequeue가 일어날 때 마다,Enqueue가 가능한 가용영역이 점점 좁아진다는 문제가 있다.따라서, 일반 배열은 큐 구조로 구현할 수가 없다. 1. 이 문제를 해결하기 위해서, 마지막 노드가 첫 노드를 가리키도록순환 큐를 만듦으로써 해결 할 수 있다.  2. 한 가지 더 문제가 남아있는데, 바로 .. 2024. 12. 29.
자료구조 3. 환형 링크드 리스트 환형 링크드 리스트는 Head와 Tail이 연결된 버전으로,더블 링크드 리스트의 변환된 버전이다. 장점으로는 바로, 테일 위치를 헤드에서 알 수 있다는 점이 있으며이를 통해 조회 과정에서 더 큰 이점을 얻는다.  Sukmin-LanternK/Data_Structure: 자료구조 개인 공부 GitHub - Sukmin-LanternK/Data_Structure: 자료구조 개인 공부자료구조 개인 공부 . Contribute to Sukmin-LanternK/Data_Structure development by creating an account on GitHub.github.com 링크드 리스트 또는 더블 링크드 리스트에서 테일에 바로 접근 가능한 방법이 없을까? 이런 고민의 첫번째 해결책은 환형 링크드 리.. 2024. 12. 8.
자료구조 2. 링크드 리스트 리스트와 배열(C) 차이 - 크기 지정 여부가 다르다.  링크드 리스트 - 데이터 + 다음 노드에 대한 포인터 - 노드 생성 / 소멸 create / destroy - 노드 추가 append - 노드 탐색 GetNodeAt- 노드 삭제 Remove- 노드 삽입 Insert InsertNewHead 링크드 리스트의 장단점- 포인터 때문에, 추가적인 메모리 소요- 특정 위치에 있는 노드에 단방형 접근하여 시간도 소요가 많이됨 (N회의 조회 필요 / 반면 배열은 상수시간에 끝남- 노드의 추가 삽입 삭제가 쉽고 빠름 / 이 부분에서 배열보다 유리 - 현재 노드에서 다음 노드를 얻는데 비용이 발생하지 않음 더블 링크드 리스트의 장단점 - 추가적인 포인터로 메모리 소요 가중 - 양방향으로 접근할 수 있기 때문에, .. 2024. 12. 7.
자료구조 1. 개요 내 성격이 그렇다.뭐가 되었던 겉핥기만 하는 걸 부끄러워한다. (참을 수는 있다) 어떻게 하다보니, 자동차 회사를 다님에도 불구하고 계속 IT 업무를 도맡게 되었다.AI의 대두 이후로, IT 서비스 산업이 한층 더 강화되면서 피할 수 없게 된 측면도 있을 테다.  그냥 뿌리부터 공부하는 IT 공부를 하고 싶은 욕심은 계속 잠재되었다.하지만, 몰려드는 업무를 처리하고 당장에 필요한 것들을 내 것으로 만드는 데 바쁜 나머지 계속 뒷편으로 미뤘던 게 사실이다.  10월부터, 대학원을 졸업한 친구가 알고리즘 공부를 제안하였고,이를 계기로 자료구조-알고리즘부터 공부를 제대로 착수하기로 했다. ADT ; 추상 데이터 형식 ; 데이터와 연산을 추상적으로 정의  자료구조를 공부하는 이유 1. 더 유리한 자료구조를 선택.. 2024. 11. 25.
반응형