📕 데크의 개념과 구조 : Double Ended Queue의 약자로, 큐 두 개 중 하나를 뒤집어 양쪽 끝에서 삽입 연산과 삭제 연산을 수행할 수 있는 구조 💬 기억장소의 가장 일반적인 구조로 스택과 큐의 복합 형태이다. scroll: 입력을 한쪽 끝으로만 제한하는 입력 제한 데크 shelf: 출력을 한쪽 끝으로만 제한하는 출력 제한 데크 🔢 데크의 연산방법 1. 공백 데크 생성: createDeque(); 2. 원소 A 앞부분 삽입: insertFront(DQ, 'A'); 3. 원소 B 앞부분 삽입: insertFront(DQ, 'B'); 4. 원소 C 뒷부분 삽입: insertRear(DQ, 'C'); 5. 원소 앞부분 삭제: deleteFront(DQ); 6. 원소 뒷부분 삭제: deleteRe..
🤖 순차 자료구조를 이용한 큐의 구현 초기 상태 front = rear = -1 공백 상태 front = rear 포화 상태 rear = n-1 (마지막 인덱스) 1. 우선 공백 상태인 큐를 생성한다. 2. 큐가 공백 상태인지 포화 상태인지 검사한다. 3. 큐에 원소를 삽입한다. # 삽입 알고리즘 rear = rear + 1 if rear>m then overflow else x[rear] ← 삽입 # x는 큐의 이름, m은 배열의 크기 4. 큐에 삽입된 원소를 삭제한다. # 삭제 알고리즘 if front=0 then underflow else { 제거 ← x[front] front = front +1 } # front가 위치를 한 자리 뒤로 이동하여 삭제할 자리 준비 # (=제거 후에 한 칸 뒤로 움직임)
📕 큐의 개념과 구조 : 먼저 삽입된 원소가 먼저 삭제 되는 선입선출 구조 (First-In-First-Out) front (= head): 가장 먼저 삭제될 데이터를 가리키는 삭제 포인터 rear(= tail): 가장 최근에 입력된 데이터를 가리키는 삽입 포인터 💬 삽입 삭제가 앞으로만 이동하기 때문에 한번 사용한 곳에는 다시 사용하지 못하는 단점이 있다. 이를 보완하기 위해 일정 시점 뒤에 처음으로 이동하는 이동 큐, 마지막까지 삽입되면 처음 위치로 가는 환형 큐가 이용된다. 🔢 큐의 연산방법 ➕ 삽입: enQueue (enterQueue) ➖ 삭제: deQueue (deleteQueue) 1. 공백 큐 생성: createQueue(); 2. 원소 A 삽입: enQueue(Q, A); 3. 원소 B ..
자료구조 이해 알고리즘 이해 컴퓨터 내부의 2진수 코드 체계 자료를 추상화, 구체화하는 방법 자료구조란? 자료를 효율적으로 표현, 저장, 처리할 수 있도록 정리하는 것 자료 정보 GIGO 자료를 가공, 정리한 것 GIGO (=Garbage in Garbage out) : 쓰레기가 들어가면 쓰레기가 나온다 : 컴퓨터가 논리 프로세스에 의해 운영되기 때문에 쓰레기 입력값, 쓰레기 출력값을 의심없이 처리하는 것을 말함 자료구조의 목표? 컴퓨터가 효율적으로 문제를 처리하기 위해 문제를 정의하고 분석하여 최적의 프로그램을 작성하는 것 알고리즘 작성(사람) ---번역---> 프로그램 번역 및 실행(컴퓨터) 자료의 형태에 따른 분류 단순 구조 정수, 실수, 문자, 문자열 등의 기본 자료형 선형 구조 순차 리스트, 연..