본문 바로가기

자료구조,알고리즘26

2. 연결 리스트-remove(), removeAt(), indexOf() remove() 풀이 - value 데이터를 찾아서 노드를 삭제한다. - 삭제할 value 값이 없으면 null, 있으면 해당 값을 반환하면서 길이 줄이는 함수를 만든다. 1. while 반복문에서 current.data가 value와 일치하는 지점까지 찾는다. prev는 current의 뒷 노드를 가리킨다. 2. if문에서 this.head와 같을 경우에는 this.head를 current.next(current의 다음)으로 넘겨준다. 3. if문에서 this.head와 다를 경우에는 prev.next(이전 노드)를 current.next(다음 노드)로 넘겨준다. // remove(): value 데이터를 찾아서 노드 삭제 LinkedList.prototype.remove = function(value.. 2022. 8. 7.
1. 연결 리스트-Node, printNode(), append() 연결 리스트 (Linked List) - 각 노드가 데이터와 포인트를 가지며 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조 - 배열에 비해 자료 추가/삭제가 쉽지만 자료를 찾을 때는 무조건 순회하는 과정이 필요하다는 단점이 있다. (찾으려는 학생이 100만 명일 때는 배열이 훨씬 효율적) - Node() : data와 point(연결)를 가지고 있는 객체 노드 추가 / 삭제 //Node() function Node(data) { this.data = data; this.next = null; } //LinkedList(): head와 length를 가지고 있는 객체 function LinkedList() { this.head = null; this.length = 0; } // size().. 2022. 8. 7.
수학 기본 1 : 알고리즘 복잡도 알고리즘 복잡도(시간 복잡도) - 입력 크기의 값에 대해 단위 연산을 몇 번 수행하는지 계산하여 알고리즘의 수행시간을 평가하는 방법 - 3가지 점근적 표현법 빅오: 최악의 상황을 고려하여 성능 측정 결과 표현 세타: 평균적인 경우에서의 성능 측정 결과 표현 오메가: 최선의 상황일 때의 성능 측정 결과 표현 빅오 표기법 O(1) function big_o(n) { let sum = 0; // 1회 sum = n * 2; // 1회 return sum; // 1회 } O(N) function big_o(arr,n){ let sum = 0; // 1회 for(let i = 0; i < n; i++){ sum += arr[i]; // n회 } return sum; // 1회 } O(N²) function big.. 2022. 7. 29.
JS기초 17 : N차원 Array N차원 배열 - 배열(Array) 안에 N개 만큼의 배열이 존재하는 객체 - 2/3차원 지도 정보, RGB를 저장하고 2차원 사진 파일 등을 표현할 때 활용 가능 2차원 배열 예제 - 2차원 배열은 array[N][M]으로 접근하며 배열(Array) 전체를 push(), pop() 가능 let array = [ [101, 102, 103], [201, 202, 203], [301, 302, 303] ]; console.log(array); // [ [ 101, 102, 103 ], [ 201, 202, 203 ], [ 301, 302, 303 ] ] console.log(array[0]); // [ 101, 102, 103 ] console.log(array[1][0]); // 201 console.lo.. 2022. 7. 27.
JS기초 16 : Date Date - 표준 Built-in 객체로서 날짜와 시간을 위한 속성값과 메서드를 제공하는 객체 - Date 객체는 1970년 1월 1일 UTC 자정과의 시간 차이를 밀리초로 나타내는 정수 값으로 표현 - 생성자 및 메서드 Date 객체 생성자 : new Date() 현재 시간 기준 문자열 : Date() 날짜 정보 얻기 (년/월/일) : Date.getFullYear(), Date.getMonth(), Date.getDate() 날짜 정보 얻기 (시/분/초/ms) : Date.getHours(), Date.getMinutes(), Date.getSeconds() 날짜 정보 설정 (년/월/일) : Date.setFullYear(), Date.setMonth(), Date.setDate() 날짜 정보 설정 .. 2022. 7. 27.
반응형