본문 바로가기

CS14

HashTable 특징 및 Hash 인덱스 그간 자료구조에 대한 제대로 된 이해 없이 겉핥기식 공부했던걸 반성하면서 특히나 해시는 많이 사용되는 기본 자료구조인데 최근 동작 방식에 대해 묻는 질문에 정말 일차원적인 생각밖에 떠오르지 않아서 부끄러운 마음으로 오랜만에 포스트를 올려본다. HashTable 우선 해시는 임의의 크기를 가진 데이터를 고정된 크기의 값으로 매핑하는 함수를 말하고 이렇게 변환된 값을 해시 값(Hash Value)이라고 한다. 해시 테이블은 이러한 해시 함수(Hash Function)를 사용하여 데이터를 저장하고 검색할 수 있는 자료 구조이다. 여기서 해시 함수는 예를 들어 5,8,13,21,27 이라는 값들이 있으면 이를 13으로 나눈 나머지 값인 5,8,0,8,1 해시값으로 변환시키는 기능을 하는데 해시 테이블에서는 이런.. 2023. 4. 9.
Dequeue(Double-ended Queue) Dequeue란 Dequeue 는 큐의 양쪽으로 데이터의 삽입 및 삭제 처리를 할 수 있는 자료구조로 입출력 방향에 따라 큐 혹은 스택으로 사용할 수 있다. 덱은 인터페이스로 구성되어 있기 때문에 이를 구현한 ArrayDeque, LinkedBlockingDeque, ConcurrentLinkedDeque, LinkedList 등의 클래스들이 있으며 해당 클래스들을 통해 덱을 생성한다. Dequeue의 사용 element 추가 public class Dequeue01{ Dequeue dq = new ArrayDequeue(); dq.addFirst("hi");//Deque 맨 앞에 데이터 삽입, 용량 초과하는 경우 Exception 발생 dq.offerFirst("hii");//Deque 맨 앞에 데이터.. 2022. 9. 11.
인덱스(Index) 개요 인덱스란 데이터베이스 테이블의 검색 속도를 향상시키기 위한 자료구조로 키 값으로 행 데이터의 위치를 식별하여 사용한다. 테이블의 컬럼을 색인화하여 별도 파일로 저장하기 때문에 해당 테이블의 레코드를 Full scan 하지 않는다. //인덱스 생성 CREATE INDEX 인덱스명 ON 테이블명 (컬럼명); ALTER TABLE 테이블명 ADD INDEX 인덱스명 (컬럼명); //인덱스 삭제(수정은 DROP 후 재생성) ALTER TABLE 테이블명 DROP INDEX 인덱스명; 인덱스의 관리 DBMS는 인덱스를 항상 최신의 정렬된 상태로 유지해야 원하는 값을 빠르게 탐색할 수 있다. 이 때문에 인덱스가 적용된 컬럼에 INSERT,UPDATE,DELETE가 수행된다면 아래와 같은 연산을 추가적으로 해주.. 2022. 8. 9.
데이터베이스 개요 개요 데이터베이스의 핵심 데이터의 input,output -> CRUD 들어온 데이터의 구조화,필터링 -> query(필터링) 데이터베이스의 특징 질의에 대해 즉각적인 처리와 응답이 이루어진다. C,U,D를 통해 항상 최신의 데이터를 유지한다. 원하는 데이터를 주소가 아닌 내용에 따라 참조할 수 있다. → 실시간 접근성/지속적인 변화/동시 공유성/내용 참조 DBMS(Database Management System) 데이터베이스를 운영하고 관리하는 소프트웨어로 대부분의 DBMS가 관계형 DBMS(RDMBS)로 사용되고 있다. 데이터베이스는 여러 명의 사용자나 응용 프로그램과 공유하고 동시에 접근이 가능해야 하는데 DBMS를 통해 이를 해결할 수 있다. 대표적으로 MySQL,Oracle, MariaDB 등이.. 2022. 8. 3.
IP(Internet Protocol) Overview 더보기 IP 역할 IP 통신 프로세스 IP 프로토콜의 한계 IP 역할 지정한 IP 주소에 패킷 단위로 데이터 전달 IP 패킷 정보 출발지 IP 목적지 IP 기타.. IP 주소 구조 Subnet Mask IPv4 주소에서 네트워크 파트가 어디까지인지 나타내는 것 8자리 2진수 묶음을 옥텟이라 하며 IPv4주소는 4개의 옥텟으로 이루어져 있음 IP : 192.168.1.1 subnet mask : 255.255.255.0 네트워크 주소 :192.168.1.0 브로드캐스트 주소 : 192.168.1.255 IP 주소의 할당과 관리 처음부터 기기에 부여되는 MAC주소와 달리 IP 주소는 할당되는 것 호스트부가 0으로 만 이루어진 것을 네트워크 주소로 그 네트워크를 의미 호스트부가 1로만 이루어진.. 2022. 8. 2.
컴퓨터 네트워크 기본 Overview 더보기 what's the Internet what's a protocol network edge access net,physical media network core Internet/ISP structure performance : loss,delay protocal layers, service models network modeling TCP/IP 4계층 모델 주요 프로토콜 역할 4 Application Layer HTTP,DNS,FTP 애플리케이션에 맞추어 통신 3 Transport Layer TCP,UDP IP와 어플리케이션을 중개, 데이터 전달 2 Internet Layer IP,ICMP,ARP,RARP 네트워크 주소 기반으로 데이터 전송 1 Network Access Layer.. 2022. 8. 2.