반응형 ComputerScience/DataStructure&Algorithm3 연결리스트 - 단순연결리스트 with C Linked List 링크를 가진 노드들의 순열이다. 배열은 메모리와 밀접하게 연관이 있지만 연결리스트는 무조건적으로 연관되지 않는다. 삽입과 삭제가 비교적 간단하고 최대 크기가 정해져 있지 않다. 포인터로 구현할 수 있으며 노드는 데이터와 포인터로 나눌수 있다. head로 시작하여 노드들의 연속을 볼 수 있다. 노드에는 데이터를 저장하는 데이터부와 다음 노드를 지정하는 포인터로 구분한다. 포인터에는 다음 노드의 시작 주소를 가리키게 된다.(구조체의 주소는 구조체의 시작 주소와 같다.) C에서 구조체를 이용하여 노드를 구현하고 포인터는 구조체 포인터로 지정한다. 마지막 노드는 다음 노드가 없으므로 NULL 값으로 지정된다. 노드 구성 및 생성 노드 구조체 struct node{ int data; stru.. 2021. 5. 29. Queue, 원형 Queue와 배열기반 Queue 개념 자료가 앞에서 삽입되고 앞에서 먼저 삭제가 되는 선형 리스트. FIFO(First In First Out) 구조이다. 가장 먼저 삽입 된 자료가 가장 먼저 삭제되는 형태이다. Queue의 멤버 rear : 현재 맨 뒤 요소를 말한다. 새로운 요소가 맨 뒤 요소가 된다. front : 현재 맨 앞 요소이다. addq : 자료를 삽입하는 함수 deleteq : 자료를 삭제하는 함수 큐의 문제점, 대안 큐를 삽입시 rear가 증가하고 front 역시 증가한다. 큐가 꽉 찰 경우 front와 rear를 조정해야 하는 소요가 발생한다. 원형 큐를 만들면 계속 순환하기에 조정할 필요가 없어진다. 원형 큐 원형 큐는 front와 rear가 계속 돌고 돌기 때문에 원형 큐라 한다. 마치 큐가 원형으로 되어있는 것.. 2021. 5. 23. Stack 개념과 배열 기반 스택 개념 스택은 데이터가 들어갈 때마다 쌓이는 것처럼 보여 Stack이라 부른다. 가장 끝단에서 삽입과 삭제가 모두 일어난다. 후입 선출 형식으로 가장 마지박에 삽입된 원소가 가장 먼저 삭제된다. Last In First Out 이라고도 하며 LIFO구조이다. 스택의 주요 기능 stack의 삽입 push 요소 하나를 삽입하는 과정으로 맨 윗 부분에 추가된다. stack의 삭제 pop 가장 위에 있는 요소를 제거한다. stack의 읽기 peek top에 위치한 값을 삭제하지 않고 반환한다. stack의 범위 검사 isEmpty 스택이 꽉 차있는지 검사한다. 스택의 활용 실행 취소 및 뒤로가기뒤로 가기 : 주로 undo, 뒤로 가기를 눌렀을 때 이전에 방문했던 곳이나 이전 상태로 되돌려질 것이다. 이 기능을 구.. 2021. 5. 22. 이전 1 다음 반응형