본문 바로가기
반응형

[Public] 컴퓨터공학27

[알고리즘] 삽입 정렬 (Insert Sort) (정렬#3) (3 번째 정렬 Story) 삽입 정렬 이번엔 삽입 정렬이다. 삽입정렬의 방법은 이미 나열되어 있는 정렬할 공간에서 가장 작은 범위 부터 시작하여서 작은 범위 안에서 가장 작은 수가 나올때 까지 옆으로 이동하면서 마지막의 수를 이동한 자리의 빈공간에 넣어준다 하여 삽입 정렬이라 한다. 말로 설명하면 잘 모르니 그림을 보자 5 -> 1 -> 7 -> 4 -> 2 -> 6 -> 3 의 데이터를 정렬 할려고 한다. 가장 작은 정렬 할 범위를 지정해주고 늘려가면서 진행된다. 먼저 시작점을 설정해야한다. 시작점을 0부터 하면 그 전 데이터가 없기 때문에 시작 점을 1부터 하고 진행한다. 자 그럼 정렬을 시작 해 보장 저장 [ 5 -> 1 ]-> 7 -> 4 -> 2 -> 6 -> 3 [1]저장 데이터 공간의 시.. 2010. 5. 12.
[알고리즘] 선택 정렬 (Selection Sort) (정렬#2) (2번째 정렬 Story) 선택 정렬 원리가 가장 간단한 알고리즘 중 하나로 오른쪽 리스에서 가장 작은 숫자를 선택하여 왼쪽 리스트로 이동작업을 오른쪽 리스트가 공백 상태가 될 때 까지 되풀이 하는 방법이다. 말로 하면 이해하기 힘드니 아래 그림을 보면 쉽게 이해를 할 것이다. 지금 5 3 8 1 2 7 이라는 오른쪽 공간이 있다. 여기서 가장 작은 수를 찾는 것이다. 그 작은 수를 왼쪽 공간에 차례로 넣어주면서 오른쪽 공간에서 더이상 수가 존재하지않으면 선택정렬은 종료가 되는 것이다. 하지만.... 항상 그래 왔듯이 여기에는 문제점이 있다. 그래 저번에 배운 공간 복잡도에 대해서 생각을 하지 않은 것이다. 위에서 표현하는 자료는 비록 6개의 자료를 담고 있지만 회사에서 사용하는 10만개가 넘어가는 자료.. 2010. 5. 4.
[알고리즘] 버블정렬 (Bubble Sort) (정렬#1) 정렬 이야기 (첫번째 이야기) - 버블 정렬 오늘은 많은 정렬 중 버블 정렬에 대해서 설명해보려고 한다. 버블 정렬, 거품 정렬 등등으로 많이 불린다. 왜 거품, 버블 정렬 일가? 이 질문에 답은 아래를 읽다 보면 해결 할 수 있다. 먼저 방법을 알고 가자 버블 정렬의 방법은 인접한 2개의 레코드를 비교하여 순서대로 되어 있지 않으면 서로 교환(SWAP) 하여서 계속 진행하는 방식이다. 이렇게 말하면 절대 모르지... ㅋㅋ 그림으로 보자 5 - 3 - 8 - 1 - 2 - 7 순서로 나열되어 있다. 이를 오름차순으로 나열 하기 위하여 버블 정렬을 사용하면 인접한 두개의 값을 비교하여 조건과 일치하면 서로 교환해주는 것이다. 5 - 3 - 8 - 1 - 2 - 7 (5>3) 3 - 5 - 8 - 1 - 2.. 2010. 4. 28.
[알고리즘] 시간 복잡도 알고리즘 책을 넘기다 보면 시간 복잡도 란 개념으로 1장 ~ 2장 사이에 위치하고 있어 설명하는 내용도 뭐이리 어렵게 설명하는지 처음으로 알고리즘을 공부해 보겠다는 사람들에게 이런 뷁 ~~ 이란 말이 나오도록 알고리즘이란 어려운 것이야 하는 느낌을 준다 . 시간복잡도 너 뭐니? 한번 시간 복잡도에 대해서 알아보자 먼저 시간복잡도를 알기 전에 알고리즘을 짠다면 가장 중요한게 뭘가 ? 생각 해보아라 . . . 먼저 시간은 적게 걸려야 하고 메모리 사용은 적어야 한다 . . 이정도 만 생각했다면 당신은 이제 시간 복잡도와 공간복잡도에 대해 다 안것이다. 말 그대로 알고리즘을 구현하는데 있어 얼마나 속도가 걸리는지 얼마나 적은 메모리 사용하는지 이자체가 시간복잡도 공간복잡도 라 생각하면된다. 예전 286 시대만.. 2010. 4. 28.
[UVA] 575 Skew Binary Skew Binary When a number is expressed in decimal, the k-th digit represents a multiple of 10k. (Digits are numbered from right to left, where the least significant digit is number 0.) For example, When a number is expressed in binary, the k-th digit represents a multiple of 2k. For example, In skew binary, the k-th digit represents a multiple of 2k+1 - 1. The only possible digits are 0 and 1, e.. 2010. 4. 26.
[UVA] 10019 Funny Encryption Method 오늘 부터 UVA 알고리즘을 활성화 하기로 했다. 많은 문제를 풀어서 ACM 대회 나가보장~ 화이팅 Funny Encryption Method The ProblemHistory : A student from ITESM Campus Monterrey plays with a new encryption method for numbers. These method consist of the following steps: Steps : Example 1) Read the number N to encrypt M = 265 2) Interpret N as a decimal number X1= 265 (decimal) 3) Convert the decimal interpretation of N to its binary .. 2010. 4. 18.
반응형