본문 바로가기

Computer Science304

BFS queue 1. okay22. 가구까지 완벽쓰3. 한쪽은 창고로 쓰면 됨4. 오케이! 1. BFS 를 사용2. 큐를 사용 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556#include #define MAX_VERTEX 30 int num;int map[MAX_VERTEX][MAX_VERTEX];int visit[MAX_VERTEX];int queue[MAX_VERTEX];int rear, front; void breadthFirstSearch(int vertex) { int i; visit[vertex] = 1; printf("%d ", vertex); queue[rear++] .. 2019. 1. 15.
Deque 1. 앞에서 빼고2. 뒤에서 빼고3. 가능한 코딩을 많이하기4. 문제 유형 파아갛기5. 문제 풀이 방법 고려하기6. 차분하게 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451.. 2019. 1. 14.
Linked List 1. 링크드 리스트2. 노드3. 연결4. 포인트 함수5. 앞 뒤로 연결하고 삽입, 삭제 하는 것 알아두기 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110#include #define MAX_NODE 100 typedef struct listNode{ int data; struct listNode* prev; struct listNode* next;}ListNo.. 2019. 1. 14.
Graph 1. 인접리스트2. 포인터 연결3. 말록4. 노드 만들어서 연결5. 포인트 함수 관계 6. 자료구조 그리기 가능 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109#include #include typedef struct adjlistNode{ int vertex; adjlistNode *next;}AdjListNode; typedef struct{ int num_me.. 2019. 1. 14.
Tree 1. 트리 어떻게 쓰고 있는지 확인2. 레퍼런스를 어떻게 가져다 쓰는지 확인3. 해쉬 문제 확인4. 링크드 리스트 확인5. 큐리 문제 풀이 확인6. 자료 구조 어떻게 짤 것 인지만 확인7. 자연스럽게 풀이하기 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778#include #define MAX_NODE_NUM 100#define MAX_CHILD_NUM 2 typedef struct { int parent; int child[MAX_CHILD_NUM];}TreeNode; TreeNode tre.. 2019. 1. 14.
프양연 프리랜서 1. 퀵소트2. 정리해서 테스크 배열 만들기3. 그리고 아래 배열을 만들어서 그렇게 알고리즘 구현 하는 방법 있음4. 좋은 코드 인정 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109#define _CRT_SECURE_NO_WARNINGS #include #define START 0#define END 1#define MONEY 2 #define N_L 10#defi.. 2019. 1. 11.
프양연 두 번 이상 등장하는 문자열 1. 이분 탐색 해쉬는 기본2. 기본적인 것들 뽀개기3. 사실상 머리속에 거의 다 알고 있음4. 중요한 개념들 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107#include #define MOD 1000011 #define MAX_L 15//#define MAX_L 200001 int L;char S[MAX_L];int hashtable[MOD][4];long long MUL.. 2019. 1. 8.
프양연 단어가 등장하는 횟수 1. 풀이 정리2. 예외 사항 및 설계 완료3. 풀이 -> 코딩 1234567891011121314151617181920212223242526272829303132333435363738394041424344#include #define MAX_N 10#define MAX_S 10 //#define MAX_N 500010//#define MAX_S 100010 char b[MAX_N], s[MAX_S];int fail[MAX_S]; void make_fail_func() { fail[0] = 0; int j = 0; for (int i = 1; s[i] != '\0'; i++) { while (j > 0 && s[i] != s[j]) j = fail[j - 1]; if (s[i] == s[j]) fail[.. 2019. 1. 8.
문자열 베이어 무어 / 계산 기하학 1. 접미사 배열 생성 방법모든 접미사 생성한 후, 사전 순서대로 정렬함계수 정렬이 있음카운팅 소트에 기반한 방법같은 문자열의 접미사들을 정렬한다는데 착안함접미사 번호 첫글자 정렬정렬의 대상이 되는 문자 길이를 2배씩 늘려나감 현재 고려하는 길이의 모든 문자열이 다 다르거나,고려하는 길이가 문자열의 길이와 같으면 종료 문자열의 길이를 2배로 늘이는 과정에서 퀵 정렬 이용매번 정렬할 때마다 비교를 오번 수행하고,[총 정렬 횟수 1 2 4 엔 2. 문자열 알고리즘 - 문자열 압축LZ7778 문자열의 크기를 줄일 수 있는가 2019. 1. 3.