본문 바로가기

프로그래밍2

[자료구조] 간단한 Linked List 설명 자Linked List는 말 그대로 Data와 Data간의 Link를 통해서 List를 구현한 것이다. 짜장면 시켜먹으려고 쿠폰북에서 짜장면집 전화번호 일일이 찾는거랑, 114에 전화해서 알아내는 것. 일반 배열과 , Linked list는 그런 차이라고 생각하면 쉽다. Linked list에서 각 노드들은 (자신들의 데이터, 다음 노드의 주소값)을 가지고 있다. 다음 노드의 주소값이 114 역할을 해주고 있는것이다. Linked list를 구현하려면 적어도 3가지 이상의 함수를 만들어야한다. Insert, Delete, Search 함수이다. 2021. 1. 16.
[자료구조] Hash에 대한 간단한 이해 자Hash란? 데이터 관리, 유지를 위한 자료구조. 전화번호부, 투표시스템에 사용되기도 함. 만약 내가 Apple, Banana, Cow라는 세 개의 단어를 입력 시 이 단어는 Hash 함수를 거쳐, Hash code가 된다. 아래의 표를 참고해보자. Index Value A Apple B Banana C Cow D NULL Hash함수가 어떻게 구현이 되었는지 대충 느낌이 올 것이다. 근데 만약 여기서 ABCD라는 단어를 추가로 입력하게 된다면 어떻게 될까? Hash Table에 A인덱스에는 이미 Apple이라는 Value가 있다. 그럼 이때 충돌이라는 현상이 발생하게 된다. 충돌을 해결하는 굉장히 많은 알고리즘이 있다. 하지만 이 글에서는 가장 대중적인 분리연결법(Separate Chaining)을 .. 2021. 1. 16.