분류 전체보기100 [Sort] Bucket Sort 이번 글은 bucket sort를 다뤄보겠습니다. 아마 생소할 지도 모르겠네요.Bucket sort는 non-comparision sort로 먼저 소개했었습니다.차차 과정을 보면서 설명하겠지만 이 정렬은 이름대로 바구니를 사용하는 정렬이라고 생각하면 좋을 것 같습니다. Bucket sort는 크게 세 단계가 있습니다. 1. key를 bucket 안에 넣는다.- 이때 bucket은 key들의 특정한 공통점을 말합니다. 예를 key가 같거나, 자릿수가 같거나, 어떠한 범위가 될 수도 있습니다.2. bucket 정렬이 필요하면 bucket을 정렬한다. 그리고 bucket 안의 key를 정렬한다.3. 정렬된 모든 key를 모은다.이렇게 하면 정렬된 배열을 얻을 수 있습니다. 코드를 통해 알아봅시다.이 코드는 .. 2025. 4. 24. [Sort] Insertion Sort Insertion Sort도 유명한 정렬 중 하나이죠.Insertion Sort는 k번째 탐색과정에서 k번째로 작은 요소를 그 앞 배열에 적절한 위치에 삽입하는 것입니다.즉, 각 과정에서 요소는 자신의 위치까지 앞에 있는 요소와 교환되는 것입니다.그림을 보면 이렇게 변경됩니다.화살표로 요소들이 swap되는 것을 볼 수 있습니다. 그럼 반복문을 통해 코드를 구현해 볼까요.void insertionSort(int list[], int n) { cout " =0 && list[j]>key ) { cout " 이번에는 swap 말고 move라고 표현해봤습니다.k번째 요소를 key로 두고 그 앞의 요소를 뒤로 한 칸씩 미룬 뒤에, key를 삽입하는 방법입니다. 결과는 이렇게 나옵니다... 2025. 4. 22. [Sort] Selection sort 이번 글에서는 selection sort를 정리해봅시다.Selection sort는 각 단계마다 가장 작은 key를 찾아서 적절한 위치에 넣는 정렬입니다.위의 그림을 보면 각 단계별로 바뀌는 배열을 볼 수 있습니다. 매우 직관적인 방법이죠.설명보단 바로 코드를 봐볼까요 void selectionSort(int list[], int n) { cout " 코드를 살펴봅시다. 1. 먼저 각 단계마다 배열에서 최소값을 구합니다.for (int i=0; i 2. 그리고 최소값이 들어갈 위치에 있는 값과 최소값을 교환합니다.int temp = list[i]; list[i] = list[min_index]; list[min_index] = temp; 그럼 결과를 확인해 볼까요 응용.. 2025. 4. 21. [Sort] Bubble sort 첫 번째로 가져온 건 bubble sort 입니다.Bubble sort는 정렬되는 모습이 수면 위로 올라오는 거품과 비슷해 붙여진 이름입니다.그림을 보면 다음과 같습니다.각 pass에서 작은 key가 점차 올라오는 것을 볼 수 있습니다.인접한 key를 비교하여 바꾸는 방법으로 정렬됩니다. 이 방법은 작은 key부터 왼쪽으로 정렬하는 반면,큰 key부터 오른쪽으로 정렬하는 방법도 있습니다.그 2가지 경우의 코드를 모두 봐보겠습니다. - 작은 key부터 왼쪽으로 정렬// list: given unsorted array, n: number of elementsvoid bubbleSort_ver1(int list[], int n){ cout " i; j--) { if (list[j] .. 2025. 4. 21. [Sort] Intro 오랜만에 글을 쓰러 왔습니다. 왜냐면 그동안 바빴다가 휴학을 했기 때문이죠. 휴학하면서 배웠던 내용도 정리하고, 코딩을 꾸준히 해서 실력을 높여보려 합니다. 오늘은 정렬을 가져와봤습니다.1. 정의정렬(sort)은 요소(element)들을 특정 기준에 따라 재배열하는 것입니다.각각의 요소는 (key, info)로 주어집니다.대표적인 것은 숫자와 문자의 정렬이 있습니다. 이들은 보통 내림차순, 오름차순으로 정렬됩니다. 2. 분류1) Memory usageInternal(In-memory) sort$ O(n^2) $ : bubble sort, selection sort, insertion sort$ O(n log{n}) $ : heap sort, quick sort, mergy sortExternal sort.. 2025. 4. 17. 강화학습 개념 강화학습 공부를 해보려 합니다. 궁금하고 흥미롭긴 했는데 고등학생 때 유니티로 처음 접해서 잠깐 때려치고 있다가 파이썬이라도 해보자 하고 다시 공부하려합니다. 이미 알고 있는 내용이라도 기록을 남기는 것이니 처음부터 차근차근 해보겠습니다. 원래 방학 목표였지만 이것저것 일이 많았던 관계로 학기중에 2주일에 한번이라도 글을 써보겠습니다.1. 강화학습(Reinforcement learning)"지도학습", "비지도학습", "강화학습"으로 나뉘는 머신러닝에서 강화학습을 공부해봅시다. 강화학습은 어떤 환경 안에서 정의된 에이전트(Agent)가 현재의 상태(State)를 인식하여, 선택 가능한 행동들(정책, Policy) 중 보상(Reward)을 최대화하는 행동 혹은 행동 순서를 선택하는 방법으로 학습하는 방법입.. 2024. 9. 1. [Campbell] 27. The Nervous System - 2 척추동물의 신경계는 CNS와 PNS로 나뉩니다. CNS는 말초 신경에서 오는 신호를 해석하고 다른 말초 신경을 통해 반응을 보내는 역할을 하죠. CNS는 뇌와 척수로 구분됩니다. Brain은 조절의 중심으로 감각 기관의 데이터를 통합하고 운동 제어 센터에서 명령을 보냅니다. Spin cords는 spinal column을 통과하는 신경 섬유 다발로 뇌와 신체의 나머지 부분 사이에서 통신 통로를 형성합니다. Cerebrospinal fluid(CSF - 뇌척수액)은 동맥혈이 여과되어 뇌에서 형성되는 액체로, 뇌와 척수를 둘러싸고 있습니다. CNS에 영양분과 호르몬을 공급하고 노폐물을 운반하는 역할을 합니다.Meninges(수막)은 뇌와 척수를 보호하는 결합 조직 층으로 얇은 막입니다. 이곳에 염증이 생기는.. 2024. 5. 30. [Campbell] 27. The Nervous System - 1 Nervous system은 몸 전체에 걸쳐 의사소통과 조절의 network를 형성합니다. 신경세포는 neuron이라 하고, 신체의 한 부분에서 다른 부분으로 전기 신호를 전달합니다. 수 천개의 다른 뉴런과 통신하며 움직이고, 배우고, 기억하는 등의 network를 형성하게 됩니다. Neuron의 구조는 다음과 같습니다.Dendrites(가지돌기, 수상돌기)는 다른 뉴련에서 정보를 받에 신경세포체로 전달합니다.Axon(축삭)은 receiving cell로 신호를 전달합니다.Synaptic terminal은 receiving cell로 신호를 전달하는 축삭돌기의 말단입니다.Myelin sheath(미엘린 수초)는 신경을 감싸고 있는 절연체인 세포 사슬을 이고, 슈반세포로 이루어져 있습니다. 신호 전달 속도.. 2024. 5. 30. [Campbell] 25. Hormones - 2 이자에서는 길항작용을 하고 혈당을 조절하는 2개의 호르몬이 있습니다.Insulin의 표적세포는 간과 근육으로, 체세포에 포도당을 저장하고, 간에서 포도당을 글리코젠으로 바꿔 혈당을 낮춥니다. Glucagon은 간에서 글리코젠을 포도당으로 바꿔 혈당을 올립니다. Diabetes mellitus(당뇨)는 체세포가 포도당을 흡수하지 못하는 병입니다.Type 1은 인슐린이 부족하여 생기는 병으로 치료를 위해 인슐린 주사를 투여합니다.Type 2는 표적 세포가 인슐린에 정상 반응을 하지 않아 포도당 흡수를 하지 못합니다. 인슐린을 많이 투여하여 반응을 할 수 있도록 합니다.임신성 당뇨는 임신 중인 여성에게 일어날 수 있는 당뇨입니다. Adrenal Grands(부신)은 콩팥 위에 있는 기관으로 adrenal me.. 2024. 5. 29. 이전 1 2 3 4 ··· 12 다음