본문 바로가기

it/javascript3

자료구조 - 스택 with javascript 안녕하세요 기공준입니다. 이번 글에서는 스택에 대해서 간단하게 알아보고 javascript를 이용해서 스택을 구현해보겠습니다. 스택은 목록의 끝에서만 접근할 수 있는 나열 구조입니다. 스택은 한쪽 끝에서만 자료를 넣거나 뺄 수 있는 선형구조(LIFO - Last In First Out)로 되어 있습니다. 자료를 밀어 넣는 것을 push라 하고 반대로 넣어둔 자료를 꺼내는 것을 pop이라고 합니다. 이때 꺼내지는 자료는 가장 최근에 push 한 자료부터 나오게 됩니다. 이처럼 나중에 넣은 값이 먼저 나오는 것을 LIFO(Last In First Out) 구조라고 합니다. 연산 top() : 스택의 가장 윗 데이터를 반환. 스택이 비었다면 연산 정의 불가 pop(): 스택의 가장 윗 데이터를 삭제한다. 스택.. 2021. 3. 29.
삽입 정렬 알고리즘(insertion sort Algorithm) - javascript 안녕하세요 기공 준입니다. 이번에는 삽입 정렬에 대해 알아볼 건데요 간단한 설명과 예제 및 코드로 글을 마무리하겠습니다. 삽입 정렬은 자료 배열의 모든 요소를 이미 정렬된 배열 부분과 앞에서부터 차례대로 비교하여, 자신의 위치를 찾아 삽입하는 정렬입니다. 배열이 길어질수록 효율이 떨어지지만 구현이 아주 간단하다는 장점이 있습니다. 시간 복잡도는 O(n²)입니다. 예제 [3,2,5,10,33,51,20,16] 시작 [2,3,5,10,33,51,20,16] 2 삽입 [2,3,5,10,33,51,20,16] 패스 [2,3,5,10,33,51,20,16] 패스 [2,3,5,10,33,51,20,16] 패스 [2,3,5,10,33,51,20,16] 패스 [2,3,5,10,20,33,51,16] 20 삽입 [2,3.. 2021. 3. 26.
선택 정렬 알고리즘(selection sort Algorithm) - javascript 안녕하세요 기공준입니다. 이번 글은 선택 정렬 알고리즘에 대한 글입니다. 선택 정렬 알고리즘은 정렬 알고리즘 중에 하나이고 알고리즘이 대단히 단순하기 때문에 메모리가 제한적인 경우에 사용하면 성능상의 이점이 있다고 합니다. 시간 복잡도는 O(n²)입니다. 선택 정렬을 하는 방법은 아주 간단합니다. 1. 주어진 리스트 중에 최소값을 찾는다. 2. 그 값을 맨 앞에 위치한 값과 교체한다. 3. 맨처음 위치를 뺀 나머지 리스트를 같은 방법으로 진행한다. 예제 [5,2,22,4] [2,5,22,4] [2,4,22,5] [2,4,5,22] 예제 코드 - javscript const selectionSort = (array) => { let minIdx; let tempValue; for(let i=0;i 2021. 3. 23.