본문 바로가기

Algorithem5

자료구조와 알고리즘 5장 정렬 알고리즘(2) TIL 날짜 2023.12.06 Contents 병합 정렬 퀵 정렬 기수 정렬 정렬 알고리즘의 빅오 표기법 병합 정렬 의미: 분할 정복 알고리즘의 하나이다. 과정 장점 안정적인 정렬 방법 (상대적인 순서 변경X) 입력 데이터가 무엇이든 시간 동일 레코드를 연결 리스트(Linked List)로 구성하면, 데이터의 이동이 작아진다. 소규모의 데이터를 정렬할때 효율적 단점 배열로 구성되어 있을 경우 임시 배열 필요로 추가적인 메모리 필요하다. 대규모의 데이터를 정렬할때는 시간 낭비 발생 함수 function mergeSort(arr){ if(arr.length 2023. 12. 6.
자료구조와 알고리즘 4장 정렬 알고리즘 (1) TIL 날짜 2023.11.30 Contents 의미 및 장단점 자바스크립트 내장 메소드 종류 각 종류들의 차이점 정렬 알고리즘의 의미 의미: 데이터를 특정한 기준에 따라 순서대로 나열하는 알고리즘 장점 간단한 알고리즘이 많아 구현이 쉽다. 정렬된 상태에서의 성능이 우수한 알고리즘이 존재한다. 단점 데이터 크기가 커지면 성능이 떨어지는 알고리즘이 존재 특정한 상황에 따라 최적화된 알고리즘이 필요 일부 알고리즘은 추가적인 메모리를 사용하여 효율성이 떨어진다. 자바스크립트 내장 메소드 Sort sort(): 문자열 순서대로 정렬 sort(): 숫자열을 하면 앞에 있는 맨앞 숫자로 비교한다. sort((a,b)=>a-b): 숫자열 오름차순으로 정렬 sort((a,b)=>b-a): 숫자열 내림차순으로 정렬 정렬.. 2023. 11. 30.
자료구조와 알고리즘 3장 검색 알고리즘 TIL 날짜 2023.11.29 Contents 의미 및 요소 종류 문자열 검색 알고리 검색 알고리즘 의미 및 요소 의미: 검색 문제를 해결하기 위한 알고리즘 요소: 검색 단어, 페이지의 관련성 및 유용성, 출처의 전문성, 사용자의 위치 및 설정 검색 알고리즘의 종류 선형 검색 (순차탐색) 배열을 검색하는 방법 가운데 가장 기본적인 알고리즘 의미: 리스트나 배열과 같은 데이터 구조에서 원하는 값을 찾기 위한 검색 알고리즘 동작 방식: 처음 부터 시작하여 순차적으로 각 요소를 확인하여 진행종료 방식: 원하는 값 발견, 배열의 끝 도달시간 복잡도: Best O(1) Average O(n) Worst O(n) 예시 function linearSearch(arr, val){ // 반복문을 통해 배열의 끝까지 조.. 2023. 11. 29.
자료구조와 알고리즘 2장 재귀 TIL 날짜 2023.11.28 ~ 2023.11.29 Contents 의미 및 요소 재귀 함수 사용하는 이유 예시 재귀 함수 vs 일반 함수 헬퍼 메소드 순수 재귀 의미 및 요소 의미: 원래의 자리로 되돌아오는 것 및 종료점에 도달할때까지 반복적으로 수행하는것 요소 분할 정복 큰 문제를 작아진 부문제들로 쪼개서 문제 해결 베이스 케이스 종료 지점을 지정해줘야 한다. 지정해주지 않으면 무한루프 스택 활용 스택에 새로운 프레임을 추가, 함수의 호출이 계속되는 동안 중간결과를 저장하고 복구하는 데 사용 재귀 함수 의미: 함수 내부에서 자기 자신을 호출하는 함수 규칙: 기반조건이 있어야 한다, 재귀가 반복될 때마다 다른 인풋값이어야 한다. 장점 가독성: 재귀적인 호출을 통해 코드를 간결하게 작성할 수 있습니다.. 2023. 11. 29.