반응형 전체 글1307 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. 리눅스 우분투(ubuntu)에서 LTS란? 리눅스 버전을 확인해보면 "LST"란 단어를 볼 수 있다. cat /etc/issue ex) Ubuntu 16.04. LTS LTS는 "Long Term Support" 의 준말로 단어 그대로 장기간동안 지원하는 것을 의미한다. 우분투 새버전은 6개월 단위로 Release 되는데, LTS가 아닌 경우에는 18개월 보안 업데이트가 보장되는데, LTS의 경우에는 Desktop 3년 / Server 5년 정도의 보안 업데이트 기간을 가진다. 2021. 6. 5. [예제] 힙 정렬 구현 Heap Sort ▶ Heap 구조가 궁금한 경우 [그래프] 힙(Heap) 힙(Heap) 자료구조란? Heap - 최대값 또는 최소값을 빠르게 구하기 위한 자료구조 - 완전 이진 트리를 기본으로 한 자료구조 - 마지막 레벨을 제외한 모든 레벨에 노드가 꽉 차 있어야 한다. - 트리가 한쪽으로 기울어진 zoosso.tistory.com ▶ Heap Sort 원리 및 시뮬레이션 힙 정렬 (Heap Sort) 힙 정렬 (Heap Sort) 힙 정렬 (Heap Sort) - O(N logN) - [그래프] 힙(Heap)를 이용한 정렬 입니다. 힙(Heap) 자료구조란? Heap - 최대값 또는 최소값을 빠르게 구하기 위한 자료구조 - 완전 이진 트리를 기본으로 한 자료구조 - zoosso.tistory.com .. 2021. 6. 4. [예제] 퀵 정렬 구현 Problem Solving을 하다보면 주어진 원소를 정렬 시킬 필요가 있습니다. 물론 STL을 이용해서 구현할 수 있지만 해당 노트에서는 구조체 형태로 정렬하는 내용을 다룹니다. ▶ 퀵(Quick) 정렬 상황 (조건) 특정 사람이 {나이age, 경험exp}가 있을 때, 나이가 큰 순(내림차순) / (나이가 동일한 경우) 경험이 큰 순(내림차순) 즉, 여러 기준을 적용해서 정렬하겠습니다. Input 3 20 20 20 30 30 10 Output age = 30, exp = 10 age = 20, exp = 30 age = 20, exp = 20 구현 코드 #include #define MAX_NUM 100 int N; struct Node { int age, exp; void print() { prin.. 2021. 6. 4. 이전 1 ··· 39 40 41 42 43 44 45 ··· 131 다음 반응형