반응형

자료구조 7

[C] 보이어무어 간단버젼 - 동작예제 -

보이어무어를 실제 임베디드 환경에서 사용할일이 생김... 그나마 제일간단하고 제일 코드량이 적으면서 잘돌아가는 소스를 인터넷에서 받아서 테스트완료한 버젼이다. 예제소스 #include #include #include #define NO_OF_CHARS 256 // A utility function to get maximum of two integers static int max (int a, int b) { return (a > b)? a: b; } // The preprocessing function for Boyer Moore's bad character heuristic static void badCharHeuristic( char *str, int size, int badchar[NO_OF_CHA..

SW 개발 2016.11.29

[알고리즘] 연결리스트 class 로 구현한 양방향 링크드 리스트 (예제코드)

직접 테스트완료된 예제코드 예제코드 예제코드 #ifndef DLIST2_H #define DLIST2_H template class list { ////////////////////////////////////////////// private: class node { public: node* llink; node* rlink; T data; node(node * a, node* b, T c) : llink(a), rlink(b), data(c) {} }; node* head; ////////////////////////////////////////////// public: typedef node* POSITION; list() // 생성자 { head= new node(0,0,0); // 헤드 노드를 생..

SW 개발 2009.04.14

[알고리즘] 연결리스트 struct 를 이용한 이중연결리스트 (예제코드)

네이버 블로그에 돌아당기는 이중연결리스트 예제 예제코드 예제코드 #include // 노드 구조체 struct Node { int value; Node *prev; Node *next; }; Node *head; // 연결 리스트 초기화 - 머리를 할당한다. void InitList() { head=(Node *)malloc(sizeof(Node)); head->prev=NULL; head->next=NULL; } // 지정한 노드의 오른쪽에 삽입한다. Node *InsertNodeRight(Node *Target,Node *aNode) { Node *New; Node *Right; New=(Node *)malloc(sizeof(Node)); *New=*aNode; Right=Target->next; N..

SW 개발 2009.04.14

알고리즘 / 보이어무어알고리즘에 대한 고찰

Boyed-Moor Algorithm 이전에 비트컴퓨터 과제로 제출했던 자료입니다 ㄷㄷ 1. bad character 문자열 비교 예제 1 의 구현 2. Suffix 접미사 정의 접미사(suffix array)배열 구하기 접미사(suffix array)배열 구현 Good-suffix 정의 Good-suffix의 구성 phase 1 phase 2 Good-suffix-array 구현 3. Boyed-Moor Algorithm 설명 Bad-Charater 이동 Suffix 이동 구현 1. bad character BAD CHARACTER 란 비교할 문자열의 가장 마지막부터 비교를 시작할 때 나오는 특성을 이용한다. 마지막 문자를 비교 할 때 나오는 문자에 따라 나머지 문자열은 비교 안해도 되는 구간이 있다...

SW 개발 2009.04.14

[알고리즘] 리스트자료구조 (linux내의 list.h 이용) 예제

리스트 자료구조를 간단히 테스트해본다. 예제코드 간단 활용 코드예제 예제코드 리눅스의 list.h 이다. 해당 헤더를 이용하여 리스트구조를 작성해보자. #ifndef _LINUX_LIST_H #define _LINUX_LIST_H struct list_head { struct list_head *next, *prev; }; #define LIST_HEAD_INIT(name) { &(name), &(name) } #define LIST_HEAD(name) \ struct list_head name = LIST_HEAD_INIT(name) #define INIT_LIST_HEAD(ptr) do { \ (ptr)->next = (ptr); (ptr)->prev = (ptr); \ } while (0) void..

SW 개발 2009.04.13

[알고리즘] Class를 이용한 Templete 스택의 구현.. (예제코드)

템플릿을 이용한 스택구현.. 예제코드 진수변환 예제소스코드.. include 예제코드 #include enum BOOL {FALSE,TRUE}; template class CStack { T* base; T* sp; int size; public: CStack(int s) { base=sp=new T[size=s]; } ~CStack() { delete[] base; } void Push(T a) { *sp++=a; } BOOL Pop(T& a) { if (sp==base) return FALSE; else { a=*--sp; return TRUE; } } int Size() const { return sp-base; } };//template class CStack class CXYStack { CSt..

SW 개발 2009.04.13
반응형