본문 바로가기

분류 전체보기140

스택 2개를 이용한 선형 큐의 구현 2개의 스택을 사용하여 하나는 큐의 enqueue를 기능하게 하는 스택으로, 다른 하나를 큐의 dequeue 연산을 가능하게 하는 스택으로 생각해 볼 수 있다. 왜냐하면 enqueue(값)을 할때, 값을 스택에 저장하게 되면 저장되는 순서는 먼저 입력된 순서대로 push하고 늦게push된 요소가 먼저pop된다.예를들어 설명하자면 enqueue(10),enqueue(20), enqueue(30)을 한다고 할때, 스택1번에 10->20->30 순으로 push하면 아래서부터 쌓여있는 모습을 떠올릴 수 있다. 이는 스택의 성질인 (LIFO : Last In FIrst Out)을 이용하여 pop을 할때 30->20->10 순서대로 pop 될 것이다.dequeue연산을 하게되면 스택1번에 저장된 요소들이 pop되는.. 2024. 10. 25.
다항식 계산기 (Polynomial Calculator) #include #include #define MAX_DEGREE 101typedef struct { int degree; // 최대 차수 float x_coef[MAX_DEGREE]; // x 계수 배열 float y_coef[MAX_DEGREE]; // y 계수 배열} polynomial;typedef struct { int x_exp; // x의 차수 int y_exp; // y의 차수 float coef; // 항의 계수} term;int compare(const void* a, const void* b) { term* termA = (term*)a; term* termB = (term*)b; if (termB->y_ex.. 2024. 10. 2.
컬렉션 import java.util.Vector;public class CollectionEX { public static void main(String[] args) { Vector v = new Vector(); v.add(5); v.add(4); v.add(-1); v.add(2,100); System.out.println("object element number in Vector : "+v.size()); System.out.println("capacity of Vector : "+v.capacity()); for(int i =0; i  import java.util.*;public class IteratorEx { public static void main(String[] arg.. 2024. 9. 24.
리스트 1 (ArrayList) 리스트 ADT객체: n개의 element형으로 구성된 순서 있는 모임연산:insert(list,pos,item) ::= pos 위치에 요소를 추가한다.insert_last(list,item) ::= 맨 끝에 요소를 추가한다.insert_first(list,item) ::= 맨 앞에 요소를 추가한다.delete(list,pos) ::= pos 위치의 요소를 제거한다.clear(list) ::= 리스트의 모든 요소를 제거한다.get_entry(list,pos) ::= pos 위치의 요소를 반환한다.get_length(list) ::= 리스트의 길이를 구한다.is_empty(list) ::= 리스트가 비었는지를 검사한다.is_full(list) ::= 리스트가 꽉 찾는지를 검사한다.print_list(list.. 2024. 8. 26.
큐(Queue) 활용 예제 대기열 #include #include #define MAX_QUEUE_SIZE 5typedef struct { int id; int arrival_time; int service_time;}element;typedef struct { element data[MAX_QUEUE_SIZE]; int front, rear;}QueueType;void error(char* message) { fprintf(stderr, "%s\n", message);}void init_queue(QueueType* q) { q->front = 0; q->rear = 0;}int is_empty(QueueType* q) { return q->front == q->rear;}int is_full(QueueType* q) { ret.. 2024. 8. 26.
덱(Deque) 2 2024.07.25 - [Algorithm] - 덱 (deque) 덱 (deque)덱 (deque)덱이란 double-ended queue의 줄임말로서 큐의 front와 rear에서 모두 삽입과 삭제가 가능한 큐를 의미한다.ADT Deque객체 : n개의 element형의 요소들의 순서 있는 모임연산 : create() ::=intit(dq) is_emptkwone.tistory.com 덱 (Double ended queue)의 줄임말로 양방향 front rear 상관없이 모두의 방향으로 원소의 저장과 삭제가 가능한 큐를 말함원형 큐의 ADT에서 front에서의 enque, rear에서의 deque,front에서의 peek or get(return) 모두가 가능하기때문에 각각의 기능을 하는 함수들을 추가.. 2024. 8. 25.