본문 바로가기

전체 글

(58)
스택 스택이란?가장 마지막에 들어간 데이터가 처음으로 꺼내지는 구조를 가진 자료구조 입니다. (LIFO)가장 처음에 들어간 데이터가 가장 마지막에 꺼내지는 구조를 가진 자료구조입니다. (FILO)  스택의 ADT스택이란 자료구조를 구현하기 전에 해당 자료구조의 ADT를 정의할 필요가 있습니다.1. Last in First Out(LIFO) : 마지막에 들어간 값이 첫 번째로 나오는 구조2. 탐색, 삽입, 삭제를 구현할 것.3. stack 최상단 데이터 값을 반환하는 함수를 구현할 것.  스택 ADT 선언스택의 ADT를 참고하여 클래스로 선언 해보겠습니다.  template class CustomStack{public: CustomStack() : list(new T[10]) , pointer(-1) , ..
리스트의 종류 (링크드, 더블 링크드, 환형 링크드) 1. 링크드 리스트리스트의 자료구조를 구현 방법 중 하나입니다.일반적으로 시작 노드를 head 노드, 끝 노드를 tail 노드라고 정의합니다.  링크드 리스트의 ADT링크드 리스트의 ADT를 정의하기 위해 공통 요소와 기능을 살펴보겠습니다.요소(DATA): 개별 노드(Node), head 노드에 대한 포인터기능(FUNCTION):노드를 추가하는 연산노드를 삽입하는 연산노드를 제거하는 연산노드를 반환하는 연산 링크드 리스트의 ADT 선언링크드 리스트의 ADT를 보고 선언만 해보겠습니다.typedef int nodeData;typedef struct Node{ Node* next; NodeData nodeData; }*PNODE, NODEclass LinkedList{public: List(); ..
리스트 리스트란?리스트(List)는 목록 형태로 이루어진 데이터 형식입니다. 리스트를 구성하는 개별 요소를 노드(Node)라고 부르며, 리스트의 첫 번째 노드를 헤드(Head), 마지막 노드를 테일(Tail)이라고 합니다.  ADT 정의자료구조를 구현하기 전에 해당 자료구조의 ADT(Abstract Data Type)를 정의할 필요가 있습니다. ADT라는 용어가 처음에는 다소 모호하게 느껴질 수 있지만, 이는 추상화된 자료 구조를 의미합니다. 추상화는 객체의 공통적인 요소와 기능을 정의하는 것을 의미하며, 프로그래밍에서는 요소를 데이터(Data), 기능을 함수(Function)로 구현합니다. ADT는 자료구조를 객체라는 관점으로 바라보면, 자료구조의 공통적인 요소와 기능을 정의하는것으로 볼 수 있습니다.  리스..