정의💡 한쪽 끝에서 시작하여 원하는 요소를 찾을 때까지 목록의 각 요소를 조사하는 알고리즘요소를 찾지 못하는 경우에는 데이터셋의 끝까지 간다.효용배열, 연결리스트의 정렬여부와 무관하게 원소를 탐색할 수 있음그러나 배열이 정렬되어 있고 원소가 배열 내에 존재하는 경우에 탐색 성능이 올라감절차1. 시작: 컬렉션의 첫번째 원소에서부터 시작2. 비교: 현재의 원소와 찾고자하는 원소와 비교3. 확인: 현재 원소가 찾고자하는 원소인 경우 true 또는 현재 원소의 인덱스를 반환4. 이동: 찾고자 하는 원소가 아닌 경우에는 컬렉션의 다음 원소로 이동5. 반복: 컬렉션의 끝에 도달할 때까지 2에서 4의 과정을 반복6. 찾지 못한 경우: 컬렉션의 끝에 도달해도 원소를 찾을 수 없는 경우에는 찾을 수 없음 반환구현Hor..
컴퓨터란?아침에 일어나서 자기 전까지 컴퓨터는 우리 삶에 항상 붙어 있다. 날씨 확인, 이메일 보내기, 유튜브 스트리밍 등 모두 컴퓨터가 있어서 가능한 일이다. 그러면 컴퓨터란 정확히 무엇일까? 컴퓨터는 데이터를 처리하고 연산을 수행하기 위해 설계된 전자기기다. 맥북, 노트북부터 스마트폰까지 모두 컴퓨터에 해당한다.컴퓨터의 성능컴퓨터로 작업하다가 간혹 느려질 때가 있다. 웹 사이트에 접속하려고 하는데 로딩이 3초 이상 걸릴 때도 있고, 컴퓨터를 켤 때 평소보다 느려지는 경우도 있다. 대부분 이러한 문제는 성능과 관련되어 있다. 컴퓨터의 성능을 표현하는 여러 가지 방법이 있지만, 최대한 추상화하면 다음과 같다:💡 데이터를 얼마나 짧은 시간 동안 얼마만큼의 양을 많이 처리할 수 있는가? 컴퓨터는 CPU, ..
정의💡 서로 인접한 두 원소를 검사하여 정렬하는 알고리즘버블 정렬은 다른 정렬과 다르게 모든 원소를 비교하는 것이 특징이다. 구현#include using namespace std;int main(){ int arr[] = {3,2,4,1,5}; int n = sizeof(arr) / sizeof(int); for(int i = 0; i arr[j+1]){ swap(arr[j], arr[j+1]); } } } for(int i = 0; i
정렬이란?💡원소들의 크기에 따라 순서를 배치하는 것내림차순: 크기가 증가하는 순으로 원소들을 배치하는 것오름차순: 크기가 감소가는 순으로 원소들을 배치하는 것 선택정렬(Selection Sort)💡리스트를 반복적으로 순회하며 현재 위치에 맞는 값을 선택하여 제자리에 놓는 방식동작방식초기상태첫번째 반복두번째 반복반복종료구현#include using namespace std;int main(){ int arr[] = {8, 3, 2, 5, 1, 1, 2, 5, 8, 9}; int size = sizeof(arr) / sizeof(arr[0]); // 선택정렬 for (int i = 0; i arr[j]) { swap(a..