
Hash Table
2022. 7. 28. 23:22
자료구조
Hash Table 해시 테이블은 Key, Value로 데이터를 저장하는 자료구조 중 하나로 빠르게 데이터를 검색할 수 있는 자료구조이다. 해시 테이블에서 데이터는 각 데이터 값에 고유한 인덱스 값이 있는 배열 형식으로 저장된다. 원하는 데이터의 인덱스를 알면 데이터 접근이 빨라진다. 따라서 데이터의 크기에 관계없이 저장 및 검색 작업이 매우 빠른 데이터 구조가 된다. 해시 테이블은 배열을 저장 매체로 사용하고 해시 기술을 사용하여 데이터가 저장되고 위치할 인덱스를 생성한다. Hashing 해싱은 키 값을 배열의 인덱스로 변환하는 기술이다. 해시 테이블은 각각의 키 값에 해시함수를 적용해 배열의 고유 index를 생성한다. 예를 들어 (Key, Value) 값이 (Lisa Smith, 521-8976)인..

Stack
2022. 7. 19. 00:48
자료구조
Stack 한 쪽 끝에서 자료를 넣고 뺄 수 있는 Last in First Out 자료 구조 형태를 말한다. 이는 상자에 물건을 넣고 빼는 것으로 비유할 수 있는데 나중에 상자에 넣은 물건은 먼저 넣은 물건의 위에 위치하게 되며 아래 있는 물건을 꺼내기 위해서는 위에 있는 물건들을 먼저 꺼내야 한다. 자료를 넣는 것을 ‘밀어넣는다’하여 푸쉬라고 하고 반대로 넣어둔 자료를 꺼내는 것을 팝이라고 하는데 이때 꺼내지는 자료는 가장 최근에 푸시한 자료부터 나오게 된다. Stack 사용법 fun main(args : Array) { val stack = Stack() //Stack에 데이터 추가 stack.push(4) stack.push(3) stack.push(2) stack.push(1) //Stack에서 ..

Queue
2022. 7. 16. 22:41
자료구조
Queue 큐는 먼저 집어 넣은 데이터가 먼저 나오는 FIFO 구조로 저장하는 형식을 말한다. 예를 들어 티켓 판매 부수에서 줄을 서서 기다리는 사람들은 온 순서대로 표를 사서 나갈 수 있다. 큐는 put(insert)과 get(delete)을 이용하여 구현된다. 그리고 front는 데이터를 get할 수 있는 위치를 rear는 데이터를 put할 수 있는 위치를 의미한다. 또 큐가 꽉 차서 더 이상 자료를 넣을 수 없는 경우(put 할 수 없는 경우)를 오버플로우, 큐가 비어 있어 자료를 꺼낼 수 있는 경우(get 할 수 없는 경우)를 언더플로우라고 한다. Queue 삽입 : Enqueue val queue: LinkedList = LinkedList() queue.add("하나") queue.add("둘..