본문 바로가기
반응형

분류 전체보기66

[Java] 스택(Stack)과 큐(Queue) ✔️스택과 큐 란? 스택과 큐는 각각 후입선출(LIFO, Last In First Out)과 선입선출(FIFO, First In First Out) 원칙을 따르며, 이 두 자료구조를 이해하면 프로그래밍에서 데이터 처리 및 알고리즘 구현에 유용하게 활용할 수 있다. 💡 스택(Stack) 스택은 한 쪽 끝에서만 데이터의 추가와 삭제가 일어나는 자료구조입니다. 가장 위에 있는 항목이 가장 먼저 제거되는 후입선출(LIFO) 원칙을 따릅니다. 주로 함수 호출과 같은 임시 데이터 저장, 역추적 등에 사용됩니다. 자바에서는 java.util.Stack 클래스를 사용하여 스택을 구현할 수 있습니다. 💡 스택(Stack)의 주요 함수 push(item): 스택의 맨 위에 요소를 추가합니다. pop(): 스택의 맨 위에서.. 2023. 8. 24.
[Algorithm] 시간복잡도 ✔️시간 복잡도란? 시간 복잡도는 알고리즘의 수행 시간이 입력 크기에 어떻게 의존하는지를 나타내는 개념입니다. 즉, 알고리즘이 얼마나 빠르게 실행되는지를 표현하는 지표입니다. 알고리즘의 성능을 분석하고 비교하기 위해 중요한 개념 중 하나입니다. 💡 Big-O 표기법 알고리즘의 시간 복잡도를 나타내는 방법 중 하나로 Big-O 표기법이 있습니다. Big-O 표기법은 알고리즘의 최악의 경우 실행 시간의 상한을 표현합니다. 이는 입력 크기에 따른 알고리즘의 실행 시간의 증가 추이를 나타내는 것으로, 주로 가장 느린 실행 시간을 고려하는 것이기 때문에 실제로 알고리즘이 얼마나 빠른지를 정확하게 나타내지는 않을 수 있습니다. 📌상수 시간 복잡도 (O(1)) 알고리즘의 실행 시간이 입력 크기에 상관없이 일정한 상수.. 2023. 8. 21.
[CS] 절차지향 vs 객체지향 ✔️절차지향 프로그래밍 이란? 절차지향 프로그래밍은 프로그램을 수행해야 할 작업 단계들의 연속으로 간주합니다. 프로그램은 일련의 함수나 절차들의 집합으로 구성되며, 데이터와 함수(절차)가 분리되어 있습니다. 주로 C, Pascal, Fortran과 같은 언어에서 많이 사용되었습니다. 💡특징 프로그램이 수행해야 할 일련의 단계를 중심으로 설계됩니다. 데이터와 함수(절차)가 분리되어 관리됩니다. 프로그램의 흐름이 상대적으로 직관적이며, 단순한 작업에 적합합니다. 작은 규모의 프로젝트나 선형적인 흐름이 필요한 경우에 유용합니다. 💡장점 간단하고 직관적인 프로그램 작성이 가능합니다. 작은 규모의 프로젝트에서 성능 면에서 효율적입니다. 💡단점 대규모 프로젝트의 복잡성을 다루기 어려울 수 있습니다. 유지보수와 확장.. 2023. 8. 20.
[CS] MVC 패턴 ✔️MVC 패턴이란? MVC 패턴은 소프트웨어 개발에서 사용자 인터페이스를 분리하고 관리하기 위한 디자인 패턴입니다. 애플리케이션을 모델(Model), 뷰(View), 컨트롤러(Controller) 세 가지 요소로 나누어 설계하며, 각 요소는 독립적으로 역할을 수행하면서도 연결되어 작동합니다. 위의 그림처럼 Client는 Controller에 API를 요청➡️Controller는 Model에게 데이터 요청➡️다시 데이터를 Controller에 전달➡️Controller는 받은 데이터를 View에 전달➡️View는 데이터를 시각화하여 Client에 전달하여 표시 MVC 패턴을 사용하면 복잡한 애플리케이션의 구조를 단순화하고 관리하기가 용이 해 지며,코드의 가독성,유지보수성,재사용성을 높일 수 있습니다. 💡.. 2023. 8. 18.
반응형