2sjin
2sjin
2sjin

블로그 메뉴

  • My GitHub
  • 전체 게시글
    • UNIX 이론 정리
    • Linux
      • Linux 관련 노하우
      • Linux 과제
      • OracleCloud & Ubuntu
      • Tomcat Server
      • MySQL Server
      • 구름 OS
      • 라즈베리파이4
    • 데이터베이스
      • DB 관련 노하우
      • DB 과제
      • DB 프로젝트
    • Unity
    • Computer Science
      • 통신 & 네트워크
      • 자료구조 & 알고리즘
      • 운영체제
      • 정보보호
      • 기타 분야
    • 소프트웨어
      • 소프트웨어공학
      • 프로그래밍 언어

공지사항

인기 글

태그

  • 개인 Term Project
  • 팀 프로젝트

최근 글

티스토리

전체 방문자
오늘
어제
hELLO · Designed By 정상우.
2sjin

2sjin

[알고리즘 과제] 해싱(Hashing)
Computer Science/자료구조 & 알고리즘

[알고리즘 과제] 해싱(Hashing)

2022. 10. 3. 15:56

1. 해싱(Hashing)이란?

데이터를 해시 함수(Hash Function)를 이용하여 해시 테이블(Hash Table) 내에서 주소값 계산 후, 빠르게 저장하고 원하는 데이터를 빠르게 검색할 수 있도록 하는 알고리즘.

 

[해싱 알고리즘]
① 데이터를 매개 변수로 입력
② 데이터로부터 테이블 내의 주소를 해시
③ 주소를 이용하여 요소에 접근

 

2. 해싱(Hashing) 알고리즘 성능

  • 일반적으로 O(1)
  • Overflow 또는 Collision 발생 시에는 O(1)보다 성능이 떨어진다.
  • 성능 향상을 위해 Hash Table의 크기를 적절히 크게 할 필요가 있다.

 

3. 해싱(Hashing) 의 활용

  • 소량의 데이터를 처리할 때(데이터 개수가 많지 않을 때) 적합한 알고리즘
  • 운영체제, DB, 네트워크 등 여러 분야에서 소량의 데이터를 처리할 때 사용
  • 데이터의 위·변조를 막기 위해 전자서명이나 보안 알고리즘 등에 사용
 

'Computer Science > 자료구조 & 알고리즘' 카테고리의 다른 글

[알고리즘 과제] 스택의 응용: 사칙연산  (1) 2022.10.04
[알고리즘 과제] 이진 트리 순회 및 표기식(전위, 중위, 후위)  (1) 2022.10.04
[알고리즘 과제] 퀵 정렬(Quick Sort) 알고리즘  (0) 2022.10.03
[알고리즘 과제] 연결 리스트 삽입 및 삭제  (0) 2022.10.03
[알고리즘 과제] 알고리즘 분석 방법  (0) 2022.10.03
'Computer Science/자료구조 & 알고리즘' 카테고리의 다른 글
  • [알고리즘 과제] 스택의 응용: 사칙연산
  • [알고리즘 과제] 이진 트리 순회 및 표기식(전위, 중위, 후위)
  • [알고리즘 과제] 퀵 정렬(Quick Sort) 알고리즘
  • [알고리즘 과제] 연결 리스트 삽입 및 삭제
2sjin
2sjin

티스토리툴바