목록연결리스트 (3)
Welcome! Everything is fine.
인프런 강의 을 보고 정리한 내용입니다.매주 모여 각자 정리한 내용을 기반으로 발표하고 질문 공유하는 스터디입니다. 📘List"의존한다" 라는 것은 무엇일까? 다음과 같이 MyList를 구현하는 MyArrayList와 MyArrayList를 만들었다.public interface MyList { int size(); void add(E e); void add(int index, E e); E get(int index); E set(int index, E element); E remove(int index); int indexOf(E o);}public class MyArrayList implements MyList { //...}public class MyLinke..
인프런 강의 을 보고 정리한 내용입니다.매주 모여 각자 정리한 내용을 기반으로 발표하고 질문 공유하는 스터디입니다. 📘빅오(O) 표기법 빅오(Big O) 표기법 : 알고리즘 성능을 분석할 때 사용하는 수학적 표현 방식으로, 데이터의 양의 증가에 따른 성능 변화 추세를 이해하기 위한 방법이다. 데이터가 매우 많이 들어오면 상수는 크게 의미가 없어지므로 빅오 표기법에서는 상수를 제거한다.O(1) : 상수 시간, 입력 데이터의 크기에 관계없이 알고리즘 실행 시간이 일정O(n) : 선형 시간, 알고리즘 실행 시간이 입력 데이터의 크기에 비례하여 증가O(n^2) : 제곱 시간, 알고리즘의 실행 시간이 입력 데이터의 크기의 제곱에 비례하여 증가O(log n) : 로그 시간, 알고리즘의 실행 시간이 입력 데이터의..
이번 주는 기술 면접에서 많이 물어본다는 Array와 LinkedList의 특징과 차이점에 대해 정리해보았다. 같은 선형 자료구조이면서 정적 자료구조(Array)와 동적 자료구조(LinkedList)로 나뉘어서 자주 나오는 질문이 아닐까 싶다! Array 배열(Array)은 메모리 상에 원소를 연속하게 배치한 자료구조이다. 특징을 간단히 정리하자면 다음과 같다. 인덱스를 사용해 값에 바로 접근 가능하다. 배열의 크기는 한 번 선언하면 줄이거나 늘릴수 없다. (따라서 배열을 확장하기 위해서는 기존 배열의 내용을 새로운 배열에 복사하는 식으로 확장해야한다.) 새로운 값을 삽입하거나 삭제하기가 비효적이고 어렵다. (임의의 위치에 있는 원소를 추가/제거하는 시간 복잡도 O(N)) 데이터를 조회하는 연산이 많을 ..