오늘 배운 것 :
시간복잡도 (Time Complexity) 빅-O 표기법
어떤 상황에서 시간복잡도가 늘어나는가
자주쓰는 객체 서비스 메소드에서의 시간 복잡도
● Arrays.sort/Collection.sort --> O(n log n)
● String.subString(int startIndex, int endlIndex) --> O(n) (n = string의 길이)
● List.subList --> O(n)
● List.add(Element e) --> element e 를 끝에 추가 --> O(1)
Array에서 element 하나 추가 --> O(n)
검색 팁 ) Collections.sort() java complexity
연산횟수가 ~ 10^8 정도인 알고리즘 까지는 사용하기 나쁘지 않다
느낀 점:
StringBuilder 좋다
알고리즘은 어렵긴한데 시간복잡도 생각하면서 만드는 건 재밌는 듯
수학적 정리같은 거 적용해서 누가 코드로 만들어놓으면 복붙해서 가져다 쓰는 건 할 수 있을 것 같은데 직접 만들라고 하면 일단 수학 표기법부터 공부해야함 ㅋㅋ
아니 무슨... 어질어질하네;
아쉬웠던 점:
모바일 코틀린 까지 빠르게 공부하고 c++로 OS 기반 클라이언트 플랫폼 쪽도 재미로 들여다 보고 싶은데
일단 웹 애플리케이션 부터가 발전 속도랑 내용이 방대해서 뇌 한구석이 얼얼함