본문 바로가기
반응형

[알고리즘 + 자료구조]43

[자료구조] Queue 배열로 구현한 예시 요소는 int형 + 링 버퍼 구조 기반 예시 [ IntQueue.h ] // // IntQueue.h // helloC // // Created by Hevton on 2020/10/14. // #ifndef IntQueue_h #define IntQueue_h // 링 버퍼 구조로 큐를 구현 typedef struct { int max; // 큐의 용량 int num; // 현재 데이터 수. front와 rear의 값이 같은 경우 큐가 비어있는지, 가득찼는지 구별할 수 없는 상황을 피하기 위해 사용. int front; // 프런트. 첫 번째 요소의 인덱스를 저장 int rear; // 리어. 맨 나중에 넣은 요소의 하나 뒤의 인덱스를 저장 (다음 인큐 시에 데이터가 저장될 요소의 .. 2020. 10. 15.
[자료구조] 다중 STACK 배열로 구현한 예제 하나의 배열을 공유하여 여러 스택을 구현(다중스택)한 예제 여기선 하나의 배열로 2개의 스택을 구현했다. 다중스택에서 중요한 점은 스택포인터의 개념. 본래 하나의 배열로 구현한 스택, 즉 단일스택에서 ptr(스택 포인터)은 데이터의 개수를 나타낼 수 있었는데, 다중 스택에서는 표현이 되지 않는다. 따라서 평소에 스택 포인터의 개념을 '데이터의 개수를 나타낸다' 보다는 '다음에 저장될 데이터의 인덱스값을 갖고있는 변수' 라고 생각하는 것이 더 좋겠다. 그리고 단일스택에서는 전자로도 사용할 수도 있는 것. [ IntDoubleStack.h ] // // IntDoubleStack.h // helloC // // Created by Hevton on 2020/10/14. // /* int형.. 2020. 10. 14.
[자료구조] STACK 배열로 구현 예시 (요소는 int형) [ IntStack.h ] // // Intstack.h // helloC // // Created by Hevton on 2020/10/14. // /* int형 스택 IntStack 헤더 */ #ifndef Intstack_h #define Intstack_h typedef struct { int max; // 스택의 최대 용량 int ptr; // 새로운 데이터를 삽입할 인덱스를 가리키는 스택 포인터. 포인터 변수를 의미하지 않으며, '인덱스를 가리킨다'라는 의미로 그렇게 부름. 특별한 경우가 아닌 이상 스택에 쌓여 있는 데이터의 개수를 나타내기도 함. int *stk; // 스택으로 사용할 배열을 가리키는 포인터 } IntStack; // 스택 초기화 int .. 2020. 10. 14.
[알고리즘] Do it 자료구조와 알고리즘 3장 정리 연습문제_Q1 > search 함수를 while문이 아닌 for문을 사용하여 프로그램을 수정하시오. (search함수는 보초법 사용) #include #include int search(int a[], int n, int key) { int i = 0; a[n] = key; for(i=0; i 선형 검색의 스캐닝 과정을 상세하게 표현하는 프로그램을 작성하세요. 참고로 나는 보초법 기반으로 작성하였다. #include #include int search(int a[], int n, int key) { printf(" |"); for(int z=0; z 두개 이상의 복잡도로 구성된 알고리즘의 전체 복잡도는 차원이 더 높은 쪽의 복잡도를 선택한다. 이는 둘이아니라 셋이던 넷이던 그 이상이던 마찬가지다. 다시말.. 2020. 10. 11.
반응형