아카이브/Computer Science4 Linear Sorting Algorithm 오늘도 신나게 알고리즘을 해봅니다. 6006의 Lecture 5의 주제는 Linear Sort Algorithm입니다. Linear Sort란 정렬을 \(O(n)\)으로 해결하는 것을 뜻합니다. 원본 자료는 스토리가 있습니다. Direct Access Array Sort => Counting Sort => Tuple Sort => Radix Sort순서로 구성되어 있습니다. 이해하긴 참으로 힘들지만 그래도 열심히 노력해봅니다. Direct Access Array Sort Array를 이용해 정렬을 수행하는 알고리즘. \(O(u) \text{ where u is max key of array}\) 한 Array를 정렬하는 방법 중 단순하게 떠올릴 수 있는 방법은, Array의 모든 아이템의 key값이 정수.. 2024. 4. 10. 6.006 Lecture2 - 데이터 구조란 + Static Array로 sequence 이해하기 안녕하세요 집 DS입니다. 지도를 하기로 마음먹었지만 그래도 컴퓨터에 대한 지식은 여전히 필요합니다. 그중 데이터 구조이해로부터 나오는 알고리즘 구현은 특히나 중요한 부분입니다. 모든 부분을 설명할 순 없지만 제가 얘기하고 싶고 이해한 부분을 공유하고자 합니다. 자료구조(Data Structure)란 흔히들 자료구조를 푼다. 자료구조를 구현한다라는 말을 많이 쓰곤합니다. 프로그래밍을 처음 접했을 때나 지금이나 다소 이해가 안 될 때가 있습니다. 그럼 수업 자료를 기준으로 자료구조란 무엇인지 얘기해 보도록 하겠습니다. A data structure is a way to store data, with algorithms that support operations on the data 위 내용을 해석해보면 자.. 2024. 1. 31. 6.006 Lecture1 - 알고리즘이란 안녕하세요 집DS입니다. 저는 알고리즘 공부를 하다말다 그러곤 했습니다. 지금까진 특별한 목적이 없었기 때문에 그랬던 것 같습니다. 최근엔 다시 목표가 생겨 차근차근 해나가고 있습니다. 그 중 6006이라는 MIT 수업이 가장 마음에 들어서 다시 내용을 보고 공부하고 있습니다. 공부중에 가장 큰 공부는 누군가를 가르치는 것이라고 합니다. 그럼 누군가를 가르친다는 마음으로 내용을 정리해보도록 하겠습니다. 알고리즘이란? 알고리즘을 글자 그대로 말하면 매우 쉽습니다. 수업 내용대로 한다면 다음과 같습니다 알고리즘 : 주어진 문제를 1)정확 2)효율적으로 해결하는 절차, 방법, 규칙들의 집합 쉽습니다. 말은. 그럼 문제란 무엇일까요? 우리는 흔히 문제를 해결한다는 말을 씁니다. 그리고 실생활의 문제를 해결하는 .. 2024. 1. 16. Coursera Programming Language Part B : Intro to racket Week1 -Intro To Racket Nov 27, 2023, 6 min read 교수의 참 쉽죠라는 말처럼 그냥 재미있다 보고 있다가 슬슬 어려워지는것 같아 내용을 정리해서 넣어본다 1 ML에서 Racket으로 넘어가기 § 여러가지가 이유가 있겠지만 이제는 racket으로 넘어간다. 내 생각에는 dynamic type environment를 체험시켜주려는 의도인 것 같다. 인터넷을 좀 찾아봐도 Racket이라는 언어의 유용성은 그닥 찾아볼 수 없다. 프로그래밍에서 필요한 용어와 개념을 익히기 위한 것이라고 생각하면 편할 듯 싶다. 1.1 역사 § 이 아저씨는 Racket을 좀 좋아하는 모양이다. 간단한 역사는 이렇다고 한다. LISP라는 언어가 Scheme이 되고, Scheme이 Racket이 되었.. 2023. 11. 27. 이전 1 다음