본문 바로가기

Algorithm3

[Algorithm] Algorithm 알고리즘 공부순서 https://gooddaytocode.blogspot.com/2016/05/blog-post_6.html 알고리즘과 입/출력 시간복잡도 시간복잡도는 문제해결에 걸리는 시간, 입력의 함수 관계를 가리킨다. 컴퓨터 과학에서 알고리즘이 시간 복잡도는 입력을 나타내는 문자열 길이의 함수로서 작동하는 알고리즘을 취해 시간을 정량화하는 것이다. 알고리즘의 시간복잡도는 주로 빅 오 표기법을 써서 나타내며 이 빅오 표기법은 계수와 낮은 차수의 항을 제외시키는 방법이다. 빅오 표기법 - 출처: https://coding-factory.tistory.com/608 '아무리 많이 걸려도 이 시간 안에는 끝날 것' 의 개념이 중요하다. 예를 들어 동전을 튕겨서 뒷면이 나올 확률을 이야기해본다면 운이 좋으면.. 2023. 12. 15.
[Algorithm] QuickSort 😁 QuickSort 분할정복 알고리즘 - 문제를 작은 2개의 문제로 분리하고 각각을 해결한 다음, 결과를 모아서 원래의 문제를 해결하는 전략 - 불안정 정렬에 속하며, 비교 정렬에도 속한다. 오늘도 그림만보고 JS로 구현하기 시작. 자세한 내용은 아래 링크 참고. 😁 QuickSort 오름차순 const arr = [5, 3, 8, 4, 9, 1, 6, 2, 7]; //오름차순 function ascendingSort(arr) { let len = arr.length; console.log(arr); let pivot = arr[Math.floor(len / 2)]; console.log(pivot); if(len 2023. 9. 9.
[Algorithm] Bubble Sort 알고리즘에대한 자신감이 없어, 시간이 엄청 걸려도 그림만 보고 JS 코드로 코딩해보려고한다. 아래의 그림은, 아래에 첨부되어있는 링크에서 가져온 이미지 이고, 정리가 너무 잘되어있어서 좋았다. 그림만 보고 아래의 코드를 제작해봤는데 나름 그 전에 알고리즘 공부를 했던 것이 도움이 되었나보다. // 7 4 5 1 3 - 오름차순, 버블정렬 let arr = [7, 4, 5, 1, 3]; let len = arr.length; for(let i=0; i 2023. 9. 7.