C++ 와 자료구조
-
완전 이진트리(Complete Binary Tree)와 힙(Heap)의 쉬운 설명!!C++ 와 자료구조 2020. 3. 27. 15:59
자료구조(data structure)에서 트리구조와 힙은 굉장히 중요한 개념이기 때문에 개념에 대한 명확한 이해와 인덱스 속성을 잘 알아야 코딩하는데 큰 도움이 된다. 이번 글에서는 힙과 완전 이진 탐색 트리가 어떻게 값들을 구성하는지 설명해 보겠다. 이진트리(Binary Tree) 이진 트리는 노드로 구성되어 있는 트리 구조로 동그란 마크로 되어 있는 부분이 노드들이고 노드들은 서로 포인터로 연결되어 있다. 이는 계층 구조로 표현한 형태인데, 각각의 노드에는 키(instance)가 존재한다. 리스트를 공부하다보면 나오는 노드에 개념과 동일하다고 보아도 무방하다. 노드 들을 살펴보면 위에 있는 노드는 부모 노드라고 하며 아래 있는 노드들을 자식 노드들이라고 한다. 이진트리는 자식 노드의 개수가 2개인 구..
-
API란? API용어를 정리해보자.C++ 와 자료구조 2020. 3. 16. 22:02
API IT 쪽 공부를 하다 보면 흔히 접하는 API. 그런데 정확한 뜻을 이해하지 못하고 뭐였지? 명확히 생각해본 적이 없었기에 이번 블로그를 통해서 정리를 해볼까 합니다. API(Application Program Interface) 응용 프로그램에서 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다. 주로 파일 제어, 창 제어, 화상 처리, 문자 제어 등을 위한 인터페이스를 제공한다.(wikipedia사전적 정의) Applicaiton Program(응용 프로그램) + Interface(인터페이스)라고 생각하면 뜻을 이해하기 훨씬 편합니다. 막상 사전적 정의를 읽어봐도 확 와 닿는 느낌이 아닌데요. · UI(User Interface)는 많이 들어봤죠? 어플 U..
-
C++ 컨테이너 어댑터란 무엇인가?C++ 와 자료구조 2020. 3. 15. 21:03
컨테이너 어댑터(Container Adapter)? 컨테이너 어댑터는 순차열 컨테이너를 다른 기능을 제공하는 순차열 컨테이너로 정의하기 위한 클래스 탬플릿이다. 조금 더 쉽게 이해하기 위해서 순차열 컨테이너를 확장(adapt) 한 형태라고 생각하면 편하다. 다른 기능을 제공하기 위해서 컨테이너의 기존 인터페이스를 확장하기 때문에 이런 클래스 탬플릿을 어댑터 클래스라고 부른다. stack : #include 헤더에 정의되어있는 어댑터. deque 컨테이너를 후위 선출(LIFO)로 저장하는 방식으로 변환하는 어댑터 클래스 탬플릿이다. queue : #include 헤더에 정의되어 있는 어댑터. deque 컨테이너를 선입선출(FIFO)로 저장하는 방식으로 변환하는 어댑터 클래스 탬플릿이다. priority_q..