목록알고리즘 (37)
seunghyun Note
링크 : https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 문제 풀이 힙을 복습해보자! 2024.02.23 - [코딩테스트/코테를 위한 알고리즘 & 자료구조 정리] - Binary Heaps with JS Binary Heaps with JS 단일 연결 리스트 이중 연결 리스트 스택 & 큐 (배열로 하는 방법은 숙지했음! linked list로 구현해 보기) 이진 검색 트리 트리 순회 (bfs,dfs) 이진 힙 해시 테이블..
깊이 우선 (DFS) preorder, inorder, postorder 재귀함수 사용해서 문제 해결하기 //Node를 생성한다. class Node { constructor(value) { this.value = value; this.left = null; this.right = null; } } //BST class BinarySearchTree { constructor() { this.root = null; } insert(value) { var newNode = new Node(value); if (this.root === null) { this.root = newNode; return this; } var current = this.root; while (true) { if (value === ..
단일 연결 리스트 이중 연결 리스트 스택 & 큐 (배열로 하는 방법은 숙지했음! linked list로 구현해 보기) 이진 검색 트리 트리 순회 (bfs,dfs) 이진 힙 해시 테이블 (사용해 봤지만 복습) 그래프, 그래프 순회 다익스트라 알고리즘 동적 프로그래밍 트리 순회 소개 트리를 순회하는데는 두 가지 방식이 있다. 너비 우선 (BFS) 깊이 우선 (DFS) preorder, inorder, postorder BFS 너비우선탐색 - use Queue(Array & list) : FIFO(first in first out) 아래코드를 보면 1~7번까지 순서로 이동한다. class Node { constructor(value) { this.value = value; this.left = null; th..
링크 : https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 1. LRU 알고리즘을 이해하자 (push & shift)를 사용하기 [정보처리기사에서 본듯..?] https://dailylifeofdeveloper.tistory.com/355(여기 참고!) LRU 알고리즘 (Least Recentely Used) 개념 및 구현방법 안녕하세요! daily_D 입니다! 👩🏻💻 오늘은 페이지 교체 알고리즘 중에서 LRU에 대해서 공부해볼까요?..
단일 연결 리스트 이중 연결 리스트 스택 & 큐 (배열로 하는 방법은 숙지했음! linked list로 구현해 보기) 이진 검색 트리 트리 순회 이진 힙 해시 테이블 (사용해 봤지만 복습) 그래프, 그래프 순회 다익스트라 알고리즘 동적 프로그래밍 스택은 후입선출 원칙에 따라 데이터를 추가하고 제거하는 데이터 구조이다. 배열을 사용할 때 js 내에 stack.pop(), stack.push(value) ,stack.unshift(value) 등이 있지만 이것을 기계적으로 사용하다보면 문제를 바라볼 때 이해가 안될때가 많다. 그렇기 때문에 linked list를 통해 원리를 이해하는 것이 중요하다. Stack class setting Node 클래스는 연결리스트이기 때문에 똑같다. stack은 연결리스트에서..
단일 연결 리스트 이중 연결 리스트 스택 & 큐 (배열로 하는 방법은 숙지했음! linked list로 구현해 보기) 이진 검색 트리 트리 순회 이진 힙 해시 테이블 (사용해 봤지만 복습) 그래프, 그래프 순회 다익스트라 알고리즘 동적 프로그래밍 이중 연결리스트를 왜 사용하는지 몰랐는데.. 최근에 풀었던 덱 문제를 풀면서 시간복잡도가 커짐을 느끼고 이중 연결리스트를 사용해서 문제를 해결했던 기억이 있다. 이중 연결리스트는 일반 연결리스트와 달리 prev, next가 생긴 것이다. 조금 더 복잡해졌지만 그만큼 효율이 좋은 거 같다. Class Setting 기본 세팅은 Linked List와 비슷하지만 추가되는 것이 있다. class Node{ constructor(val){ this.val = val; ..