목록Computer Science/자료구조 (12)
DNF LOVE
1. 단방향 연결리스트 typedef struct ListNode{ int data; struct ListNode* next; }ListNode; ListNode* Add(int data); void AppendNode(ListNode** Head, ListNode* new_Node); void Serach(ListNode** Head); void Delete(ListNode **Head, int data); void insertNode(ListNode **Head, int data); ListNode* Add(int data) { ListNode* new_Node = (ListNode*)malloc(sizeof(ListNode)); new_Node->data = data; new_Node->next =..

- Set은 Key로 되어있는 자료구조이다. 집합이기 때문에 중복된 데이터는 들어갈 수 없으며 순서가 없다. - Map은 자료 탐색에 이진 탐색 트리를 사용한다. Map 역시 key와 value로 구성되어있지만 hash보다 느리다 (O(longN)), 또한 내부 데이터를 자동으로 정렬해 준다. 이 역시 key에는 중복된 값이 들어갈 수 없다. - Hash Table : 해쉬테이블은 키(Key), 해시함수(Hash function), 해시(hash), 값(value), 저장소(bucket, slot)로 이루어져 있다. - Hash function : 테이블을 입력으로 받아 데이터에 산술 연산을 수행하여 하나의 수를 반환하는 함수이다. 반환한 수는 데이터를 인출하기 위한 테이블의 인덱스로 사용할 수 있다. ..

그래프는 비선형 자료구조이기 때문에 배열처럼 단순한 반복으로 그래프를 조회하는 것은 비효율적이다. 그래프는 각 정점 간의 연결 관계를 사용해 조회하는 방법을 사용한다.(한 정점에서 연결된 다른 정점으로 이동하며 조회한다.) 깊이 우선 탐색(Depth First Search) 너비 우선 탐색(Breadth First Search) [깊이 우선 탐색 - DFS] 깊이 우선 탐색이란? 하나의 경로로부터 도달할 수 있는 모든 노드를 방문한 이후 다른 경로를 조회하는 방법이다. 한 노드로부터 발생하는 모든 경로를 탐색할 때까지 해당 노드 정보는 유지한다. 모든 경우의 수를 검사하거나, 규칙이 복잡한 경로를 탐색할 때 유리하다. 현재 정점에서 갈 수 있는 점들 중 한 곳을 우선적으로 끝까지 탐색한다. 한 번에 하나..