23.12.13

KSang·2023년 12월 13일
1

TIL

목록 보기
11/101

복잡도

알고리즘 성능을 평가하기 위해 복잡도의 척도를 사용한다

동일한 기능을 수행하는 알고리즘이 있을 경우 복잡도가 낮을 수록 좋은 알고리즘 이라고함

그중 시간 복잡도와 공간 복잡도가 포함되어 있다

시간 복잡도는 알고리즘 수행 시간을 분석하고
공간 복잡도는 알고리즘의 메모리 사용량을 분석한다

컬렉션의 시간 복잡도

StringBuilder

String += 혹은 + 연산의 경우 시간 복잡도가 O(N + K)이다

이런 연산은 StringBuilder나 StringBuffer를 이용할 경우 보통 O(1)에 해결할 수 있으며

시간 복잡도를 크게 줄일 수 있다.

안드로이드 OS의 주요 특징

  1. 오픈 소스: 안드로이드는 오픈 소스 소프트웨어로서, 개발자들이 소스 코드에 접근하여 이를 수정하고 배포할 수 있게 합니다. 이는 다양한 제조사가 자신들의 기기에 맞춤형 안드로이드 버전을 개발할 수 있게 해줍니다.
  2. 다양한 하드웨어 지원: 안드로이드는 다양한 하드웨어 플랫폼을 지원합니다. 이는 제조업체가 다양한 종류의 기기를 출시할 수 있게 하며, 소비자에게는 더 많은 선택권을 제공합니다.
  3. 구글 서비스와의 통합: 안드로이드는 구글 플레이 스토어를 포함한 구글의 다양한 서비스와 밀접하게 통합되어 있습니다. 이를 통해 사용자는 앱, 게임, 책, 영화 등 다양한 콘텐츠에 쉽게 접근할 수 있습니다.
  4. 커스터마이징 가능: 안드로이드는 홈 스크린 위젯, 라이브 배경화면, 다양한 런처 앱 등을 통해 사용자 맞춤화가 가능합니다. 사용자는 자신의 기기를 개인의 취향에 맞게 조정할 수 있습니다.
  5. 멀티태스킹: 안드로이드는 강력한 멀티태스킹 기능을 지원하여 사용자가 여러 애플리케이션을 동시에 실행하고 쉽게 전환할 수 있게 합니다.
  6. 알림 시스템: 안드로이드는 사용자에게 애플리케이션 알림을 효과적으로 제공하는 직관적인 알림 시스템을 갖추고 있습니다. 이를 통해 사용자는 중요한 정보를 빠르게 확인할 수 있습니다.
  7. 보안: 안드로이드는 앱 권한 관리, Google Play Protect, 월간 보안 업데이트 등을 통해 기기의 보안을 강화합니다.
  8. 업데이트와 지원: 안드로이드는 정기적인 업데이트를 통해 새로운 기능을 추가하고 보안을 강화합니다. 하지만 업데이트의 적용은 기기 제조사와 모델에 따라 다를 수 있습니다.
  9. 개발자 지원: 안드로이드는 개발자가 앱을 쉽게 개발하고 배포할 수 있도록 다양한 도구와 API를 제공합니다.
  10. 대규모 사용자 기반: 안드로이드는 전 세계에서 가장 널리 사용되는 모바일 OS 중 하나로, 대규모의 사용자 기반을 갖추고 있어 앱 개발자들에게 매력적인 플랫폼입니다.

0개의 댓글