분류 전체보기(25)
-
[알고리즘] 정렬-선택정렬(selection sort)
숭실대학교 컴퓨터학부의 알고리즘 수업을 들으며 정리한 내용입니다.참고교재: 쉽게 배우는 알고리즘(문병로)기본적인 정렬 알고리즘 O(n^2)1.선택정렬2.버블정렬3.삽입정렬 고급 정렬 알고리즘 O(n*logn) 1.병합정렬2.퀵정렬3.힙정렬 특수 정렬 알고리즘 O(n) 1.계수정렬2.기수정렬 선택정렬이란기본 정렬 알고리즘 중 하나인 선택정렬에 대해 알아보겠습니다.선택 정렬(selection sort)은 구현이 간단하고 O(n^2)의 시간복잡도를 가지는 정렬 알고리즘 중 하나입니다. 이 알고리즘의 기본 아이디어는 아직 정렬되지 않은 부분에서 가장 작은 (또는 가장 큰) 요소를 찾아서 정렬된 부분과 교환하는 것입니다. 이러한 과정을 반복하면서 전체 배열을 정렬합니다. 선택 정렬의 동작 방식은 다음과 같습니다:..
2024.01.01 -
[알고리즘] 정렬 알고리즘
숭실대학교 컴퓨터학부의 알고리즘 수업을 들으며 정리한 내용입니다.참고교재: 쉽게 배우는 알고리즘(문병로)다양한 정렬 알고리즘정렬 알고리즘은 데이터를 특정한 순서로 나열하는 알고리즘을 말합니다. 여러 가지 종류의 정렬 알고리즘이 있으며, 각각의 알고리즘은 그 성능과 효율성에 차이가 있습니다. 기본적인 정렬 알고리즘 O(n^2)선택 정렬(Selection Sort): 주어진 리스트 중에서 최소값을 찾고, 그 값을 맨 앞에 위치한 값과 바꾸는 방법입니다. 이 과정을 반복하여 정렬을 완성합니다.버블 정렬(Bubble Sort): 인접한 두 개의 원소를 비교하여 자리를 바꾸는 과정을 반복하여 모든 원소를 순서에 맞게 만드는 방법입니다.삽입 정렬(Insertion Sort): 각 숫자를 적절한 위치에 삽입하는 방..
2023.12.31 -
[알고리즘] 알고리즘의 점근적 표기
숭실대학교 컴퓨터학부의 알고리즘 수업을 들으며 정리한 내용입니다.참고교재: 쉽게 배우는 알고리즘(문병로) 알고리즘의 점근적 표기란알고리즘의 점근적 표기는 알고리즘의 효율성을 표현하는 데 사용되는 수학적 표기법입니다. 이는 알고리즘의 시간 복잡도와 공간 복잡도를 평가하는 데 사용되며, 특히 입력의 크기가 커질 때 알고리즘의 동작을 설명하는 데 유용합니다 점근적 표기법은 일반적으로 5가지가 있습니다. 1. 빅 오(Big O)2. 빅 오메가(Big Ω)3. 빅 세타(Big Θ)4. 리틀 오(Little o)5.리틀 오메가(Little ω) 1. 빅 오(Big O)주어진 함수 f(n)이 O(g(n))이라고 할 때, 양의 상수 c와 n0이 존재하여 모든 n > n0에 대해 |f(n)| . 2. 빅 오메가(Big..
2023.12.30 -
[알고리즘] 알고리즘 입문
숭실대학교 컴퓨터학부의 알고리즘 수업을 들으며 정리한 내용입니다.참고교재: 쉽게 배우는 알고리즘(문병로) 알고리즘이란1. 알고리즘 분석의 필요성: 알고리즘 분석은 문제 해결에 필요한 효율성을 결정하는 중요한 과정입니다. 이를 통해 어떤 알고리즘이 가장 효과적인, 어떤 컴퓨팅 리소스를 필요로 하는지 파악할 수 있습니다. 또한, 복잡한 문제나 큰 데이터 세트를 처리할 때, 알고리즘의 효율성은 중요한 역할을 합니다. 따라서, 알고리즘 분석은 최적의 알고리즘 선택과 컴퓨팅 리소스의 적절한 사용에 중요한 역할을 합니다. 2. 알고리즘의 수행시간: 알고리즘의 수행시간은 알고리즘의 효율성을 측정하는 기본적인 척도입니다. 이는 입력 크기와 연산의 복잡성에 따라 달라집니다. 일반적으로 알고리즘의 수행시간은 '빅 오(B..
2023.12.30 -
[안드로이드 sns앱 만들기] NearBy 실행 화면 (3)
1. 로그인 / 회원가입 기능 이메일과 비밀번호를 입력하여 계정을 생성합니다. 이메일이 형식에 맞지 않거나 비밀번호가 6자리 이상이 아니면 파이어베이스에 계정이 생성되지 않도록 하였습니다. 회원 가입을 완료하면 Firestore database의 users 컬렉션에 해당 계정의 userId 이름으로 된 문서가 새로 생성됩니다. 이후, 프로필 사진을 갤러리에서 불러와 프로필 사진과 닉네임을 설정할 수 있습니다. 프로필 사진 설정 시, 사용자가 올린 사진을 바로 화면에 적용하는 방식을 이용해, 사용자의 편의성을 높였습니다. 이때 닉네임 중복 확인을 하는데, 중복된 닉네임이 있다면 중복되었다는 토스트를 띄워줍니다. 2. 메인 페이지 bottom navigation을 구현하였습니다. mainListFragmen..
2023.12.27 -
[안드로이드 sns앱 만들기]NearBy 디자인,와이어 프레임(2) 2023.12.16