본문 바로가기

전체 글89

2022/12/30 데일리 리포트 계획 헬스하기 이진탐색 공부 정렬 공부 패스트 캠퍼스 강의 듣기 책 읽기(죽음의 수용소에서) 하루 피드백 하기 시간관리 07:20 ~ 07:50 출근 준비 07:50 ~ 08:50 출근(지하철 - 책 읽기, 버스 - Spring Batch, Scheduler 검색) 08:50 ~ 09:10 커피, 화장실, 업무 준비 09:10 ~ 10:10 FIDO 인증 Check 테스트, 불필요한 git 브랜치 삭제, DB 컬럼 추가 10:10 ~ 10:50 1층 카페에서 이야기 나눔 10:50 ~ 11:20 회사 종무식 11:20 ~ 11:40 불평 이야기 들어줌 11:40 ~ 13:20 이진탐색 공부 20분가량, 1시간 가량 서지원 이야기 들어줌 13:20 ~ 14:10 IOS Fido 가이드 전달 14:10 ~ .. 2022. 12. 29.
[자료구조] 큐(Queue)란? 큐(Queue)란? 선입선출 FIFO(First In First Out) 자료구조입니다. 먼저 저장된 값이 가장 먼저 반환되는 구조입니다. ex) 번호표 뽑아서 순서 기다리기, 화장실 줄서기 등.. Java에서 큐(Queue)의 메소드 add(E item): item을 저장 후 저장되었으면 true, 그렇지 않으면 exception 처리됩니다. offer(E item): item을 저장 후 저장되었으면 true, 그렇지 않으면 false 반환합니다. peek():가장 먼저 저장된 item을 반환합니다. pool(): 가장 먼저 저장된 item을 반환 후 삭제합니다. remove(): 가장 먼저 저장된 item을 반환, item이 없는 경우 exception 처리됩니다. isEmpty(): Queue의 i.. 2022. 12. 29.
[자료구조] 스택(Stack) 이란? 스택(Stack) 이란? LIFO(Last In First Out) 구조로 마지막에 저장된 값이 첫번째로 꺼내와서 데이터를 사용하는 자료구조입니다. 출력 순서가 입력 순서의 역순으로 이루어질 때 많이 사용됩니다. ex) 뒤로가기, 실행 취소, 역순 문자열 만들기, 재귀 알고리즘 등.. Java 스택(Stack) 관련 메서드 push(E item): 해당 item을 Stack의 마지막에 저장 후 해당 item을 반환합니다. pop(): Stack에서 가장 나중에 저장된 item을 삭제하고 해당 item을 반환합니다. peek(): Stack의 가장 나중에 저장된 item을 반환합니다. empty(): Stack이 비어있으면 true, 아니면 false를 반환합니다. search(Object o): 해당 o.. 2022. 12. 29.
[자료구조] 배열과 해시테이블의 차이점 ### 배열(Array) Vs 해시테이블(hash table) - 배열은 데이터를 0에서 순서대로 번호에 맞춰서 저장하는 용도이고 해시테이블은 key값에 따라 해당하는 데이터를 저장하는 용도입니다. 예를 들면 해시테이블에 key값이 shbae인 값이 있는가?는 O(1)연산이지만 배열에서는 key의 개념이 없어 모든 값을 조회하여야 하므로 O(n)이 됩니다. - 조회시 배열이 속도가 더 빠릅니다. 배열은 인덱스로 데이터에 바로 접근하지만 해시테이블은 해시함수를 한번 거치므로 배열의 조회가 좀 더 빠릅니다. 2022. 12. 29.
[자료구조] 해시테이블이란? 해시테이블이란? 해시(hash) 테이블은 Key, Value로 데이터를 저장하는 자료구조 중 하나로 빠르게 데이터를 검색할 수 있는 자료구조입니다. 아래 그림은 해시구조를 나타내는 그림입니다. John Smith라는 Key는 해시함수를 통해 02라는 값으로 변환되고 02라는 인덱스의 값에 521-1234라는 데이터를 저장하고 있습니다. 해시 테이블(hash table): Key 값의 연산에 의해 직접 접근이 가능한 데이터 구조 고유한 키(Key)값을 이용하여 해당 데이터에 접근가능하다는 뜻입니다. 키(Key): hash 함수의 input이 되는 고유한 값 키(Key)는 해시함수(hash function)를 통해 해시(hash)로 변경되어 value 값과 매칭되어 저장소에 저장됩니다. 해시 함수(hashi.. 2022. 12. 29.
[자료구조] 배열(Array)이란? 배열(Array)이란? 데이터를 메모리 상에서 연관된 데이터를 순차적으로 저장하며 메모리를 정적인 크기로 할당 받아 이후 크기 변경이 불가능합니다. 인덱스를 통해서 배열에 있는 요소에 접근 할 수 있습니다. ex) int[] intArray = new int[3]; Index 0 1 2 Data 0 0 0 장점 index를 가지고 있기 때문에 데이터에 바로 접근이 가능합니다. 조회시 index를 통해 조회하기 때문에 시간 복잡도 O(1)로 갖게 되며 자료 구조의 크기가 클 수록 더욱 효율적입니다. 단점 배열을 생성할 때 크기를 정해야 합니다. 배열을 생성 후 크기 변경이 불가능하기 때문에 데이터의 수와 맞지 않으면 데이터를 담지 못하거나 메모리 낭비가 있습니다. 배열은 변경만 가능하며 삽입, 삭제가 불가.. 2022. 12. 29.