2020.코딩일지
[자료구조] Stack & Queue & Graph [BEB 6th]013일차 본문
코드스테이츠 블록체인 부트캠프 6기
💃자료구조란?
여러 데이터들의 묶음을 저장하고, 사용하는 방법을 정의한 것.
다양한 상황에서 데이터를 효율적으로 다룰 수 있는 방법들을 모두 모아모아~
특정한 상황에 놓인 문제를 해결하는데 특화되어있다!
따라서 많은 자료구조를 알아두면 어떠한 상황이 닥쳤을 때 적합한 자료구조를 빠르고 정확하게 적용하여 문제 해결 가능!
data데이터란?
문자,숫자,소리,그림, 영상 등 실생활을 구성하고 있는 모든 값
데이터 그 자체만으로는 정보를 가지기 어렵다( 나이? 누구,동물,식물 어떤 나이인가?)
데이터는 분석하고 정리하여 활용해야만 의미를 가질 수 있다 - 이거슨빅데이터ㅓㅓㅓ🤓아닌가?
필요에 따라 데이터의 특징을 잘 파악(분석)하여 체계적으로 정리하여 저장해두는게 데이터를 활용하는 데 있어 훨씬 유리!
상황의 예시1) 이름을 아는것만으로도 전화를 걸 수 있는 방법
상황의 예시2) 웹 브라우저에서 뒤로, 앞으로 가는 방법
상황의 예시3) 게임 매칭 시, 수많은 사람들을 통제하는 방법
💃Stack, Queue, Tree, Graph 자료구조 이해 (코테에 자주 등장하는 4가지)
- 알고리즘 문제에서 Stack, Queue 자료구조를 배열로 대체하여 흉내낼 수 있다
- 각 자료구조의 개념,구조 특징 / 적합한 상황 / 목적을 이해할 수 있다.
- 자료구조의 차이점을 이해하기 위해 자료구조 내부를 직접 구현!하여 동작원리 이해!
스택 | 후입선출(ex.엘베) LIFO(Last In First Out) FILO(First In Last Out) |
입출력단방향 / 제한적 접근 입: .push 출: .pop (맨뒤 1개만 뿅) |
웹 앞/뒤로 가기 |
큐 | 선입선출(ex.에컬) FIFO(First In First Out) LILO(Last In Last Out) |
입출력고정( 입: .enqueue 출: .dequeue .shift |
프린터 출력순서,임시기억장치구조 -장치사이의 속도차이, 시간차이 =>버퍼 buffer +원형 큐(Circular Queue) |
트리 | ... | ... | |
그래프 | 여러개의 점들이 서로 복잡하게 연결되어 있는 관계(ex.네트워크망) : 정점(vertex)과 간선(edge)-단방향,양방향 |
... |
버퍼 buffer 란?
💃트리 및 그래프의 탐색 기범에 대해 이해할 수 있다.
- Binary Search Tree를 이해할 수 있다.
- BFS와 DFS의 개념을 이해하고 알고리즘 문제에서 사용할 수 있다.
💃자료구조를 활용하여 알고리즘 문제에 접근할 수 있다.
💃
🤸♀️Advanced Challenge
- Array.prototype에는 Stack, Queue 사용을 위해 어떤 메서드가 존재하는가?
- 배열로 Stack, Queue를 사용할 때 주의해야 할 사항은?
- 배열로 Stack을 사용할때 push, pop 이외에 필요한 메서드는?
- 배열로 Queue를 사용할 때 push, shift 이외에 필요한 메서드는?
- javaScript의 배열과 Stack, Queue는 어떤 차이가 있나?
🏃♀️Futher Study
🤖검색
'algorithm' 카테고리의 다른 글
[코플릿]Algorithm Basic-01_transformFirstAndLast (0) | 2022.07.31 |
---|---|
코플릿[자료구조] Stack & Queue [BEB 6th]013일차 (0) | 2022.07.23 |
[자료구조/알고리즘] 재귀TreeUI [BEB 6th]012일차 (0) | 2022.07.21 |
[자료구조/알고리즘] 재귀Stringify.JSON [BEB 6th]012일차 (0) | 2022.07.21 |
코플릿[자료구조/알고리즘] 재귀적 사고 연습하기 [BEB 6th]011일차 (0) | 2022.07.19 |