프로그래밍 (4) 썸네일형 리스트형 [프로그래머스] 행렬의 덧셈 문제 설명 문제 풀이 function solution(arr1, arr2) { let answer = []; for(let i = 0; i [JavaScript] Tree(트리) - Binary Search Tree(이진 탐색 트리) 지난 포스팅에서 트리 구조의 이론적인 부분을 학습하였다. 이제 그 이론을 바탕으로 이진 트리를 Javacript언어로 구현하려고 한다. 이진 트리를 구현하는 방법론 이진 트리를 구현하는 방법은 두 가지가 있다. 1. Array(배열)를 이용하는 방법 노드에 번호를 부여하고 그 번호에 해당하는 값을 인덱스 번호로 활용한다. 따라서 배열을 첫 번째 요소인 인덱스 0 직관화를 위해 비워둔다. 2. Linked List(연결 리스트)를 이용하는 방법 Linked List(연결 리스트)기반으로 왼쪽 링크와 오른쪽 링크에 자식 노드를 연결하는 방법이다. 연결 리스트 구조 자체가 트리 구조와 일치 하기 때문에 굉장히 직관적인 이해가 가능하다. 이 방법으로 트리 구조를 구현하는 것은 굉장히 좋은 구현이라고 할 수 있다.. [JavaScript] Queue - Linear Queue(선형 큐) Queue의 개념 큐는 FIFO(Frist In First Out)의 특징을 가지고 있다. 우리나라 말로 선입선출이라고 한다. 예를 들어 마트, 편의점 또는 가게 등에서 처음 들어온 물건을 가장 먼저 파는 것 같은 형태이다. 먼저 진열된 유통기한이 가까운 제품을 먼저 팔거나 가게, 콘서트 등에서 줄을 서고 있는 고객들을 연상시키면 될 것 같다. Linear Queue(선형 큐) 구현 선형 큐란 것은 배열의 공간에 들어간 데이터가 고정되어 데이터를 빼내더라도 초기화하지 않으면 원래 데이터가 있던 배열자리에 더이상 다른 것이 들어갈 수 없는 형태의 Queue이다. 1. class 생성자로 뼈대 만들기 class queueType { constructor(size) { this.maxSize = size; t.. [JavaScript] List - Double Linked List(이중 연결 리스트) Double Linked List(이중 연결 리스트)의 개념 이중 연결 리스트는 Link가 앞 뒤 node와 서로 연결되어 있는 리스트를 말한다. Front Link와 Back Link로 전, 후 노드에 접근이 가능하다는 특징이 있다. 맨 앞에 있는 노드와 맨 뒤에 있는 노드가 서로 연결되어 있어 첫 노드에서 마지막 노드를 검색할 때 시간복잡도가 O(1)로 찾을수 있다는 장점이 있다. Javascript를 이용한 Double Linked List(이중 연결 리스트) 구현 1. 클래스 생성자를 통하여 Data와 Link의 뼈대를 잡아준다. class nodeType{ constructor(item) { this.data = item; this.forwardLink = null; this.backLink =.. 이전 1 다음