반응형 분류 전체보기1310 [Hash] 문자열 Hash 고찰 문자열 Hash 고찰 문자열 Hash (djb2)에서 문자열 → 정수로 변환해서 Hash 구현이 가능해진 것을 확인할 수 있었다. unsigned long djb2(const char* str) { unsigned long hash = 5381; int c; while (c = *str++) { hash = (((hash 2021. 6. 12. 문자열 Hash (djb2) 문자열 Hash (djb2) 해당 게시글 전에 아래 내용을 먼저 읽어보시면 좋습니다. - [해시] Hash란? - [해시] Hash Chaining 기법 구현 Hash 성능에 있어서 Hash Index 충돌을 낮추는 것이 중요하다. Hash 충돌을 처리하는 방법은 크게 2가지로 구분할 수 있다. Chaining 기법 과 Open Address 기법 이다. 위 2 가지는 충돌이 발생하는 경우 처리이지만 Key에 해당하는 Hash Index를 구하는 것도 여러 알고리즘이 존재한다. // djb2 unsigned long djb2(const char* str) { unsigned long hash = 5381; int c; while (c = *str++) { hash = (((hash 2021. 6. 12. 컴퓨터 예약 종료 기능 아이콘 만들기 컴퓨터 예약 종료 아이콘 만들기 지난 [Windows] shutdown 명령어를 통한 컴퓨터 종료 예약에서 컴퓨터 (예약) 종료하는 명령어 shutdown에 대해서 살펴보았습니다. 이번 글에서는 해당 명령어를 아이콘으로 생성해서 활용하는 방법을 소개합니다. [Windows] shutdown 명령어를 통한 컴퓨터 종료 예약 다운로드와 같은 작업이 끝나고 PC를 종료하고 싶은데, 그 순간까지 계속 기다릴 수 없다. Windows OS에서는 간단한 명령어를 통해서 PC를 강제 종료 및 예약 종료할 수 있다. 명령어는 명령 프롬프 zoosso.tistory.com ① 바로 가기 만들기 [새로 만들기] - [바로 가기] ② 명령어 입력 shutdown -s -f -t {숫자} {숫자} 단위는 초(Seconds) .. 2021. 6. 12. Hash (양방향, 더미노드 2개, *head, *tail) 해당 게시글은 Chaining 기법을 Memory Pool 방식으로 구현한 내용입니다. Hash 구현에 있어서 중요한 것은 Hash Function을 통해서 key → Hash Index로 변환되는 결과에서 중복 Hash Index가 적게 발생하는 것이다. 즉, 충돌을 적게 발생시키는 것이 효율적인 Hash Function 이다. Hash Function을 잘 만든다면 충돌 처리를 할 필요는 없지만, 보장할 수 없는 경우라면 크게 Chaining 기법과 Open Address 기법으로 해결할 수 있다. ▶ [해시] Hash란? ▶ [해시] Hash Chaining 기법 구현 구조체 정보 struct Node { int id; Node* prev, * next; Node* alloc(int _id, Nod.. 2021. 6. 11. Hash (양방향, 더미노드 2개, head, tail) 해당 게시글은 Chaining 기법을 Memory Pool 방식으로 구현한 내용입니다. Hash 구현에 있어서 중요한 것은 Hash Function을 통해서 key → Hash Index로 변환되는 결과에서 중복 Hash Index가 적게 발생하는 것이다. 즉, 충돌을 적게 발생시키는 것이 효율적인 Hash Function 이다. Hash Function을 잘 만든다면 충돌 처리를 할 필요는 없지만, 보장할 수 없는 경우라면 크게 Chaining 기법과 Open Address 기법으로 해결할 수 있다. ▶ [해시] Hash란? ▶ [해시] Hash Chaining 기법 구현 구조체 정보 struct Node { int id; Node* prev, * next; Node* alloc(int _id, Nod.. 2021. 6. 10. Hash (양방향, 더미노드 1개, head) 해당 게시글은 Chaining 기법을 Memory Pool 방식으로 구현한 내용입니다. ▶ Hash (양방향, 더미노드 1개, *head) 구현방식과 비교하면 좋습니다. Hash 구현에 있어서 중요한 것은 Hash Function을 통해서 key → Hash Index로 변환되는 결과에서 중복 Hash Index가 적게 발생하는 것이다. 즉, 충돌을 적게 발생시키는 것이 효율적인 Hash Function 이다. Hash Function을 잘 만든다면 충돌 처리를 할 필요는 없지만, 보장할 수 없는 경우라면 크게 Chaining 기법과 Open Address 기법으로 해결할 수 있다. ▶ [해시] Hash란? ▶ [해시] Hash Chaining 기법 구현 구조체 정보 struct Node { int id.. 2021. 6. 9. Hash (단방향, 더미노드 0개, *head) 해당 게시글은 Chaining 기법을 Memory Pool 방식으로 구현한 내용입니다. ▶ Hash 구현 (양방향, 더미노드 0개, *head) 구현방식과 비교하면 좋습니다. 양방향이지 않기 때문에 이전 노드(prev)에 대한 구현 차이가 있습니다. 삭제될 때, 이전 노드(prev)에 해당하는 노드의 연결처리가 필요합니다. Hash 구현에 있어서 중요한 것은 Hash Function을 통해서 key → Hash Index로 변환되는 결과에서 중복 Hash Index가 적게 발생하는 것이다. 즉, 충돌을 적게 발생시키는 것이 효율적인 Hash Function 이다. Hash Function을 잘 만든다면 충돌 처리를 할 필요는 없지만, 보장할 수 없는 경우라면 크게 Chaining 기법과 Open Addr.. 2021. 6. 8. DLL (Dynamic Link Library) 파일이란? DLL 파일이란? DLL은 "Dynamic Link Library" 의 준말로 "동적 링크 라이브러리" 해당 파일을 이해하기 위해서는 "라이브러리 (Library)" 개념 먼저 이해하고, 정적 라이브러리 (Static Link Library) 방식과 비교해보면 좋다. 라이브러리(Library) 란? Code에서는 반복되는 기능들이 많다. 그런 기능들을 매번 다시 작성할 수 없기에, 그러한 Logic을 따로 모아둔 파일이라고 볼 수 있다. 즉, 표준화된 함수 및 데이터 타입을 만들어서 모아 놓은 것. 라이브러리 파일을 include 해주면 그 안에 함수들을 자유롭게 사용할 수 있다. → 작업 속도와 Code 신뢰성을 확보할 수 있다. 이러한 라이브러리를 크게 "정적 라이브러리(.lib)" 와 "동적 라이브.. 2021. 6. 6. windows 이모티콘 단축키 및 활용 windows 이모티콘 단축키 및 활용 Window 키 + ; (세미콜론) 예전에는 자음 + 한자 전환 키로 특수 문자를 만들었다면 이제는 Window 키 + ; (세미콜론) 로도 아래와 같은 이미지들을 사용할 수 있다. ▶ 이모지 / 카모지 / 기호 이모티콘은 딱딱한 텍스트에서 감정을 나타낼 수 있는 좋은 도구라서 블로거라면 활용해보면 좋을 것 같습니다. 😊 2021. 6. 5. [BOJ] 백준 2504 괄호의값 출처: https://www.acmicpc.net/problem/2504 Approach 스택을 이용하는 대표적인 문제이다. 괄호를 스택에 넣어서 올바른 괄호쌍을 맞추는지 확인한다. ▶ [스택] Stack 이란? [스택] Stack 이란? Stack 이란? 스택 (Stack) 특징을 가장 잘 나타내는 표현은 후입선출(Last In First Out, LIFO) 이다. ▶ 스택(Stack)은 삽입(push)과 삭제(pop)이 한쪽 끝에서만 일어나는 구조 가장 상단에 위치한 원소를 가리. zoosso.tistory.com import java.util.Scanner; class Stack { int top; String[] stack; public Stack(int size) { top = -1; stack.. 2021. 6. 5. 이전 1 ··· 39 40 41 42 43 44 45 ··· 131 다음 반응형