자료구조(2)
-
테스트를 더 빨리 끝내보기 (feat. 자료구조, singletonList)
https://github.com/xpmxf4/HaeChuk-Gallery/blob/main/src/test/java/HailYoungHan/Board/controller/PostControllerTest.java 위와 같은 코드가 있는 데 테스트하는 게 일일이 귀찮아서 시작했던 테스트 코드를 이제는 더 빨리 굴려볼 수는 없을까 라는 고민이 들어 코드를 한번 개선해보고자 했습니다. 그렇다면 어떤 부분을 개선할 수 있을까 라는 고민을 하다가 List allPosts 부분을 봤습니다. 자료구조를 사용한다면 어떻게 더 빠른 코드가 생성이 될 수도 있지 않을까 싶었습니다. 그래서 다음 2가지 코드를 한번 짜봤습니다. List 자료구조를 활용해 게시물 담기 처음은 기존처럼 Arrays.asList() 를 사용해 ..
2023.11.02 -
거품 정렬(Bubble Sort)이란?
거품 정렬(Bubble Sort)은 인접한 두 원소의 대소 관계를 비교하여 작은 값의 원소를 앞으로, 큰 값의 원소를 뒤로 교환하면서 정렬하는 알고리즘이다. 자료구조와 알고리즘을 공부해본 사람이라면 알겠지만, 가장 먼저 배우는 정렬 기법이기도 하다. 왜냐하면 이 알고리즘은 구현하기도, 이해하기에도 정말 쉽다는 게 장점이다. 하지만 으레 모든 방법이 장점이 있다면, 그에 수반하는 단점도 있는 법. 거품 정렬은 비교와 교환을 반복하면서 시간 복잡도가 O(n^2)으로 비효율적이며 정렬된 데이터에 대해서도 비교를 계속 하므로 최선의 경우에도 O(n^2)의 시간복잡도를 가지게 된다. 아래는 자바로 구현한 거품 정렬이다. public static void main(String[] args) { int[] arr =..
2023.03.15