블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2794)
Unity3D (852)
Programming (478)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (11)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
C (20)
C++ (10)
자료구조 (6)
2D API (9)
Network (1)
2D Graphics (2)
3D Graphics (9)
RayTracing (1)
3D API (11)
Scene Graph II (2)
Shader (16)
Physics (3)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday



<BST 구현> 

임의의 자료(최소 100개 이상)로 BST를 생성하고
거기서 자료를 정렬하거나 검색하는 알고리즘을 구현하시오. 

제대로된 검색 효율이 가능하려면 BST를 균형트리로 만들어야 한다.

반응형
Posted by blueasa
, |



<정렬 알고리즘 구현>

단순 배열에 담긴 자료를 선택, 거품, 쾌속 정렬로 정렬하는 알고리즘 구현하시오.
그리고 알고리즘의 실행 효율을 아래 여러 조건에 따라 비교 측정하시오.(시간 측정 함수 활용) 

1. 자료의 갯수: 100개, 1000개, 10000개
2. 자료의 상태:
    Best      이미 정렬된 상태
    Good     반쯤 정렬된 상태   (난수 이용)
    Normal   무작위 배열 상태   (난수 이용)
    Worst     역순으로 정렬된 상태

반응형
Posted by blueasa
, |



<이진 탐색 알고리즘 구현>

100개 정도의 미리 정렬된 자료에서 이진 탐색 알고리즘으로
원하는 자료를 검색하는 프로그램을 구현하시오. 


 
반응형
Posted by blueasa
, |


과제 31 에서는 Heap 에서 할당 받은 메모리를 이용하여
pointer로 각 node를 가리키는 Single Linked List 를 구현하였다.

1. 이번에는 단순 배열을 이용하여 메모리를 확보하고
pointer 대신에 배열의 index 로 각 node를 가리키는 Single Linked List를 구현하시오. 

2. 이를 이용하여 stack 과 queue를 구현하시오. 

3. 과제 31과 32 에서 구현한 자료구조와 이번 과제33에서 구현한 자료구조의
실행속도를 서로 비교해보시요.
(Windows API 의 시간 측정 함수 timeGetTime, QueryPerformanceCounter 등을 활용) 

반응형
Posted by blueasa
, |


과제031 에서 구현한 단일 연결 리스트(Single Linked List) 를 활용하여
"큐"와 "스택"을 구현

==== main 함수 ====
void main()
{
 Stack<int> stack;
 
 stack.Push(1);
 stack.Push(2);
 stack.Push(3);
 stack.Push(4);
 stack.Push(5);

 stack.Print();

 cout<<"stack.Pop() = "<<stack.Pop()<<endl;
 cout<<"stack.Pop() = "<<stack.Pop()<<endl;
 cout<<"stack.Pop() = "<<stack.Pop()<<endl;
 cout<<"stack.Pop() = "<<stack.Pop()<<endl;
 cout<<"stack.Pop() = "<<stack.Pop()<<endl;
 cout<<"stack.Pop() = "<<stack.Pop()<<endl;

 stack.Print();

 Queue<char> queue;

 queue.Push('a');
 queue.Push('b');
 queue.Push('c');
 queue.Push('d');

 queue.Print();

 cout<<"queue.Pop() = "<<queue.Pop()<<endl;

 queue.Print();

 system("PAUSE");
}

반응형
Posted by blueasa
, |



단일 연결 리스트(Single Linked List) 구현

==== main 함수 ====
void main()
{
 LinkedList<int> linkedlist;

 linkedlist.InsertFirst(1);
 linkedlist.InsertFirst(2);
 linkedlist.InsertLast(3);
 linkedlist.Insert(1, 4);
 linkedlist.DeleteLast();
 linkedlist.Delete(2);
 linkedlist.InsertLast(5);
 linkedlist.InsertLast(6);
 linkedlist.Insert(4, 7);
 linkedlist.DeleteFirst();

 cout<<"linkedlist.InsertFirst(1)"<<endl;
 cout<<"linkedlist.InsertFirst(2)"<<endl;
 cout<<"linkedlist.InsertLast(3)"<<endl;
 cout<<"linkedlist.Insert(1, 4)"<<endl;
 cout<<"linkedlist.DeleteLast()"<<endl;
 cout<<"linkedlist.Delete(2)"<<endl;
 cout<<"linkedlist.InsertLast(5)"<<endl;
 cout<<"linkedlist.InsertLast(6)"<<endl;
 cout<<"linkedlist.Insert(4, 7)"<<endl;
 cout<<"linkedlist.DeleteFirst()"<<endl;

 linkedlist.Print();

 linkedlist.DeleteAll();
 cout<<"linkedlist.DeleteAll()"<<endl;

 linkedlist.Print();

 system("PAUSE");
}

반응형
Posted by blueasa
, |