- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 알고리즘
- dart
- 프로그래머스 swift
- 정렬
- datastructure
- swift 코딩테스트
- 정렬알고리즘
- 정렬 알고리즘
- Design Pattern
- 프로그래머스 level1
- 감성에세이
- 스위프트디자인패턴
- rxswift
- coding test
- 자료구조
- swift 알고리즘
- 코딩테스트
- 디자인패턴
- programmers
- 다트
- 스위프트
- 프로그래머스 레벨2
- 코테
- swift
- 프로그래머스
- sort
- programmer
- Algorithm
- 디자인 패턴
- swift split
목록알고리즘 (32)
Bill Kim's Life...
알고리즘에서의 Heap Sort(힙 정렬)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 알고리즘의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 알고리즘을 공부해보고 싶으신 분들 Heap Sort(힙 정렬) Heap Sort(힙 정렬)는 힙 트리를 활용하여 데이터를 정렬을 하는 정렬 알고리즘입니다. 힙 정렬을 이해하기 위해서는 기본적으로 이진 트리 구조와 최대 힙에 대한 이해가 필요합니다. 기본 동작 기본적인 알고리즘의 컨셉을 살펴보면 아래와 같습니다. 1. 주어진 데이터를 최대 힙 배열로 만든다. 2. 힙에서 최대값(첫번째 요소)..
알고리즘에서의 Quick Sort(퀵 정렬)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 알고리즘의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 알고리즘을 공부해보고 싶으신 분들 Quick Sort(퀵 정렬) Quick Sort(퀵 정렬)는 대표적인 분할, 정복 정렬 알고리즘으로서 최악의 경우는 O(n^2)이지만 평균적으로는 O(nlogn)으로서 병합 정렬보다 보편적으로 빠른 속도를 가진 알고리즘입니다. 특정 값(Pivot)을 선택한 후 좌우로 작은 수와 큰 수 리스트를 나누어 최종 배열을 합치는 방법으로 정렬을 하는 방식입니다...
알고리즘에서의 Merge Sort(병합 정렬)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 알고리즘의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 알고리즘을 공부해보고 싶으신 분들 Merge Sort(병합 정렬) Merge Sort(병합 정렬)는 삽입이나 선택 정렬보다 빠른 정렬 알고리즘으로서 분할 및 정복 과정을 통하여 동작하는 알고리즘입니다. 병합 정렬은 재귀 용법을 활용할 정렬 알고리즘으로서, 전체 원소를 가장 작은 단위로 분할한 후 분할한 원소를 다시 병합하면서 정렬하는 분할정복(Divide and Conquer) 방식을 ..
알고리즘에서의 Bubble Sort(거품 정렬)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 알고리즘의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 알고리즘을 공부해보고 싶으신 분들 Bubble Sort(거품 정렬) Bubble Sort는 배열을 순차적으로 두 인접한 원소를 검사하여 정렬하는 정렬 알고리즘입니다. 시간복잡도는 O(n^2)으로 높으나 코드가 단순하기 때문에 많이 사용됩니다. 원소의 이동이 거품이 수면위로 올라가는 듯한 모습을 보여서 붙여진 이름이라고 합니다. 기본 동작 기본적인 알고리즘의 컨셉을 살펴보면 아래와 같습..
알고리즘에서의 Selection Sort(선택 정렬)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 알고리즘의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 알고리즘을 공부해보고 싶으신 분들 Selection Sort(선택 정렬) Selection Sort(선택 정렬)은 배열의 전체 원소들을 중에서 기준 위치에 맞는 원소를 선택하여 자리를 교환하는 방식으로 정렬하는 정렬 알고리즘입니다. 즉 전체 원소 중에서 가장 작은 원소를 찾아서 선택하고 기준 원소와 자리를 교환하는 방식입니다. 동작 흐름 기본적인 알고리즘의 컨셉을 살펴보면 아래와..
알고리즘에서의 Insertion Sort(삽입 정렬)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 알고리즘의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 알고리즘을 공부해보고 싶으신 분들 Insertion Sort(삽입 정렬) Insertion Sort(삽입 정렬)은 정렬 알고리즘으로서 특정 배열에서 처음 요소 왼쪽부터 오른쪽으로 순차적으로 비교해가면서 정렬해 나가는 알고리즘입니다. 동작 흐름 기본적인 알고리즘의 컨셉을 살펴보면 아래와 같습니다. 1. 정렬되지 않는 배열 리스트(더미)가 있습니다. 2. 배열 리스트(더미)에서 숫자..
알고리즘에서의 Binary Search(이진 탐색)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 알고리즘의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 알고리즘을 공부해보고 싶으신 분들 Linear Search(선형 탐색) Linear Search는 가장 단순한 방식의 탐색 방법입니다. 배열의 요소를 처음부터 끝까지 순차적으로 순회하며 원하는 요소를 찾는 방식입니다. 최악의 경우는 모든 배열을 순회하고 나서야 값을 찾거나 찾지 못할 수 있습니다. 따라서 시간복잡도가 0(n)이 될 수 있는 알고리즘입니다. Binary Search(..
알고리즘에서의 Recursive(재귀)에 대하여 Swift를 기반으로 하여 살펴봅니다. #. 구독 대상 컴퓨터 및 소프트웨어 공학과 관련자 소프트웨어 관련 종사자 기타 컴퓨터 공학에 관심이 있으신 분 알고리즘의 개념을 잡고 싶으신 분 기타 소프트웨어 개발과 지식에 관심이 있으신 모든 분들 Swift 언어를 활용하여 알고리즘을 공부해보고 싶으신 분들 Recursive(재귀) Recursive는 우리말로 풀이하면 ‘재귀’ 라는 단어로서 컴퓨터 과학(CS)에서의 재귀는 자신을 정의할 때 자기 자신을 재참고 하는 방법을 뜻합니다. 이를 프로그래밍에서 적용하면 재귀 호출(Recursive call)의 형태로 많이 사용합니다. [재귀 호출의 예] Recursive Function Recursive Function이..