본문 바로가기

개발47

우선순위 큐 우선순위 큐는 우선순위가 가장 높은 데이터를 가장 먼저 삭제하는 자료구조 입니다.우선순위 큐는 데이터를 우선순위에 따라 처리하고 싶을 때 사용합니다.예) 물건 데이터를 자료구조에 넣었다가 가치가 높은 물건부터 꺼내서 확인해야 하는 경우.각각의 물건정보를 가치데이터와 함께 우선순위 큐에 넣었다가 꺼낼때에는 항상 가치가 높은 값부터 꺼내게 되는 구조.  우선순위 큐를 구현하는 방법은 다양합니다.단순히 리스트를 이용하여 구현할 수 있습니다.힙(heap)을 이용하여 구현할 수 있습니다.데이터의 개수가 N개일 때, 구현 방식에 따라서 시간 복잡도를 비교한 내용은 다음과 같습니다. 단순히 N개의 데이터를 힙에 넣었다가 모두 꺼내는 작업은 정렬과 동일합니다.(힙 정렬)이경우에 시간 복잡도는 O(NlogN)입니다. 따.. 2024. 8. 14.
[JS] Map과 Set Map은 key-value를 쌍으로 저장하는 객체입니다.Map은 한쌍의 key 와 value를 저장하며, 객체와 달리 키로 사용할 수 있는 모든 유형을 사용할 수 있습니다.(객체(Object)에서는 key값이 문자열로 저장된다.) Map은 키가 정렬된 순서로 저장되기 때문에, 추가한 순서대로 반복할 필요가 없습니다. Map을 사용하면 다음과 같은 작업을 수행할 수 있습니다.💡 **[맵에는 다음과 같은 주요 메서드와 프로퍼티가 있습니다]**- `new Map()` – 맵을 만듭니다.- `map.set(key, value)` – `key`를 이용해 `value`를 저장합니다.- `map.get(key)` – `key`에 해당하는 값을 반환합니다. `key`가 존재하지 않으면 `undefined`를 반환합니.. 2024. 8. 13.
[JS] 일급 객체로서의 함수 함수가 일급 객체로 취급되는 5가지 경우. 1. 변수에 함수를 할당함수는 변수에 할당할 수 있습니다. 함수는 값으로 취급되기 때문에, 다른 변수와 마찬가지로 변수에 할당할 수 있습니다.변수에 할당된 함수는 나중에 사용할 수 있습니다.const sayHello = function() { console.log('Hello!');};sayHello(); // "Hello!" 출력// 그냥 함수를 선언하는 방식에 있던것 중 하나로 변수명을 먼저 선언하고 거기에 함수를 할당할 수 있었다. 2. 함수를 인자로 다른 함수에 전달.함수는 다른 함수에 인자로 전달될 수 있습니다. 함수가 값으로 취급되기 때문에, 다른 함수의 인자로 전달할 수 있습니다.이것은 콜백이나 고차 함수를 작성하는 데 사용됩니다.function .. 2024. 8. 13.
[JS] 객체 메소드 객체를 사용할때 이용할 수 있는 메소드들을 정리 한다. 1. Object.keys()let person = { name: "홍길동", age: 30, gender: "남자"};let keys = Object.keys(person);console.log(keys); // ["name", "age", "gender"]Object.keys()로 인자로 객체를 넣어주면 해당 객체안에 존재하는 key값들을 문자열로 가지는 배열로 반환한다. 2. Object.values() let person = { name: "홍길동", age: 30, gender: "남자"};let values = Object.values(person);console.log(values); // ["홍길동", 30, "남자".. 2024. 8. 12.