IT/[Everyday]Coding39 선택정렬 in C# 선택 정렬 방식은 현재의 항목 이후의 모든 항목을 검사하여 최소 값을 찾아야 한다. 따라서 수행 시간은 입력되는 데이터의 정렬도니 정도에 영향을 받지 않고 데이터 수에 따라 늘 일정하다. 즉, 입력된 데이터가 정렬되어 있거나, 역순이거나, 반쯤 정렬되어 있거나, 완전히 흩어져 있거나 모두 같은 수행시간이 걸리게 된다. 선택 정렬의 복잡도는 O(N^2)으로 테이터 수가 커지면 실행시간은 제곱으로 늘어나게 된다. 따라서 데이터의 양이 많을 경우에는 불리한 알고리즘이다. - c#을 이용한 알고리즘 2014. 12. 19. 트리 in C# 1. 트리 연결 리슽, 스택, 큐는 모두 선형적인 구조였다. 즉, 청므과 끝이 하나이며 차례대로 이어져 있다. 트리는 말 그대로 나무와 같은 구조이다. 하나의 뿌리에서 가지가 하나씩 뻗쳐나가는 구조로 이차원적인 구조이다. 토너먼트 대진표와 군대 서열 등이 대표적인 예이다. 트리는 노드(node)라는 항목들이 계층적으로 배치되어 구성되나. 계층의 최상위 노드를 루트(root)라고 한다. 루트 바로 아래의 노드들은 루트의 자식들(children)이며 이런 자식 노드들 아래에 도 자식이 생긴다. 부모가 가질 수 있는 자식의 수는 트리의 형태에 따라 달라진다. 1.1 이진트리 이진트리는 자식을 두개까지만 가질 수 있는 노드로 이러우진 트리를 말한다. 1.1.1 순회 순회란 이진 트리의 노드들을 중복되지 않게 한.. 2014. 12. 19. 큐 in C# 1. 큐의 활용 큐는 스택과 마찬가지로 자료의 임시 저장의 기능으로 많이 사용된다. 단지 자료의 입력과 출력의 순서가 다를 뿐이다. 시스템 내부에서도 큐는 많이 활용된다. 먼저 입력된 것을 먼저 처리하여야하는 부분에서 사용된다. 가장대표적인 예는 키보드이다. BIOS의 키보드 버퍼는 원형 큐로 구현되며 먼저 입력된 키부터 먼저 처리한다. 이외에도 마우스의 이벤트 큐(event queue)도 큐를 이요한 것이다. 이 이벤트 큐는 마우스의 이벤트가 일어나면 그것을 저장해 둔다. 처리부에서 이벤트 큐에서 순서대로 일을 처리하게 된다. 스택과 큐는 가장 많이 사용하는 자료구조이므로 .NET 클래스에서도 기본적으로 제공된다. 2. .NET 클래스를 이요한 큐의 구현 2014. 12. 19. 스택 in C# 1. 스택의 활용 스택은 시스템 내부에서부터 고급 알고리즘까지 매우 다양한 방법으로 활용된다. 스택활용의 가장좋은 예는 언두(undo)이다. 응용프로그램에서 작업을 진행하다가 undo를 할 때마다 바로 직전에 하였던 작업이 복구된다. 즉, 스택의 주 용도는 자료의 임시 저장 장소로의 이용이다. 시스템 내부에는 Internal Stack이라고 하여 함수의 호출이나 인터럽트를 처리할 때 현재의 주소나 상태를 임시로 저장해 두는 데 사용한다. 또한 고급 알고리즘에서는 산술 게산이나 재귀 호출을 비재귀 호출로 바꾸는 등에 많이 사용된다. 비슷한 성격으로 큐(queue)도 자료의 임시 저장에 많이 사용된다. 자료의 출입구가 어떻게 이루어져 있는 것이 합당한가에 따라 선택하여 사용하면 될 것이다. - c#을 이용한.. 2014. 12. 19. 이전 1 ··· 6 7 8 9 10 다음 반응형