Algorithm/Algorithm-Java

    Java-자료구조 (Stack)

    STACK 데이터를 제한적으로 접근할 수 있는 구조 큐 : FIFO정책 스택 : LIFO정책 대표적인 스택의 활용 컴퓨터 내부의 프로세스 구조의 함수 동작방식 주요 기능 push(): 데이터를 스택에 넣기 pop() : 데이터를 스택에서 장점 구조가 단순하다 데이터 저장/읽기 속도가 빠르다 단점 (일반적인 스택 구현시) 데이터 최대 갯수를 미리 정해야 한다. 미리 최대 갯수만큼 공간을 확보해야 한다. 스택은 단순하고 빠른 성능을 위해 사용되므로, 보통 배열 구조를 활용해서 구현하는 것이 일반적임. 이 경우, 위에서 열거한 단점이 있을 수 있음 // java.util.Stack클래스 임포트 import java.util.Stack; Stack stack_int = new Stack(); stack_int...

    Java-자료구조 (Queue)

    Java-자료구조 (Queue)

    우선 큐에 대해 학습하기 전에 자바의 클래스와 친숙해 지고자 중첩 클래스에 대해 알아보겠다 1. 중첩 클래스는 왜 쓰는가? 클래스들의 논리적인 그룹을 나타낼 때 쓴다. 주로 model 객체에서 상위모델과 하위모델이 있을 떄 쓰는거 같다. (Static Nested Class를 많이 씀) 향상된 캡슐화 좋은 가독성과 유지 보수성 2. 중첩 클래스의 종류 3. 내부 클래스 (Inner Class) 내부클래스로서 일반클래스 내부에 생성된다. Non-Static Nested Class라고도 불린다. 밖에 있는 클래스는 내부클래스를 멤버변수처럼 사용할 수 있다. 사용하려면 new로 인스턴스를 만들어야 한다. 내부클래스는 자신의 밖에 있는 클래스의 자원을 직접 사용할 수 있다. 모양새 // src$Outer.jav..

    Java-자료구조(Array)

    Primitive 자료형과 Wrapper 클래스 Java에서는 int와 integer같이, Primite자료형과 Wrapper클래스가 있음 Wrapper 클래스는 Primitive 자료형보다 많은 이점이 존재한다. null을 용이하게 처리할 수 있다. ArrayList등 객체만을 핸들링 하는 기능을 사용하기 위해 Integer[] data_list = new Integer[10]; data_list[0] = 1; data_list[2]; // null Integer data_list1[] = {5, 4, 3, 2, 1}; Integer[] data_list2 = {1, 2, 3, 4, 5}; System.out.println(data_list2[0]); // 1 data_list1[0]; // 5 참고:..

    Java 를 Jupyter 환경에서 구축

    IJAVA 설치를 진행해 줘야 한다. 사전에 JDK가 9 이상 설치되어 있어야 한다. ( 나는 adoptjdk-11.jdk를 설치했다 ) 또한 mac에서 다양한 자바 버전을 관리하기 위해 jenv이라는 툴을 설치했다. https://github.com/SpencerPark/IJava/releases Releases · SpencerPark/IJava A Jupyter kernel for executing Java code. Contribute to SpencerPark/IJava development by creating an account on GitHub. github.com 이제 본격적으로 JAVA Release Tab에서 ijava-최신버전.zip 다운로드를 해보자 주피터 노트북 상에서 터미널 명..