목록Computer Science/Data Structure & Algorithm (6)
Code&Data Insights
[ MAP ] - (key-value) entries and key should be unique! - can store elements in a way that attempts to speed up the process of locating them, through the utilization of keys - main operations: search | insert | delete - methods : get(k), put(k,v), remove(k), entrySet(), keySet(), values(), size(), isEmpty() - we can efficiently implement a map using an unsorted list [ Hash Functions & Hash Table..
- an ADT for storing a collection of prioritized elements; the elements are referred to as values. (ADT - Abstract Data Type, this focuses on the behaviour of a data structure rather than on any implementation detail 데이터 구조를 사용해 코드를 구현하는 것보다 데이터구조가 어떻게 작동하는지에 초점을 맞춘 것) - A key can be used to indicate the priority of a value( key: can be used to indicate the priority of a value..
* What is Tree in Data Structure? : non-linear and an abstract model of a hierarchical data structure. parent-child relation(ex) Organization charts, File Systems, Programming environments * Tree Traversals (1) PreOrder Traversal: Root - Left - Right Algorithm preOrder(x) visit(x) for each child y of x preorder(y) (2) PostOrder Traversal: Left- Right - Root..
Q) I cannot understand how to identify a function with a logN time. - binary search는 주어진 배열을 반으로 나눠 검색하고, 거기서 또 반으로 나누고 검색해서 보통 배열 전체를 하나하나 검색하는 것보다 O(n) 더 조금 걸린다. 이건 뭔가 외우듯이? 알게되고 Time Complexity를 공부하고, 문제를 풀때 뭔가 linear time(O(n)) 이나 o(n^2) 같이 딱 개념이 안 잡혔다. Binary Search Tree 튜토리얼에서 배우고 리뷰하는겸 정리하면서 구글링 하다가 Stack Overflow에서 O(logn)에 대한 설명이 잘 되어있는 것을 찾았다. The most common attributes of the logarith..
What is Hash? (해시란 무엇인가 ) key : value 를 갖는 데이터를 관리하고 유지하는 자료구조 (Data Structure) 중 하나이다. 해시는 배열과 달리 String 타입이나 다른 어떤 데이터형을 기반으로 자료구조를 접근하고 데이터를 관리할 수 있게 해준다. 특히, String을 기반으로 정보를 기록하고 관리해야 할 때 (단순 배열 사용 X) Hash Function : 키 값을 수치( > 0 )로 변환하는 함수 : the method/function performing the conversion is referred to as "hash function" h(x) = x mod N ( for integer keys ) Hash Table : 자료를 해시함수의 결과를 사용해 위치(..
** Big O notation => O(1) : constant time / O(n) : linear time [ Interface vs Data Structure ] Interface : - specification - what data can store - what operations are supported what they mean - problem Data structure: - representation - how to store data - algorithms to support operations - solution 2 main interfaces : set / sequence 2 main Data Structure approaches : arrays / pointer-based * St..