자료구조의 간략한 개념들을 JAVA로 학습을 해보자.
군휴학의 무료함을 달래주길.
자료구조의 모든 part는 객체이며 자바는 객체지향. 모든 흐름은 객체로.. 신입생때 뇌에 각인시키도록 학습했었다.
자료구조의 가장 basic하면서 중요한 type. 배열이다.
생성은 아래코드로 하는데 python과 다르게 JAVA는 상당히 피곤하게 아래처럼 배열의 데이터 타입과 크기를 꼭 지정해줘야한다.
위의 배열의 경우 10,20,30의 값만 선언해주었다. 하지만 네번째 인덱스에는 값을 넣어주지 않았다. 이럴때 numbers[3]을 해준다면.. 오류가 날까? 그렇지 않다. 크기엔 지정이됐지만 값이 없는 배열의의 값은 0으로 설정되어있다 자동으로
그래서 따로 주입하지 않아도 10 20 30 0 이 순서대로 저장되어있다
***Length()
여기서 부연설명을 하자면 배열의 크기를 가지고오는 Length()라는 함수는 위 같이 10 20 30 이란 값을 넣어서 Length()의 값을 3을 기대했을수도 있지만 초기 크기인 4를 가져오게 된다. 즉 몇개의 데이터를 넣었고 삭제했는지는 중요하지 않고 초기 설정값이 중요하다는 것.
.**단점
크기가 정해져있다.... 크기.... 졸라 불편하다. 또한 기능도 전혀 없다.
**장점
크기가 정해져있다. 기능도 전혀없다. 이게 무슨 개소리일까?
배열은 작고 가볍고 단순하다. 음식으로 치면 곤약젤리. 데이터 저장용 곤약젤리
배열의 한계를 아주 야무지게 쓴다면 데이터 측면에서 효율을 높일 수 있을 것이다.
'Algorithm_PS > Algorithm_Data Structure' 카테고리의 다른 글
DataStructure : Union-Find (0) | 2024.06.05 |
---|---|
자료구조 : Comparator vs Comparable (0) | 2024.05.27 |
About BinaryHeap (0) | 2024.05.23 |
<카운팅 정렬> (1) | 2023.11.17 |
<선택 정렬 & 삽입 정렬> (0) | 2023.11.11 |