Computer Science/Data Structure

Computer Science 모아보기 👉🏻 https://github.com/seoul-developer/CS GitHub - seoul-developer/CS: 주니어 개발자를 위한 전공 지식 모음.zip 주니어 개발자를 위한 전공 지식 모음.zip. Contribute to seoul-developer/CS development by creating an account on GitHub. github.com 💋 인트로 요즘 진행중인 CS 스터디에서 신기한 이야기를 들었다. 바로바로 자바 HashMap은 hash collision을 사용하기 위한 방법으로 separate chaining을 사용하며, 한 인덱스에 충돌된 데이터 개수에 따라, LinkedList와 Tree 구조를 왔다갔다 한다는 정보! ..
Computer Science 모아보기 👉🏻 https://github.com/seoul-developer/CS GitHub - seoul-developer/CS: 주니어 개발자를 위한 전공 지식 모음.zip 주니어 개발자를 위한 전공 지식 모음.zip. Contribute to seoul-developer/CS development by creating an account on GitHub. github.com 💋 B+Tree란? ✔️ 개념 데이터베이스 index에 자주 사용되는 자료구조 B-Tree 계열의 Balanced Tree 종류 중 하나 MySQL의 InnoDB 스토리지 엔진은 주로 B+ Tree를 사용한다. B+ Tree B-Tree에서 파생된 개념이다. B+Tree는 데이터베이스 인덱스와 ..
Computer Science 모아보기 👉🏻 https://github.com/seoul-developer/CS GitHub - seoul-developer/CS: 주니어 개발자를 위한 전공 지식 모음.zip 주니어 개발자를 위한 전공 지식 모음.zip. Contribute to seoul-developer/CS development by creating an account on GitHub. github.com 💋 Trie란? ✔️ 개념 트라이(Trie)는 문자열을 저장하고 효율적으로 탐색하기 위한 트리 형태의 자료구조 검색 자동완성 기능 등 문자열을 탐색하는데 특화되어있는 자료구조 주로 문자열을 저장하고 검색하는 데 사용된다. Trie 자료구조는 컴퓨터공학 과목에서 본격적으로 다루는 자료구조는 아니다..
Computer Science 모아보기 👉🏻 https://github.com/seoul-developer/CS GitHub - seoul-developer/CS: 주니어 개발자를 위한 전공 지식 모음.zip 주니어 개발자를 위한 전공 지식 모음.zip. Contribute to seoul-developer/CS development by creating an account on GitHub. github.com 💋 Graph란? ✔️ 개념 node(정점)과 edge(간선)으로 구성된 비선형 데이터 구조 node의 집합(V)과 edge의 집합(E)으로 이루어져 있다 ⇒ G(E, V)로 표기 ✔️ 구성 요소 Vertices nodes, 정점으로도 부른다. 그래프의 기본 단위 각 노드는 레이블이 지정될 수도..
Computer Science 모아보기 👉🏻 https://github.com/seoul-developer/CS GitHub - seoul-developer/CS: 주니어 개발자를 위한 전공 지식 모음.zip 주니어 개발자를 위한 전공 지식 모음.zip. Contribute to seoul-developer/CS development by creating an account on GitHub. github.com 💋 Set ADT ✔️ 개념 데이터를 저장하는 추상 자료형 순서 보장 X 데이터 중복 X ✔️ 주요 동작 삽입(Insertion) 새로운 원소를 집합에 추가하는 동작 집합에 이미 존재하는 원소는 중복으로 삽입되지 않는다. 삭제(Removal) 주어진 원소를 집합에서 제거하는 동작 포함 여부(Co..
Computer Science 모아보기 👉🏻 https://github.com/seoul-developer/CS GitHub - seoul-developer/CS: 주니어 개발자를 위한 전공 지식 모음.zip 주니어 개발자를 위한 전공 지식 모음.zip. Contribute to seoul-developer/CS development by creating an account on GitHub. github.com 💋 Map ADT ✔️ 개념 key-value 쌍을 저장한다. key는 중복되지 않는다. associative array, dictionary라고도 부른다. ✔️ 주요 동작 put(key, value): 지정된 키에 값을 연관시킵니다. 만약 이미 해당 키에 값이 존재한다면, 기존 값은 새로운 값..
Computer Science 모아보기 👉🏻 https://github.com/seoul-developer/CS GitHub - seoul-developer/CS: 주니어 개발자를 위한 전공 지식 모음.zip 주니어 개발자를 위한 전공 지식 모음.zip. Contribute to seoul-developer/CS development by creating an account on GitHub. github.com 💋 DB 인덱스가 B-Tree 자료구조를 사용하는 이유 데이터베이스의 인덱스는 B-Tree 자료구조를 사용한다. ✔️ 시간 복잡도 B-Tree 계열의 B+Tree, B*Tree 균형 트리이기 때문에 평균과 최악의 경우 모두 O(logN)의 시간 복잡도를 가진다. 이진 탐색 트리 균형이 얼추 맞는..
Computer Science 모아보기 👉🏻 https://github.com/seoul-developer/CS GitHub - seoul-developer/CS: 주니어 개발자를 위한 전공 지식 모음.zip 주니어 개발자를 위한 전공 지식 모음.zip. Contribute to seoul-developer/CS development by creating an account on GitHub. github.com 💋 B-Tree란? ✔️ 개념 이진 탐색 트리를 일반화한 트리다. Binary-Tree 라고 오해를 하지만 Balanced-Tree 를 의미한다. 따라서, 이진 탐색 트리와 비교하면 더 이해가 쉽다! 일반적인 이진 탐색 트리에서는 각 노드가 최대 두 개의 자식 노드를 가지지만, B-Tree에서는..
Computer Science 모아보기 👉🏻 https://github.com/seoul-developer/CS GitHub - seoul-developer/CS: 주니어 개발자를 위한 전공 지식 모음.zip 주니어 개발자를 위한 전공 지식 모음.zip. Contribute to seoul-developer/CS development by creating an account on GitHub. github.com 💋 인트로 앞선 이진 탐색 트리에 관한 포스팅에서 마지막에 소개한 단점에 대한 부분에 주목해보자. 이진 탐색 트리는 트리가 구조적으로 한쪽으로 편향되면 모든 동작의 수행 시간이 악화된다. 이진 탐색 트리가 변질 이진 트리에 가까운 모양으로 (한쪽으로 치우쳐) 생긴 경우에, 삽입/삭제/탐색에 O(..
Computer Science 모아보기 👉🏻 https://github.com/seoul-developer/CS GitHub - seoul-developer/CS: 주니어 개발자를 위한 전공 지식 모음.zip 주니어 개발자를 위한 전공 지식 모음.zip. Contribute to seoul-developer/CS development by creating an account on GitHub. github.com 💋 이진 탐색 트리 ✔️ 개념 이진 트리 ⇒ 모든 노드가 최대 두 개의 자녀 노드를 가지는 트리 탐색 트리 ⇒ 모든 노드의 왼쪽 서브 트리는 노드의 값보다 작은 값만 가지고, 모든 노드의 오른쪽 서브 트리는 노드의 값보다 큰 값들만 가지는 트리 ✔️ 특징 이진 탐색 트리의 최소값은 트리의 가장 ..
깃짱
'Computer Science/Data Structure' 카테고리의 글 목록