본문 바로가기

전체 글266

[20210928] 이진(이분) 검색 알고리즘 package Practice; import java.util.Scanner; public class BinarySearch { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("배열의 크기를 입력하세요."); int size = sc.nextInt(); int[] arr = new int[size]; for (int i=0; i 2021. 9. 28.
[20210927] 선형 검색 알고리즘 package Practice; import java.util.Arrays; import java.util.Scanner; public class LinearSearch { static int seqSearch(int[] a, int n, int key) { int i = 0; while(true) { if(i == n) return -1; if(a[i] == key) return i; i++; } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("배열의 크기를 입력하세요."); int size = sc.nextInt(); int[] arr = new int[size]; for.. 2021. 9. 27.
[20210924] 절차적 프로그래밍과 객체 지향 프로그래밍 절차적 프로그래밍(Procedural Programming)은 순차적으로 처리가 이뤄지는 프로그래밍 방식이다. 컴퓨터 작동 원리와 유사하여 속도가 빠르지만, 유지 보수, 디버깅이 어렵다. 데이터 중심의 프로그래밍이다. 객체 지향 프로그래밍(Object-Oriented Programming)은 실제 세계를 모델링하는 프로그래밍 방식이다. 기능별로 모듈화한다. 캡슐화, 상속, 다형성을 특징으로 한다. 코드 재사용성 높아지며 코딩이 간편하고 디버깅 쉽지만, 절차 지향보다 느리고 설계에 상대적으로 더 시간이 소요된다. 기능 중심의 프로그래밍이다. 2021. 9. 24.
[20210917] 프로세스, 스레드 차이(+ 멀티 프로세싱, 멀티 스레딩) 프로세스가 스레드보다 큰 개념이라고 할 수 있다. 프로세스(process)는 애플리케이션 그 자체이며, 컴퓨터에서 실행 중인 프로그램을 가리킨다. 여기서 프로그램은 어떤 작업을 위해 실행할 수 있는 파일을 말하며, 프로그램은 정적인 개념, 프로세스는 동적인 개념이라고 보면 된다. 스레드(thread)는 프로세스의 하부 작업 단위로서, 프로세스 내부에서 실행되는 일련의 실행 흐름이다. 이 프로세스와 스레드의 개념은 결국 멀티 프로세싱과 멀티 스레딩과 관련이 있다. 멀티 프로세싱은 하나의 애플리케이션을 여러 개의 프로세스로 구성하여 하나의 태스크를 처리할 수 있도록 하는 것이다. 멀티 스레딩은 하나의 애플리케이션을 여러 개의 스레드로 구성하여 하나의 태스크를 처리할 수 있도록 하는 것이다. 멀티 프로세싱보다.. 2021. 9. 18.
728x90