반응형

javascript 3

[자료구조] 자바스크립트로 우선순위 큐(Priority Queue) 구현하기

우선순위 큐란? - 일반적인 큐는 선입선출 (FIFO)원칙에 따라 데이터가 처리된다. - 우선순위 큐는 각 데이터들이 우선순위가 있어서, 큐에 들어온 순서는 차순위가 되고 정해진 우선순위에 따라 데이터가 큐에서 나가게 된다. Heap 자료구조 - Heap 자료구조는 완전 이진트리의 일종이다. - 완전이진트리란 루트 노드부터 시작하여 왼쪽 자식, 오른쪽 자식 순서대로 데이터가 삽입되는 트리를 말한다. - Heap은 항상 루트 노드를 제거하는 식으로 동작한다. - 자바스크립트로 우선순위 큐를 구현하는데 있어서 이 Min Heap (최소 힙) 자료구조를 사용한다. - 최소 힙은 부모 노드가 항상 자식 노드보다 값이 작다는 특징을 갖고 있다. 일반 배열을 사용하지 않는 이유는 무엇일까? - 데이터를 조회하기 위..

Computer Science 2024.03.09

[Javascript] 이터러블과 이터레이터 프로토콜

0. iteration protocol의 등장 배경 ES6 이전에는 순회 가능한 데이터 컬렉션(자료구조)가 명확한 통일된 규약 없이 각자의 구조를 갖고 나름의 방식(for...in문으로 순회한다던지...forEach문으로 순회한다던지...)으로 순회할 수 있었다. 그러나 ES6부터는 이 순회 가능한 데이터 컬렉션을 이터레이션 프로토콜을 준수하는 이터러블로 통일하였다. 그리고 이 이터러블이 for...of문, 스프레드 문법, 배열 구조분해할당(destructuring)을 사용할 수 있게 된다. 각각의 순회가능한 자료구조(Array, String, Map/Set 등)를 데이터 공급자 라고 하고, 그것을 순회하여 사용하는 방식(스프레드문법, for..of문, 배열 디스트럭처링 할당 등)을 데이터 소비자라고 하..

Frontend 2024.01.25

[TypeScript] '타입스크립트가 정적 트랜스파일링 언어이다' 라는 것의 의미

요즘 프론트엔드 개발자 공고에서 빠지지 않는 것 중 하나는 바로 Typescript 활용 능력이다. 'Typescript가 타입을 지정하고 큰 프로젝트에서는 안정성이 좋다' 이런 얘기들은 많이 들어봤지만 구체적으로 어떤 특징을 갖고, 왜 협업과 큰 프로젝트에서 좋은지 javascript와 비교해보면서 구체적으로 살펴보고자 한다. 정적 타입 언어 vs 동적 타입 언어 Typescript는 정적 타입 언어이다. Typescript는 정적 타입 언어이다. 정적이다는 영어로, static이며 동적(dynamic) 이라는 단어와 반대되는 뜻이다. 한마디로 움직이지 않고 정해져있다는 뜻인데, 그렇다면 타입이 정적이다는 무슨 뜻이고 동적이다는 무슨 뜻인걸까? function sum ( a: number, b: num..

Frontend 2024.01.10
반응형