본문 바로가기
  • 개발 / 공부 / 일상

Javascript28

(Javascript) [자료구조] Tree(BinarySearch) Tree 관계 기반의 자료구조로, 계층형 구조를 전문적으로 나타낸다 Tree의 최상단을 root node라고 부르며 아래에 연결된 node는 child node class BinaryNode { constructor(data) { this.data = data; this.left = null; this.right = null; } } class BinarySearchTree { constructor(data) { this.root = null; } insert(data) { if (!this.root) { this.root = new BinaryNode(data); return; } let node = this.root; while (true) { if (node.data > data) { if (nod.. 2023. 1. 16.
(Javascript) [자료구조] List(3) 원형 연결 리스트 마지막 노드가 처음 노드를 가리키는 연결 리스트 앞 노드와 뒤 노드가 연결이 되어 있고, 마지막 노드인 꼬리가 첫 노드인 헤드로 연결이 되어 있는 연결 리스트 function Node(data) { this.data = data; this.next = undefined; } function CircularLinkList() { this.head = null; this.tail = null; this.size = 0; } CircularLinkList.prototype.insert = function (data) { if (!this.head) { this.head = this.tail = new Node(data); this.head.next = this.head; } else { th.. 2023. 1. 16.
(Javascript) [자료구조] List(2) 이중 연결 리스트 Double Linked List : 리스트를 이루고 있는 노드 하나에 해당 노드의 값과 다음 노드에 대한 주소, 그리고 자신의 이전 노드에 대한 주소도 갖게 된다. 이에 자신의 다음노드와 이전노드로의 이동이 수월 단일 연결 리스트를 확장하여 양방향으로 링크가 구성되는 이중 연결 리스트를 만들 수 있다. 단일 연결 리스트의 노드가 next 주소만 가지고 있다면, 이중 연결 리스트는 이전주소(prev)와 다음 주소 (next)를 갖는다. class Node { constructor(data) { this.data = data; this.prev = undefined; this.next = undefined; } } class DoubleLinkedList { constructor() { .. 2023. 1. 16.
(Javascript) [자료구조] List(1) List 인덱스가 없이 빈틈없는 데이터를 적재한 배열 배열이 가지고 있는 인덱스라는 장점 대신 빈틈없는 데이터의 적재라는 점이 있는 자료구조 핵심은 엘리먼트들 간의 순서. 순서가 있는 데이터의 모임. 빈 엘리먼트를 허용하지 않는다 처음과 끝, 그리고 중간 엘리먼트까지 추가 및 삭제 가능 리스트에 데이터가 존재하는지 확인하는 기능 리스트의 모든 데이터에 접근할 수 있는 기능 종류 단일 연결 리스트 (Single Linked List) : 리스트를 이루고 있는 노드 하나에 해당 노드의 값과 다음 노드에 대한 주소를 포함. 하지만 이전 노드에 대한 정보는 갖고 있지 않고 다음 노드로만 이동할 수 있다 이중 연결 리스트 (Double Linked List) : 리스트를 이루고 있는 노드 하나에 해당 노드의 값과.. 2023. 1. 16.