정렬 알고리즘: 자바스크립트 - 삽입 정렬🚀
* 🤓 INTRODUCTION
* 👉🏻 ABOUT INSERTION SORT ALGORITHM
* 🃏 PLAYING CARDS ANALOGY
* 🖖🏻 PSEUDOCODE
* 🛠 IMPLEMENTATION
* 👩🏻💻 CODE
* 🙏 THANK YOU
🤓 소개
Top of the day, my dear coders! I hope you are all having a beautiful day. Welcome to another chapter of the Sorting algorithms with JavaScript series. Today we are talking about the Insertion Sort algorithm!
The best programs are written so that computing machines can perform them quickly and so that human beings can understand them clearly. A programmer is ideally an essayist who works with traditional aesthetic and literary forms as well as mathematical concepts, to communicate the way that an algorithm works and to convince a reader that the results will be correct. - Donald Knuth
Let's dive in! 🤿
👉🏻 삽입 정렬 알고리즘에 대하여
Insertion sort algorithm solves the sorting problem:
Input: A sequence of n numbers
Output: A permutation (reordering) of the input sequence
The numbers that we want to sort, are also known as keys. Input is usually an array of n elements.
Insertion sort algorithm is an efficient algorithm for sorting a small number of elements.
🃏 트럼프 카드 유추
Insertion sort works the way many people sort a hand of playing cards.
STEPS
- We start with an empty left hand and the cards face down on the table.
- We remove one card at a time from the table and insert it into the correct position in the left hand.
- To find the correct position for a card, we compare it with each of the cards already in the hand (right to left)
- At all times, the cards held in the left hand are sorted, and these cards were originally the top cards of the pile on the table
🖖🏻 슈도코드
In this chapter, I will also introduce you to pseudocode. Pseudocode is an artificial and informal language that helps us programmers develop algorithms. Pseudocode is a "text-based" detail (algorithmic) design tool. The rules of Pseudocode are reasonably straightforward.
We will call this pseudocode (procedure) INSERTION-SORT-ALGO. It will take an array A[1...n], that contains a sequence of length n that is to be sorted. This procedure will rearrange the numbers within array A, with at most a constant number of them stored outside the array at any time.
INSERTION-SORT-ALGO(A: array)
1 for j = 2 to A.length
2 key = A[j]
3 //Insert A[j] into the sorted sequence A[1...j-1]
4 i = j - 1
5 while i > 0 and A[i] > key
6 A[i+1] = A[i]
7 i = i - 1
8 A[i+1] = key
Let's say that our array A looks like this: [9, 5, 6, 12];
The iteration of the loop starting at 1 and ending at 8, in each iteration, the black rectangle holds the key taken from A[j] which is compared to its left-hand side elements.
🛠 구현
Let's see an implementation, but we will work with a larger dataset. For example, let our array be: [5, 9, 6, 12, 1, 2, 34, 15, 7]
👩🏻💻 코드
Play with the code! 🕺🏻
🙏 읽어주셔서 감사합니다!
References:
School notes...
School books...
Please leave a comment, tell me about you, about your work, comment your thoughts, connect with me!
☕ SUPPORT ME AND KEEP ME FOCUSED!
즐거운 해킹 시간 되세요! 😊
Reference
이 문제에 관하여(정렬 알고리즘: 자바스크립트 - 삽입 정렬🚀), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/codespresso/sorting-algorithms-javascript-insertion-sort-3goa
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
School notes...
School books...
Reference
이 문제에 관하여(정렬 알고리즘: 자바스크립트 - 삽입 정렬🚀), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/codespresso/sorting-algorithms-javascript-insertion-sort-3goa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)