목록프로그래밍 (3)
Love Every Moment
1. 알고리즘(Algorithms) (1) 선형 검색(Linear Search) 배열의 인덱스를 처음부터 끝까지 하나씩 증가시키면서 찾는 방법이다.배열이 정렬되어 있지 않을 경우에 유용하다. (2) 이진 검색(Binary Search) 배열의 중간 인덱스부터 시작하여 찾고자하는 값보다 큰 인덱스 또는 작은 인덱스로 이동하여 중간 인덱스를 검사하는 것을 반복하여 찾는 방법이다. 배열이 정렬되어 있을 경우에 유용하다. (3) 알고리즘 효율성 분석 알고리즘의 효율성을 분석하는 방법으로는 시간 복잡도와 공간 복잡도가 있는데 보통 위와 같은 시간 복잡도를 사용한다. Big O 와 Big Ω는 g(n)을 상한으로 표시하기 때문에 점근적 상한과 점근적 하한을 나타낸다. 예를 들어, 선택 정렬은 n(n-1)/2 번의 ..
1. C언어 기초 (1) printf() : 뒤에 나오는 문장을 출력하는 역할을 하며 쌍따옴표 " " 안에 문장을 작성해야함 (2) 세미콜론(;) : 함수를 작성하고나서 마지막에 붙여주어야 함 (3) clang : 소스코드(hello.c)를 머신코드(a.out)로 변환시켜주는 컴파일러 명령어 * make : clang 보다 간단하게 머신코드 파일을 만들어주는 명령어 * 위의 사진처럼 clang animal.c -lcs50 보다 쉽게 머신코드 파일 animal 을 만들어준다 (4) ./ : 머신코드 파일을 실행하는 역할 2. 문자열(string) (1) get_string() : 스크래치에서의 ask 함수와 같은 역할을 하며 사용자의 답변을 왼쪽의 변수에 저장한다 string animal = get_str..
하버드 대학에서 제공하는 무료 온라인 컴퓨터 프로그래밍 입문 강의 CS50 ! 비전공자에 코딩에 대해 문외한이었기 때문에 C언어를 기초부터 배우고 싶어 본 강의를 수강하게 되었다. 마침 네이버 부스트코스에서 온라인 스터디를 모집하고 있어서 신청하였고 일주일 전에 선발되었다는 연락을 받았다. 부스트코스 코칭 스터디 2기에서는 기본적으로 CS50 강의를 통해 스스로 학습하는 것을 기본 전제로 하면서 매주 라이브 강의와 조별 미션을 진행할 예정이다. 아무래도 오프라인 스터디보다 활발한 소통이나 시너지는 기대하기 어렵겠지만 완전히 혼자서 공부하는 것보다 함께 공부하는 사람들이 있다는 것만으로 서로 힘이 되어주는 것 같다. 블로그에는 매주 강의를 수강하면서 내용 요약과 실습 과정에서 헷갈렸던 부분 등을 기록해보려..