본문 바로가기

개발공부_Blog/DataStructure4

Data Structure - Tree Tree 나무를 거꾸로 옮겨 놓은 듯한 모양의 자료구조로써,루트 노드와 자식 노드로 이루어져 계층적 구조를 표현하는 비선형 자료구조다.비선형 자료구조 : 하나의 자료 뒤에 여러가지 자료가 붙을 수 있는 자료구조 트리의 가장 위 노드를 루트라고 하며 , 그 아래 노드를 자식 노드라고 한다. 각 노드는 여러 자식 노드를 가질 수 있으며, 이러한 자식 노드는 자체 자식 노드를 가질 수도 있어 재귀적 구조를 형성한다.  Tree의 사용 계층적 데이터: 파일 시스템, 조직 모델 등데이터베이스: 빠른 데이터 검색라우팅 테이블: 네트워크 알고리즘의 데이터 라우팅정렬/검색: 데이터 정렬, 검색우선순위 큐: 우선순위 큐의 구조는 일반적으로 이진 힙과 같은 트리를 사용  Tree의 종류 이진트리 BinaryTree : 각.. 2024. 10. 29.
Data Structure - Hash Table Hash Table 해시 함수를 사용해 key-value 쌍을 저장하고 검색하는 자료구조이다.Hash = 해시함수 어떤 데이터를 고정된 길이의 값으로 변환하는 함수를 말한다. 해시 함수를 통해 입력된 데이터를 특정 규칙에 따라 숫자나 문자열로 변환하는 역할을 합니다Hash table은 효율적인 탐색을 위한 자료 구조로써 hash함수를 통해 얻은 key-value 쌍의 데이터를 저장하고 검색한다.hash 함수에 key값을 넣어 얻은 해시값을 index 위치로 지정하여 데이터 쌍을 저장한다. 배열과 유사한 형태지만 index가 아닌 해시 값을 통해 데이터를 찾는다.저장, 삭제, 검색의 시간복잡도는 O(1)로 데이터를 순차적으로 검색하는 게 아니라 key값으로 한번에 찾아낸다.  Hash Collision (.. 2024. 10. 29.
Data Structure - Stack Stack ‘쌓다, 올리다’라는 뜻으로LIFO, Last Input First Out 나중에 들어간 것이 먼저 나오는 후입선출의 자료구조다.Stack이 사용되는 곳함수가 다른 함수를 호출할 때의 메모리에 쌓이는 기능뒤로가기 버튼의 Undo기능으로 사용자가 수행한 작업을 되돌리는 기능.push : 맨 뒤의 데이터 추가, pop : 맨 뒤의 데이터 제거JavaScript의 arr - push와 pop메서드를 활용해 구현가능  JavaScript로 Stack구현하기 스택 구현 정의스택에 데이터가 가득 찼는지 / 비었는지 확인하는 연산이 필요하고,데이터를 추가 / 삭제하는 연산도 필요하다.알고리즘을 풀 때 Stack을 사용해 풀어라!!는 말은 없다. 그러니 스택을 적용하는 부분을 감으로 찾을 수 있도록 연습해야.. 2024. 10. 29.
Data Structure - Queue Queue ‘줄을 서다’ 라는 뜻으로FIFO, First Input First Out 먼저 들어간 것이 먼저 나오는 선입선출의 자료구조다.여러 이벤트가 발생했을 때, 작업을 순서대로 처리해야 할 때 Queue가 사용된다.enqueue : 맨 뒤의 데이터 추가 , dequeue : 맨 앞의 데이터 제거JavaScript shift( )메서드 또는 배열을 사용해 구현 가능하다.  JavaScript로 Queue 구현하기 class Queue { items = []; front = 0; rear = 0; enqueue(item) { this.items.push(item); this.rear++; console.log(`Enqueue: ${item} - Queue: [${this.item.. 2024. 10. 29.