2024/04/04 3

정렬 알고리즘 (거품, 선택, 삽입, 퀵, 병합, 힙, 계수 정렬)

Sorting FIFO(First In, First Out) 구조 삽입과 삭제 연산이 서로 다른 한 군데 느린 알고리즘의 경우 시간복잡도가 O(N^2), 빠른경우 O(NlogN) 안정성이 보장되는 경우인지 판단해야함 안정성 보장 : 같은 키를 가진 데이터의 순서가 안 바뀜 1. 거품정렬 (Bubble Sort) 첫번째 원소부터 인접한 원소와 비교하며 자리를 바꾸며 맨 끝부터 정렬 가장 큰 값을 하나씩 뒤로 보내면서 뒤쪽부터 정렬 안정성 보장 O 시간 복잡도 : O(N^2) -> 비효율적 void bubble_sort(int list[], int n){ int i, j, temp; for(i=n-1; i>0; i--){ // 0 ~ (i-1)까지 반복 for(j=0; j

algorithm/정리 2024.04.04

도메인 모델 패턴, 트랜잭션 스트립트 패턴

도메인 모델 패턴 도메인을 모든 사람이 이해하고 공유 가능하도록 단순화시킨 모델 DDD(Domain Driven Design) 개발 방식을 따르는 패턴 서비스 계층에 비즈니스 로직이 거의 없고 엔티티 내부에 비즈니스 로직을 구현해 엔티티의 객체지향 활용 엔티티 안 비즈니스 로직이 구현되어 있어 DTO와 엔티티의 차이를 쉽게 파악 가능하지만 각 객체들의 관계를 정립해야 하며 DB 사이 매핑 관계를 더 고려해야함 도메인 모델 패턴을 적용한 코드 (김영한 실전 스프링부트와 JPA와 활용1 중 일부) @Entity @Table(name = "orders") @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Order {..

backend/springboot 2024.04.04