반응형

datastructure 2

[자료구조] Linked List에 대해서 알아보자.

오늘은 Linked List(링크드 리스트)에 대해서 알아보는 시간을 갖도록 하겠다. (1) 정의 - Linked List는 연결 리스트라고도 한다. - 노드(Node)와 포인터(Pointer)를 가지고 한 줄로 연결되어 있는 방식의 자료구조이다. - 배열은 순차적으로 연결된 공간에 데이터를 나열하는데 반해 linked list는 떨어진 곳에 존재하는 데이터를 화살표로 연결해서 관리하는 데이터 구조이다. *노드(Node) : 데이터의 저장 단위 (데이터값, 포인터)로 구성 *포인터(Pointer) : 각 노드 안에서, 다음이나 이전의 노드와의 연결 정보를 가지고 있는 공간 (2) 장점 - 미리 데이터 공간을 할당하지 않아도 된다. (배열은 미리 데이터 공간을 할당해야 함) (3) 단점 - 연결을 위한 별..

[자료구조] Hash Table에 대해서 알아보자.

오늘은 자료구조에서 Hash Map에 대해서 알아보는 시간을 갖도록 하겠다. Hash Table (0) 배경 지식 * Hash 임의의 길이의 값을 해시함수(Hash Function)를 사용하여 고정된 크기의 값으로 변환하는 작업을 말한다. * Hash Function 키(Key)를 해시(Hash)로 바꿔주는 역할을 한다. 다양한 길이를 가지고 있는 key를 가지는 hash로 변경하여 저장소를 효율적으로 운영할 수 있도록 도와준다. 다만, 서로 다른 key가 같은 hash가 되는 경우를 해시 충돌(Hash Collision)이라고 하는데, 해시 충돌을 일으키는 확률을 최대한 줄이는 함수를 만드는 것이 중요하다. * Key 고유한 값이며, 해시 함수의 input이 된다. 다양한 길이의 값이 될 수 있다. 이..

반응형