자료구조2 [Data Structure]Queue와 Stack 기본원리 선형 데이터 구조로 데이터를 저장하고 접근하는 방식에 따라 구분함. Stack 스택은 Last-In-First-Out (LIFO) 원칙을 따르는 데이터 구조 Queue 큐는 First-In-First-Out (FIFO) 원칙을 따르는 데이터 구조 시간복잡도 Stack 전부 O(1) Queue 전부 O(1) 사용 예시 Stack 함수 호출 관리 함수가 호출되면 함수 관련 record(지역변수, 매개변수, 메타데이터 등)가 Call Stack에 push됨. 함수가 반환되면 record가 스택에서 pop됨 DFS(깊이 우선 검색) 그래프 및 트리에 대한 DFS 순회 알고리즘을 구현 노드를 스택에 푸시하고 팝하면 역추적하기 전에 경로를 따라 모든 노드를 방문하여 깊이 우선 방식 실행 취소/다시 실행 기.. 2023. 4. 28. Linked List와 Array, 그리고 Swift에서의 Array. Linked List 여러 구조체 인스턴스를 Chain처럼 줄줄이 포인터로 연결한 자료구조(선형, 일차원 형태) 연결에 사용된 포인터 숫자가 한개이고 자기 다음을 가리키는 것이 특징 구현하기(c++) Node는 데이터를 담기위한 컨테이너가 됨. (next)포인터를 이용해서 다른 노드를 포인팅함. nullptr를 가진 노드가 마지막 노드가 됨. #include // 노드 구조체 정의 struct Node { int data; Node* next; Node(int data) : data(data), next(nullptr) {} }; // 단일 연결 리스트 클래스 정의 class SingleLinkedList { public: Node* head; SingleLinkedList() : head(nullptr.. 2023. 4. 26. 이전 1 다음 728x90