🎓 이미 Java를 학습하며 다루어 보았지만, 다시 한번 장단점을 되새겨 보자.
\- .Net에서도 데이터 타입이 같은 컬렉션일 경우 ArrayList의 사용을 지양하고 List<T>를 사용할 것을 권고한다.
자료구조들을 직접 구현해서 사용하는 연습을 해보며 구조에 익숙해져 보자.
📒 갈무리 - 스택(Stack) 📌 스택이란? - 데이터를 쌓아 올린 형태의 자료구조 - LIFO(Last-In-First-Out) 구조(후입선출) ex) 브라우저의 뒤로 가기 기능, Ctrl + z(Undo) 기능 - 스택의 최상단을 'Top'이라 한다.(가장 먼
📒 갈무리 - 큐(Queue) 📌 큐(Queue)란? - 데이터를 일렬로 나열한 구조(먼저 줄을 선 사람이 먼저 나갈 수 있는 상황) - FIFO(First-In-First-Out) : 선입선출 구조 Enqueue : 저장 공간에 데이터를 입력하는 작업 Dequeu
모든 정점을 방문하고자 하는 경우는 DFS, BFS 중 무엇을 사용하여 구현하든 상관없다.
\- 모든 정점에 대해 그 정점에 인접한 노드들을 리스트로 표현한 것
📒 vector\ vs map 📌 문득 vecotr\와 map중 무엇이 더, 어떤 상황에서 효율적인지 궁금해졌다. 매우 작은 vector에서 항목을 찾는 것은 맵에서 동일한 항목을 찾는 것보다 쉽고 더 빠르게 찾을 수 있다고 한다. 그 이유는 vector의 모든 메
레드-블랙 트리는 정렬된 정보를 빠르게 탐색 및 저장하고 알려진 시간 내에 작업이 완료되도록 보장하는 특수한 이진 탐색 트리 구조이다. (균형 이진 탐색 트리)다른 자체 균형 이진 트리와 비교하여 레드-블랙 트리의 노드는 "빨간색"과 "검은색"을 나타내는 "색상"이라는
이진 탐색 트리는 이진 트리 기반의 탐색을 위한 자료구조이다.효율적인 탐색을 위해 고안된 자료구조이다. 모든 노드의 key는 중복되지 않는다.노드는 왼쪽 자식 노드보다 항상 크다.노드는 오른쪽 자식 노드보다 항상 작다. 중앙 값을 알아야하기 때문에 배열에서만 사용할
각각의 데이터(key)를 해시 함수를 통해 index로 변환하여 배열의 해당 index에 데이터를 보관하는 자료구조이다.C++ STL의 unordered_map, unordered_set 등이 이것으로 구현된다. 예를 들어, 영어 사전에 약 100,000개의 단어가