Queue란? - FIFO(First In First Out)의 형태, 먼저 들어온 데이터가 가장 먼저 나가는 구조이다. - 큐는 한 쪽 끝은 front로 지정하여 삭제 연산만 수행 - 다른 한쪽 끝은 rear로 지정하여 삽입 연산만 수행 - Enqueue: 큐 맨 뒤에 데이터 추가 - Dequeue: 큐 맨 앞쪽의 데이터 삭제 Queue 구현 (1) Array // Array 로 queue 구현 하기 public class ArrayQueue { int[] elements; private int front = 0; private int rear = 0; private int size = 2; private int exSize =0; public ArrayQueue(){ elements = new int..
Linked List로 Stack 구현 실습 class ListNode { int data; ListNode next; public ListNode(int data, ListNode next) { this.data = data; this.next = next; } public ListNode(int data) { this.data = data; this.next = null; } ListNode add(ListNode head, ListNode nodeToAdd, int position) { if (head == null) { head = nodeToAdd; } else { ListNode node = head; for (int i = 0; i < position - 1; i++) { node = nod..
Stack 이란? - 상자에 물건을 쌓아 올리 듯이 데이터를 쌓는 자료구조이며, 삽입과 삭제를 리스트의 한쪽(top)에서 만 한다. - LIFO(Last In First Out) 구조 Stack 구현 package study; public class Stack { private int[] elements; private int top = 0; private int size = 2; /** * Stack 생성 * default size =16 */ public Stack(){ elements = new int[size]; } public Stack(int data){ elements = new int[size]; elements[top++] = data; } // push public void push(i..
LinkedList란? - 연결 리스트(LinkedList)는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식의 자료구조이다. - 데이터를 담고 있는 노드들이 연결되어 있고, 노드의 포인터가 이전 노드와 다음 노드와의 연결을 담당한다. - Node는 LinkedList에 객체를 추가하거나 삭제하면 앞 뒤 링크만 변경되고 나머지 링크는 변경되지 않는다. - 중간에 데이터를 추가하거나 삭제하더라도 전체의 인덱스가 한 칸씩 뒤로 밀리거나 당겨지는 일이 없기 때문에 Array에 비해 데이터의 추가나 삭제가 용이하다. - 인덱스가 없기 때문에 특정 요소에 접근하려면 순차 탐색이 필요하기 때문에 탐색 속도가 떨어진다. 그러므로 탐색 또는 정렬을 자주하는 경우엔 배열을 사용하고, 데이터의 추가/삭제가..
JUnit5란? 자바 개발자가 많이 사용하는 테스팅 기반 프레임워크이다. JUnit은 자바 8 이상부터 사용 가능하며, JUnit Platform과 JUnit Jupiter, Junit Vintage 결합한 형태라고 볼 수 있다. (JUnit5 = JUnit Platform + JUnit Jupiter + Junit Vintage) - JUnit Platform: 테스트를 실행해 주는 런처와 TestEngine API를 제공한다. - Jupiter: TestEngine API 구현체로 JUnit5에서 제공한다. - Vintage: TestEngine API 구현체로 JUnit3, 4에서 제공한다. Write Test JUnit Annotation JUnit5 어노테이션 내용 JUnit4 어노테이션 @Te..
제어문(Control Statement) 코드가 위에서 아래로 순차적으로 실행되는 구문을 순차문이라고 한다. 모든 코드가 순차적으로 실행된다면 좋겠지만 실제로는 그렇지 않다. 제어문은 코드의 실행 흐름을 담당하는 구문으로 선택문, 반복문, 분기문으로 나뉜다. 선택문(Selection Statement) 1) if-then if(조건식) { // 한 줄일 경우 {} 생략 가능 ...조건이 참인 경우 실행되는 코드; } import java.util.Scanner; public class example { public static void main(String[] args) { int num; Scanner sc = new Scanner(System.in); System.out.println("type yo..
[산술 연산자] [비트 연산자] 1) x > y: 정수 x의 각 비트를 y만큼 오른쪽으로 이동시킨다. 빈자리는 정수 a의 최상위 부호비트와 같은 값으로 채워진다. 3) x >>> y: 정수 x의 각 비트를 y만큼 오른쪽으로 이동시킨다. 빈자리는 부호와 상관없이 0으로 채워진다. 앞자리가 0으로만 채워지기 때문에 결과값은 무조건 양수로만 나타난다. 4) x & y: - AND 논리 - 두 비트 모두 1일 경우에만 연산 결과가 1 5) x | y: - OR 논리 - 두 비트 중 하나만 1일 경우에만 연산 결과가 1 6) x ^ y: - XOR 논리 - 두 비트중 하나는 1이고 다른 하나가 0일 경우에만 연산 결과가 1 7) ~ x: - NOT 논리 - 비트 반전(보수) [관계 연산자] - 관계 연산자는 bo..
[기본형 타입(Primitive type)] - 총 8가지의 기본형 타입(Primitive type)을 미리 정의하여 제공한다. - 기본 값이 있기 때문에 Null이 존재하지 않는다. - 실제 값을 저장하는 공간으로 스택(Stack) 메모리에 저장된다. - 만약 컴파일 시점에 담을 수 있는 크기를 벗어나면 에러를 발생시키는 컴파일 에러가 발생한다. [참조형 타입(Reference type)] - 기본형 타입을 제외한 타입들이 모두 참조형 타입(Reference type)이다. - 빈 객체를 의미하는 Null이 존재한다. - 값이 저장되어 있는 곳의 주소 값을 저장하는 공간으로 힙(Heap)메모리에 저장된다. - 문법상으로는 에러가 없지만 실행시켰을 때 에러가 나는 런타임 에러가 발생한다. 예를 들어 객체..
- Total
- Today
- Yesterday
- 코드업 기초
- 리스트2
- 네트워크
- 연결리스트활용
- CS 스터디
- CS.
- 프로세스 주소공간
- 프로그래머스
- 운영체제
- 데이터베이스
- 리스트함축
- SW
- 이차 리스트
- 자료구조와알고리즘 23강
- 프로그래머스강의
- https
- Greedy sort
- 파이썬
- CS
- 리스트 복사
- 자료구조
- 정렬
- 이진탐색
- 스터디
- 완전탐색
- 자바
- 알고리즘
- 보험
- 리스트
- It
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |