알고리즘
-
알고리즘 - 선택 정렬을 코딩해보자!(2)Knowledge/Algorithm 2019. 7. 9. 13:46
https://shineild-security.tistory.com/31 알고리즘 - 선택 정렬을 코딩해보자!(1) 오늘은 저번에 작성했던 선택 정렬 개념을 바탕으로 코딩을 해보려고 한다. https://shineild-security.tistory.com/30 알고리즘 - 선택 정렬에 대해서 알아보자 오늘은 선택정렬을 구현하기에 앞서 개념에 대해서.. shineild-security.tistory.com 1편에 이어서 2편이다. 오늘은 다른 사람들의 코드를 참고하고 기존 코드를 수정해보려고 한다. 우선 위키백과를 참고해보았다. void selectionSort(int *list, const int n) { int i, j, indexMin, temp; for (i = 0; i < n - 1; i++) ..
-
알고리즘 - 선택 정렬을 코딩해보자!(1)Knowledge/Algorithm 2019. 7. 8. 23:49
오늘은 저번에 작성했던 선택 정렬 개념을 바탕으로 코딩을 해보려고 한다. https://shineild-security.tistory.com/30 알고리즘 - 선택 정렬에 대해서 알아보자 오늘은 선택정렬을 구현하기에 앞서 개념에 대해서 짚고 넘어가도록 하려한다. 선택정렬이란 여러 수를 정렬할 때 최소값을 기준으로 정렬을 하는 방식이다. ex) 임의의 데이터 값들이 있다. 3 4 1 2 9 8 1. 수열.. shineild-security.tistory.com 데이터의 형태는 저번 버블솔트 때와 같이 배열로 진행하려고 한다. 가장먼저 고민하게 된 부분은 최솟값을 어떻게 찾고 지정할건가였는데 생각해보던중에 예전에 점수 등수를 정하는 프로그램을 코딩했던 기억이 났다. 그걸 이용하면 최소값을 찾을 수 있는 것같..
-
알고리즘 - 선택 정렬에 대해서 알아보자Knowledge/Algorithm 2019. 7. 4. 23:54
오늘은 선택정렬을 구현하기에 앞서 개념에 대해서 짚고 넘어가도록 하려한다. 선택정렬이란 여러 수를 정렬할 때 최소값을 기준으로 정렬을 하는 방식이다. ex) 임의의 데이터 값들이 있다. 3 4 1 2 9 8 1. 수열을 탐색해서 가장 최소값인 숫자를 찾는다. 2. 가장 작은 숫자인 1을 발견할 것이다. 3. 1을 가장 왼쪽에 위치시키고 원래 있던 3을 1의 자리로 옮긴다. 1 4 3 2 9 8 4. 다시 1을 제외하고 가장 작은 숫자를 찾는다. 5. 2를 발견했으니 1 뒤에 위치시켜주며 4는 2의 자리로 바뀐다. 1 2 3 4 9 8 위 과정을 반복하면 1 2 3 4 8 9로 정렬이 완성된다. 정렬은 역시 최대 (n-1)번 이루어지는 정렬이다.
-
알고리즘 - 이진탐색 코드를 짜보자(2)Knowledge/Algorithm 2019. 6. 22. 06:56
https://shineild-security.tistory.com/26 알고리즘 - 이진탐색 코드를 짜보자(1) 오늘은 저번 이진탐색 개념정리에 이어서 직접 코드를 구현하는 시간을 가져보려고 한다. https://shineild-security.tistory.com/22 알고리즘 - 이진탐색 알고리즘 개념 안녕하세요. 오늘은 이진탐색 알고리즘.. shineild-security.tistory.com 전글에 이어서 오늘은 다른 사용자들의 코드를 참고해서 내 코드도 수정해보는 시간을 가지려고 합니다. 기존 작성 코드를 우선 살펴보자. #include int main(int argc, const char * argv[]) { int num; printf("데이터 개수 입력 : "); scanf("%d", &..
-
알고리즘 - 이진탐색 코드를 짜보자(1)Knowledge/Algorithm 2019. 6. 21. 07:19
오늘은 저번 이진탐색 개념정리에 이어서 직접 코드를 구현하는 시간을 가져보려고 한다. https://shineild-security.tistory.com/22 알고리즘 - 이진탐색 알고리즘 개념 안녕하세요. 오늘은 이진탐색 알고리즘 개념에 대해서 정리하려 합니다. 이진탐색이란 이진법, 이분법에서 파생된 말로 아메바를 예로 들 수가 있겠네요. 아메바는 번식을 할 때 자신의 몸을 반으로 나눠서 개체.. shineild-security.tistory.com 이진탐색을 진행함에 앞서서 필요한 전제조건이 뭔지 생각해보자. 우선은 데이터 정렬이 진행되어야 할 것이다. 여러 정렬들이 있지만 나는 하나밖에 정렬코드를 안만들어 놨음으로 버블소트 정렬을 사용할 것이다. 기존 버블소트 코드를 일단 가져왔다. #include..
-
알고리즘 - 이진탐색 알고리즘 개념Knowledge/Algorithm 2019. 6. 17. 00:50
안녕하세요. 오늘은 이진탐색 알고리즘 개념에 대해서 정리하려 합니다. 이진탐색이란 이진법, 이분법에서 파생된 말로 아메바를 예로 들 수가 있겠네요. 아메바는 번식을 할 때 자신의 몸을 반으로 나눠서 개체 수를 증가시킵니다. 그래서 사람들은 우수겟소리로 이분법적인 사고로 나눠서 판단하지 말라고도 말합니다. 두개로 분할한다라는 뜻으로 생각하시면 편할 것 같습니다. 그리고 이것을 수학적으로 접근해보면 우리는 친근한 게임을 예시로 들 수 있습니다. 그것은 바로 업다운 게임인데요. 우리는 업다운 게임을 할 때 본능적으로 가장 적은 횟수로 높은 확률을 갖을 수 있는 방법을 고안해 냅니다. 그것은 바로 1~100이란 숫자 중에 50을 기준으로 유추하기 시작하는 거죠. 만약 숫자가 87이라면 50을 묻고 높다고 판명이..
-
알고리즘 - Bubble Sort (버블 소트)를 코딩해보자(2)Knowledge/Algorithm 2019. 6. 15. 15:38
https://shineild-security.tistory.com/17 알고리즘 - Bubble Sort (버블 솔트)를 코딩해보자! (1) 알고리즘의 첫시작으로 하기에 좋은 정렬방법인 Bubble Sort. 지난번 포스팅에선 이 알고리즘의 개념에 대해서 포스팅을 했었다. https://shineild-security.tistory.com/17 알고리즘 - Bubble Sort 개념 (버블.. shineild-security.tistory.com https://shineild-security.tistory.com/18 알고리즘 - Bubble Sort (버블 솔트)를 코딩해보자! (1) 알고리즘의 첫시작으로 하기에 좋은 정렬방법인 Bubble Sort. 지난번 포스팅에선 이 알고리즘의 개념에 대해서 포..
-
알고리즘 - Bubble Sort (버블 소트)를 코딩해보자! (1)Knowledge/Algorithm 2019. 6. 15. 02:54
알고리즘의 첫시작으로 하기에 좋은 정렬방법인 Bubble Sort. 지난번 포스팅에선 이 알고리즘의 개념에 대해서 포스팅을 했었다. https://shineild-security.tistory.com/17 알고리즘 - Bubble Sort 개념 (버블 솔트) Bubble Sort(버블 정렬)이란 많은 숫자들을 정렬할 때 사용하는 알고리즘들 중의 하나이다. 결론부터 말하자면 왼쪽에 가장 작은 수를 두고 오른쪽으로 갈 수록 큰 수들이 정렬되어 있는 구조로 오른쪽 가장 끝에.. shineild-security.tistory.com 오늘은 배운 개념을 토대로 코딩을 해보려고 한다. 주의: 예시를 보고 작성한 것이 아니라 순전히 필자의 생각대로 코딩을 한 것이기 때문에 절대 효율적인 코드가 아닐 것이다. 추후의 ..