자료구조 2

쓰이는 자료구조 - Hash Table

1. 왜, 해시 테이블인가? - 해시: 어떤 값을 고정된 길이로 변환하는 것 - 해싱 함수(Hashing Function): Key에 대해 산술 연산(고정된 길이로 변환)을 수행하여 데이터 위치를 찾을 수 있는 값을 출력하는 함수 - 해시 값(=해시 주소): Key를 해싱 함수로 연산하여 얻은 값. 이를 기반으로 해시 테이블에서 Key에 대한 데이터 위치를 찾을 수 있다. - 해시 테이블: K(=Key, 키)에 V(=Value, 데이터)를 저장하는 데이터 구조 -> 빠른 검색을 할 수 있다. 그 과정을 예로 들어볼까. 실제로는 복잡하겠지만, 이해를 위해 간단하게 예를 들어보겠다. - 해싱 함수: K % 8 - 해시 테이블 크기: 8 (8개의 데이터를 저장할 수 있는 공간) 전화번호부가 있다. 총 8명의 ..

쓰이는 자료구조 - Array, Stack, Queue

모든 학문이 그렇듯, CS(Computer Science)역시 base가 잘 잡혀있어야 그를 기반으로 응용해나갈 수 있다. 백엔드 개발을 예로 들어볼까. 유저(클라이언트)를 대상으로 어떤 서비스를 제공하는 시스템을 개발하고 싶다. 그러기 위해선, 시스템을 구축하기 위한 Framework 기술을 알아야하고, 이를 배포 및 운영할 수 있는 Server 지식도 알아야하며, 데이터 관리를 위한 기술도 알아야한다. 그 중에서 가장 중요한 내용은 뭘까. 우리의 목표는 고객을 대상으로 "서비스"를 제공하는 것이라 했는데, 앞서 말했던 정보들은 서비스를 제공하기 위한 "수단"으로써 필요한 내용들이다. 본질은 "서비스"이다. 이 서비스를 비지니스 로직에 따라 처리될 수 있도록 구현하는 능력. 이는 자료구조 및 알고리즘에..