본문 바로가기

자료구조2

(C++)연관컨테이너(set, multiset, map, multimap) 연관 컨테이너와 시퀀스 컨테이너(vector, deque, list)의 차이 각 원소를 삽입할때 연관 컨테이너는 자동으로 함수객체(디펄트로 less객체)에 따라 정렬되며, 또한 시퀀스컨테이너는 배열, 리스트로 구현되는것과 다르게 내부 데이터가 Balaced Tree로 구현된다. push_back(), push_front(), front(), back()같은 함수가 존재하지 않는다. 그렇기에 접근에 유리한 vector와 deque / 삽입, 삭제에 유리한 List 에 비해 연관 컨테이너는 탐색에 Log 시간대를 가지며 유리하다. 또한 연관컨테이너는 4개 모두 같은 인터페이스를 가진다. multi? multi가 붙은 컨테이너는 키값의 중복을 허용한다. equalrange(), lower_bound(), up.. 2020. 9. 22.
(정보처리기사)데이터 입출력 구현 1. 자료구조 - 선형리스트 : 배열 처럼 일정 순서로 나열된 자료구조로써 데이터를 삽입하기 위해선 남는 공간이 있어야 하고 삽입,삭제 시 데이터의 이동이 필요함. 데이터들이 몰려 있기 때문에 기억공간의 효율이 좋음 - 연결리스트 : 포인터를 통해 자료들을 불연속적으로 연결시킨 자료구조. 노드의 삽입과 삭제가 용이하지만 포인터를 찾는 시간때문에 접근속도가 느리다. 데이터들이 흩어져 있기때문에 기억공간의 효율이 나쁘다. - 스택 : 마지막에 들어온게 처음으로 나가는 LIFO구조 - 큐 : 처음 들어온게 처음으로 나가는 FIFO 구조이며 시작과 끝을 표시하는 두개의 포인터가 있다. - 트리 : 노드와 브런치를 이용해 사이클을 이루지 않도록 구성한 그래프의 특수한 형태. 디그리(차수)-> 각 노드에서 뻗어나온.. 2020. 7. 13.