HashMap에 가까워 index에 숫자외의 값도 넣을 수 있다 ( 하지만 배열이라 할수 없음으로 사용 x )
HashMap에 가깝지만 length가 관리되는 점
큐
환형 큐
환형 큐는 정적인 메모리에서 구현되어지기 때문에 일반적으로 큐를 구현하는 Linked List를 사용하는 이점이 없다. 메모리를 덜 쓰는 Array가 추천
해시 테이블
해시 충돌 ( 해시 함수의 결과값이 동일 할때) 가 발생했을때
선형 탐사법 : 충돌 발생시 옆으로 한 칸 이동
제곱 탐사법 : 충돌 발생시 횟수의 제곱만큼 이동
이중 해싱 : 충돌 발생시 다른 해시 함수 이용
분리 연결법 : 버킷 값을 연결리스트로 사용해 리스트에 값 추가
Map
복잡한 값 Key로 사용가능 (Object etc...)
편한 Method들로 인해 traverse가 비교적 편함
오늘 느낀점
괄호 문제와 같이 st의 성질을 이용해야하지만 그렇다고 반드시 배열을 사용해야만 하는건 아니다. st의 성질만 이용하고 이를 원시타입과 같은 데이터(이 문제의 경우 number)를 이용해 같은 로직을 메모리적으로도 더 효율적이게 작성할 수 있다( 풀이 볼때 살짝 충격받음 ). 알고리즘을 짤때 자료구조를 활용하더라도 어떤 데이터타입을 사용할지를 고민하는것도 중요하겠다.
오늘 할 일들을 적어놨는데 아직까지 한개도 못함... 좀 더 효율적인 시간관리가 필요해보인다.