20220619 우선순위큐, 문자열, 정렬

.·2022년 6월 19일
0

우선순위큐

  • 힙으로 구성
  • 삽입시 신규 값을 제일 아래 빈노드에 먼저 얹어 놓고 상위노드와 비교하며 제 위치를 찾아 바꾼다.
  • 삭제시 제일 위에 노드를 뺀다음 제일 아래 노드를 가져와서 자식 노드와 비교하며 제 위치를 찾아 바꾼다.
  • 위 프로세스에 따라 삽입,삭제 모두 O(logN)이 소요.
  • 최초 큐를 구성할때는 N개의 값을 삽입하기 때문에 위 절차에 따라 O(NlogN)이 소요

Hash 메소드

  • 모든 key값을 반환할때, hm.keySet()
  • 모든 key와 value를 반환할때, hm.entrySet()
  • entrySet을 순환할때, for(Entry<key,value) e : hm.entrySet())

문자열 비교 compareTo(o1)

  • o1과 자기자신을 비교하여 반환값이 음수면 자기자신이 앞에 슨다.
  • 반환값이 0이면 두 문자열이 같다.
  • 양수면 o1가 앞에 슨다.

클래스를 받은 컬렉션을 조건에 맞게 정렬하고자 할때

Collections.sort(변수, new Comparator<클래스명>({
	@Override
	public int compare(클래스명 o1, 클래스명 o2){
    ...
	}
}));
  • 양수 리턴 o1이 우선
  • 음수 리턴 o2가 우선
profile
.

0개의 댓글