본문 바로가기

Programming/자료구조6

ArrayList ArrayList란? 리스트를 만들때 내부적으로 배열이라는 부품을 사용하는 것. 데이터를 추가 / 삭제 데이터를 추가 / 삭제할때마다 일일히 데이터를 당기거나 밀어야 하기에 오래 걸린다. ArrayList의 장점: 인덱스 값을 알고 있기 때문에 데이터를 가져올 때 빠르게 가져올 수 있다. (자바로 배우는 자료구조로 공부하며 개인적으로 필기하는 글입니다.) https://programmers.co.kr/learn/courses/17/lessons/804 자바로 배우는 자료구조(with 생활코딩) - Array List | 프로그래머스 소개 Array List는 배열으로 구현한 리스트입니다. 내부에서 배열을 이용하기 때문에 인덱스를 이용해서 데이터에 접근합니다. 데이터를 조회할 땐 빠르지만, 데이터를 추가/.. 2019. 4. 10.
List의 개념 가장 중요한 두가지는 데이터가 순서대로 저장된다. 중복 저장을 허용한다. Array 와 List 비교 List는 데이터가 연속되어 있다! 추가할때 어떤 다른 양상을 보이는가? 배열: 값 덮어쓰기 리스트: 한칸 밀기 삭제할때는? 배열: 비게 됨 리스트: 한칸 당기기 리스트의 기능은? 처음, 끝, 중간에 엘리먼트를 추가 / 삭제 리스트에 데이터가 있는지 확인 모든 데이터에 접근 가능 Java의 배열과 리스트 배열: int[] numbers= {1,2,3,4,5}; 리스트: ArrayList numbers= new ArrayList(); numbers.add(1); numbers.add(2); numbers.add(3); numbers.add(4); numbers.add(5); Java는 리스트를 두 가지 지.. 2019. 4. 10.
Array (배열) - Java API Array란? 변수 하나에 여러 정보를 담을 수 있고, 배열을 반복문과 결합하면 많은 정보를 효율적으로 처리할 수 있다. Create 생성 int[] numbers1 = new int[4]; = 정수형 배열 numbers1는 4개의 element를 가진 정수형 배열 새로운 객체이다. //문자열 배열 String[] strings = new String[4]; 배열에 값 삽입 numbers1[0]=10; numbers1[1]=20; numbers1[2]=30; //한번에 넣기 int[] numbers2= {10,20,30,40}; int[] numbers3= new int[]{10,20,30,40}; Get 가져오기 System.out.println(numbers1[0]); Size 크기 System.ou.. 2019. 4. 10.
Data Structure란 Data Structure란? 현실을 컴퓨터/프로그래밍적으로 표현하는 것이다. 왜 필요한가? 데이터가 차지하는 공간도 줄이고, 찾기도 쉽도록 큰 데이터를 효율적으로 관리하는 것 자료구조 공부가 어려운 이유는: 경험 부족 → 필요성 공감 못함 → 이해 못함 자료구조는 이렇게 공부한다: 공부 → 경험 쌓기 → 다시 공부 → 이해 자료 구조를 몰라도 프로그램을 만들 수는 있다. 그러나 알면 더 효율적인 시스템을 만들 수 있다. (자바로 배우는 자료구조로 공부하며 개인적으로 필기하는 글입니다.) https://programmers.co.kr/learn/courses/17 자바로 배우는 자료구조(with 생활코딩) | 프로그래머스 평가 5.0 2개의 평가 ★★★★★2 ★★★★0 ★★★0 ★★0 ★0 최요셉 201.. 2019. 4. 10.
[자료구조] 큐(Queue) 큐(Queue)란한쪽으로 넣고 다른 한 쪽으로 나오는 FIFO(First In First Out), 즉 선입선출 구조의 자료구조Ex)터널, 선착순 예매 큐의 정의, 연산Enqueue(item): item을 큐의 마지막에 저장한다.Dequeue(): 큐의 가장 앞선 데이터를 삭제한다. 배열로 큐 구현package Queue; public class ArrayQueue { private char[] array; private int front; private int rear; private int size; public ArrayQueue(int size){ //큐 배열 생성 this.front = 0; this.rear = -1; this.size = size; this.array = new char[si.. 2019. 2. 15.
[자료구조] 스택(Stack) 스택(Stack)이란 한쪽으로만 넣고 뺄 수 있는 LIFO(Last In First Out), 즉 후입선출 구조의 자료구조 Ex) 쌓여있는 접시들, 상자들 스택의 정의, 연산 pop() : 스택에서 가장 위의 item을 제거. push(item): 스택에서 가장 위에 item 하나 추가.peek(): 스택에서 가장 위의 item 반환isEmpty(): 스택이 비어있으면 true, 그렇지 않으면 false 반환 배열로 스택 구현 public class ArrayStack{ private int top; private int size; private char array[]; public ArrayStack(int size){ this.top = -1; this.size=size; this.array=new .. 2019. 2. 15.