[자료구조] 스택(Stack)
·
CS/자료구조
스택 제한적으로 접근할 수 있는 나열구조로 접근방법은 언제나 목록의 끝에서만 일어난다. 한 쪽 끝에서만 자료를 넣어나 뺄 수 있는 선형구조(LIFO)로 되어있다. LIFO(Last In First Out, 후입선출) : 마지막에 넣은 데이터를 가장 먼저 추출하는 데이터 관리 정책 활용 컴퓨터 내부 프로세스 구조의 함수 동작 방식 재귀 알고리즘 DFS 알고리즘 방문기록 실행취소 기능 push() : 스택에 데이터 입력 pop() : 스택의 마지막 데이터를 반환 장점 구조 단순, 구현이 쉽다 데이터의 저장/읽기 속도가 빠르다. 단점 데이터 최대 갯수를 미리 정해야한다. 저장 공간의 낭비가 발생할 수 있음. 선언 import java.util.Stack; Stack stack = new Stack(); 메소드..
[자료구조] 3차원 배열 (Array)의 출력
·
CS/자료구조
3차원 배열 전체 코드 public class ThreeDimensionArray { public static void main(String[] args) { int[][][] intArr = { { // [0][][] {1, 3}, // [0][0][] {5, 6, 7, 8}, // [0][1][] {9, 10, 11, 12} // [0][2][] }, { // [1][][] {13, 14, 15, 16}, // [1][0][] {17, 18, 19 }, // [1][1][] {21, 22, 23, 24} // [1][2][] } }; System.out.println(intArr[0][0][1]); // 2 System.out.println(intArr[0][1][2]); // 8 System.out..
[자료구조] 배열 (Array), ArrayList, LinkedList
·
CS/자료구조
배열 같은 타입의 여러 변수를 하나의 묶음으로 다루는 것 필요한 이유? 같은 종류의 데이터를 순차적, 효율적으로 관리한다. 특징 같은 타입만 저장이 가능하다 인덱스는 0부터 시작한다 인덱스 번호로 접근하여 빠른 접근이 가능하다. 최대 길이를 미리 선언해야하며, 수정 및 삭제가 어렵다. 장점 구조가 간단하여 사용하기 쉬움 데이터를 읽어오는 접근 시간이 빠름 단점 크기 변경 불가 비순차적 데이터의 추가 또는 삭제의 시간이 오래걸림. JAVA의 배열 배열 선언의 여러가지 방법 타입[] 변수이름; // 배열을 선언(배열을 다루기 위한 참조변수 선언) 변수이름 = new 타입[길이]; // 배열을 생성(실제 저장공간을 생성) // 선언과 동시에 데이터 삽입 int[] score = new int[]{ 50, 60..
[Sort] 삽입 정렬 (Insertion Sort | Java)
·
CS/알고리즘
Insertion Sort 2번째 원소부터 시작하여 i-1(왼쪽)의 원소들과 비교하여 삽입할 위치를 지정한 후, 원소를 뒤로 옮기고 지정된 자리에 자료를 삽입하여 정렬하는 알고리즘이다. 최선의 경우 O(N)이라는 엄청나게 빠른 효율성을 가지고 있어, 다른 정렬 알고리즘의 일부로 사용될 만큼 좋은 정렬 알고리즘이다. 예제 1 public int[] solution(int[] arr) { if (arr == null) return null; int temp; for (int i = 1; i = 0; k--) { if (temp >= arr[k]) { break; } arr[k + 1] = arr[k..
[Sort] 거품 정렬 (Bubble Sort | Java)
·
CS/알고리즘
Bubble Sort N개의 원소를 가진 배열을 정리할 때, 서로 인접한 두 개의 데이터를 비교하고, 조건에 맞춰 자리를 교환하며 정리하는 알고리즘입니다. 시간 복잡도가 O(n^{2})로 상당히 느리지만, 코드가 단순하기 때문에 자주 사용되며. 원소의 이동이 거품이 수면으로 올라오는 듯한 모습을 보이기 때문에 지어진 이름입니다. 예시 1 void bubbleSort(int[] arr) { int temp = 0; for(int i = 0; i arr[j]) { // 3. // swap(arr[j-1], arr[j]) temp = arr[j-1]; ar..
[네트워크 입문] 네트워크 구성도 1
·
CS/네트워크
IT 엔지니어를 위한 네트워크 입문 (고재성) 네트워크는 서비스를 받는 입장과 서비스를 제공하는 입장으로 나뉜다. 서비스를 받는 입장은 집에서 인터넷에 접속할 때, 회사에서 인터넷에 접속해 업무를 할 때. 홈 네트워크 홈 네트워크를 구성하는 데는 모뎀, 공유기, 단말 간 물리적 연결이 필요하다. 무선 연결 : 무선 랜 카드, 무선 신호를 보낼 수 있는 매체(공기) 유선 연결 : 유선 랜 카드, 랜 케이블 데이터 센터 네트워크 데이터 센터 네트워크는 안정적이고 빠른 대용량 서비스 제공을 목표로 구성. 기존에는 3 계층 구성이 일반적이었지만 가상화 기술과 높은 대역폭을 요구하는 스케일 아웃(Scale-Out) 기반의 애플리케이션과 서비스가 등장하면서 2 계층 구성인 스파인-리프(Spine-Leaf) 구조로 ..
코드플리
'CS' 카테고리의 글 목록 (3 Page)