일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- bubble-sort
- 자동 형변환
- 자료구조
- 공개키 암호
- lang package
- 암호론
- LANG
- 백준
- 프로그래밍
- class
- try&catch
- BufferedWrite
- 형변환 연산자
- 현대암호
- HTML
- JSP
- java
- 클래스 패스
- 알고리즘
- 연결된 예외
- 예외처리
- 백준 알고리즘
- OOP
- 소수판정
- 객체
- 재귀호출기본
- 디렉티브
- 객체지향
- 2884
- jvm
- Today
- Total
목록자료구조 (5)
코드일기장

배열은 데이터를 묶어 놓은 것으로 구조가 간단하고 데이터가 연속적으로 존재한다. 사용하기도 쉽고 데이터를 읽어 올 때는 걸리는 시간이 가장 빠르다는 장점도 가지고 있다. 배열은 장점만 가지고 있는 것은 아니다. 단점으로는 1. 크기를 변경할 수 없다. 크기를 변경할 수 없으므로 만약 배열 저장공간이 부족할 시 더 큰 배열을 생성하고 공간이 부족한 배열의 값들을 복사하고 참조를 변경해야 한다. 이런 과정으로 프로그램 동작 시간이 오래 걸린다. 충분히 큰 크기의 배열을 미리 생성시켜도 메모리가 낭비된다. 2. 비순차적인 데이터의 추가 또는 삭제에 시간이 많이 걸린다. (추가&삭제에 단점이 많음) 차례대로 데이터를 추가하고 배열의 마지막 위치에 있는 데이터들은 삭제하기 쉽고 빠르지만, 배열의 중간에 데이터를 ..

ArrayList는 컬렉션 프레임웍에서 가장 많이 사용되는 컬렉션 클래스일 것이다. ArrayList는 List인터페이스를 상속받은 클래스이다. List인터페이스로부터 상속받았기 때문에 데이터의 저장 순서가 있고 중복을 허용한다는 특징이 있다. ArrayList는 Vetor를 개선해서 만든 것으로 Vector와 구현원리와 기능적인 측면이 매우 흡사하다. ArratyList는 Object배열을 이용해서 데이터를 순차적으로 저장한다. 흔히 사용하는 배열과 똑같다고 생각하면 된다. 예를 들어 Integer 5를 저장하면 Object배열 index0에 저장되고 다음 숫자는 index1... 이런 식으로 순서대로 쭉 저장된다. 배열과 ArrayList의 차이점은 배열은 한번 크기를 지정하면 크기를 다시 수정을 못..

ListInterface(리스트 인터페이스)는 대표적인 선형 자료구조로 순서가 있고 중복을 허용한다. List는 우리가 흔히 사용하는 배열과 매우 유사하다. 배열을 쓸 때 배열의 길이를 10으로 선언하고 10 이상의 인덱스에 값을 넣으면 IndexOutofBoundsException이 발생한다. 이런 단점을 보완하여 List를 통해 '동적 크기'를 갖는다. 마치 배열처럼 사용할 수 있다. 배열과 List 인터페이스의 공통점과 차이점은 무엇일까? [공통점] 1. 동일한 특성의 데이터를 묶는다. 2. 반복문내에 변수를 이용하여 하나의 묶음 데이터들을 접근할 수 있다. [차이점-배열] 1. 처음 선언한 배열의 크기(길이)는 변경할 수 없다. 이것을 정적 할당(static allocation)이라고 한다. 2...

이번 포스팅 글에서는 배열에서 검색하는 방법 가운데 가장 기본적인 알고리즘을 알아보겠다. 이 알고리즘을 선형 검색이라고 한다. 선형 검색의 정의 요소가 직선 모양으로 늘어선 배열에서의 검색은 원하는 키 값을 갖는 요소를 만날 때까지 맨 앞에서부터 순서대로 요소를 비교(검색)를 한다. 이것을 선형 검색(Linear Search)또는 순차 검색(Sequential Search)라고 한다. 선형 검색 기본적인 알고리즘 static boolean SerchMethod(int[] arr, int n, int key) { int i = 0; while (true) { if (i == n) { // i==n이 같다는 것은 키 값과 같은 요소값을 찾지 못한 것 (검색 실패) return false; } if (arr[..

배열 요소의 최댓값 어느 배열에 요소중 제일 큰 값을 찾는 알고리즘에 대해 알아보자 🔑 코드 더보기 import java.util.Scanner; public class Hello { static int N=0; public static void main(String[] args) { Scanner sc=new Scanner(System.in); do { System.out.print("요솟수: "); N=sc.nextInt(); }while(N