JAVA(77)
-
Set 인터페이스
SetSet은 List와 같이 Collection의 인터페이스를 상속하는 인터페이스이다.중복을 허용하지 않고,순서를 보장하지 해주지 않는다. (TreeSet, LinkedHashSet 은 순서 보장이 가능하다) 종류HashSetTreeSet 등이 있다. HashSet- Hash 알고리즘을 적극적으로 활용한다.ㄴ 따라서, 주요 연산 처리에 빠르다[ O(1) ]. - 파생체로 LinkedHashSet 가 있다.- 순서 보장 필요 없고, 단일성만 띌 집합 자료모음을 다룰 때 유리하다. TreeSet- 트리 구조를 띄고 있다.- 트리 노드는 left, right 노드를 갖는다.ㄴ 특정 데이터 조회에 O(log2) 의 성능을 갖는다.- 좌, 우로 데이터를 추가하기 위한 기준이 필요하다.ㄴ 따라서, TreeSet ..
2024.08.01 -
Set - HashSet
Set 이란특징List와는 다르게, 중복을 허용하지 않고, 순서를 보장하지 않는 자료구조임.데이터를 담는 자료 구조로서 '배열'을 사용함. 한계입력 성능이 구림기존에 저장된 값 중 중복값이 있다면, 추가적으로 배열에 저장되지 않음.즉. 기존에 있던 모든 값들과 대조(탐색)해야 하기 때문에 O(n) 의 구린 성능을 자랑함.. 극복Hash 알고리즘 채택. Hash 알고리즘이란?자료의 클래스, 필드 정보들을 섞어 공식을 통해 Hash화(숫자) 하여, 이를 인덱스로 활용하는 알고리즘이다. 자료를 해쉬화하여 array[hashIndex] 에 접근. O(1)배열의 해당 위치에 동일한 자료가 있는지 확인 O(n).여기서 탐색에 O(n)이 발생하게 되지만, 중복되는 일이 그렇게 많지 않아 전체 탐색 수(n)이 크지 ..
2024.07.31 -
LinkedList
ArrayList 와 같은 배열 타입의 단점을 보완한 자료구조극복한 단점 = 잠재적 메모리 낭비 데이터를 담는 자료 구조로서연쇄되는 Node 를 사용함. 기본 구조class LinkedList{private Node first;private Node last;} class Node{ Obejct value; Node next; Node previous;} 모양노드 - 노드 - 노드 - 노드 - 노드 - 노드자료 자료 자료 자료 자료 자료 빅오 표기법추가처음 - O(1)중간 - O(n)마지막 - O(1) 조회LinkedList 에는 index가 없음.처음이든, 끝이든 시작점을 잡고 특정 위치가 나올 때까지 이동해야하므로 O(n) 임. ArrayList 와 다르게 처음, 중간, 끝에 ..
2024.07.31 -
ArrayList
기본적인 배열을 필드 멤버로 하는 자료구조. 특징배열 길이가 동적으로 변한다.배열의 한계인 정적 길이를 극복. 자바에서 배열의 길이는 한 번 정해지면 변하지 않는다. 따라서, 배열에 데이터가 많이 채워졌을 때,길이를 늘린 배열을 새로 생성하고 기존 값들을 통째로 복사해 넣는 작업을 통해 이를 가능케 했다. 배열을 다루는 다양한 편의 기능을 제공한다. 빅오 표기법ArrayList 는 자료를 담는 수단으로, 배열을 사용한다.따라서, 기본 성능은 배열과 크게 다르지 않다. 입력 - O(1)조회ㄴ 인덱스를 알 경우 - O(1) ㄴ 인덱스를 모를 경우 - O(n)전체 조회 - O(n)수정 - O(1) 추가처음 - O(n)중간 - O(n)끝 - O(1)삭제 - O(n)처음 - O(n)중간 - O(n)끝 - O(1..
2024.07.31 -
배열
배열가장 기본적인 자료구조. 연속성을 띈다.인덱스를 통해 쉽고 빠르게 데이터에 접근할 수 있는 자료 구조이다. 배열 생성 원리배열 생성 요청 - 메모리 할당 - 배열 생성 - 참조주소값 반환 int [] arr = new int[n]; // x100 이라 했을 때배열은 연속된 자료구조이므로,배열이 갖는 주소값들 또한 x100과 밀접한 관계(규칙성)을 갖는다. 배열에 담기는 메모리 크기 * index 로 접근 가능하다는 모양. 따라서, 특정 위치에 접근할 때 배열의 기본 주소값 + 배열 타입 메모리 크기 * index 1회의 연산으로 해당 위치의 데이터에 접근 가능함. 빅오표기법알고리즘 성능 분석에 사용되는 수학적 표현식.알고리즘 수행 시 발생하는 연산 수를 간략하게 표기함. 배열에 값을 입력할 때arr..
2024.07.31 -
와일드 카드
와일드카드제네릭 타입을 조금 더 편리하게 사용할 수 있게 해주는 특수 문자 클래스 레벨의 매개타입 변수 T 메서드 레벨의 매개타입 변수 T 는 서로 다름. 우선순위도 다름. 메서드 레벨 > 클래스 레벨 와일드 카드는, 사용 편의를 위해 사용한다.이미 만들어진 제네릭 편하게 쓸 때 사용. 정의에는 사용되지 않음.
2024.07.31