정보) 컴퓨터공학과 과목 맛보기 - 4. 알고리즘
게시글 주소: https://a.orbi.kr/00066884548
오늘은 '알고리즘' 과목입니다.
컴퓨터과학을 배운다면 빠질 수 없는 바로 그 과목이죠.
백준, 코드포스와 같은 Problem Solving을 하기 위한 기본 지식을 배울 수 있는 과목입니다.
요즘 취직에 필수적인 코딩 테스트를 준비하기 위해서는 이 과목은 열심히 들어야겠죠.
필자가 이 과목을 수강했던 학기는 2020년(2학년) 2학기, 평점은 A+였습니다.
---------------------------------------------------------
알고리즘이란 과연 무엇인가?에 대해서 교수님이 수업 첫날에 보여주신 영상입니다.
알고리즘은 '어떤 문제를 해결하기 위한 절차'를 말합니다.
알고리즘을 많이 알고 있으면
어떤 상황에서 어떤 알고리즘이 좋을지 판단할 수 있고,
더 효율적인 프로그램을 작성할 수 있을 것입니다.
소프트웨어 엔지니어라면 필수적으로 알고 있어야 한다는 뜻이겠죠.
알고리즘은 얼마나 '효율적'인가를 판단하게 되는데요.
이때의 효율이란 Input으로 들어오는 양에 대해 얼마나 빠른 속도로 처리되는 지를 말합니다.
흔히 Big-O라고 하죠.
예를 들어 O(n)인 알고리즘은 Input Size가 2배가 되면 처리 시간도 2배가 되는거고요,
O(n^2)의 알고리즘은 Input Size가 2배가 되면 처리 시간은 2^2=4배가 되는겁니다.
과제로는 위처럼 어떤 알고리즘의 시간 복잡도를 직접 계산해보는걸 했었네요.
그 다음으로는 본격적인 알고리즘에 대해 배우는데요.
정렬에 대한 내용을 배웁니다.
정렬이란 건 말 그대로 여러 데이터들이 모여있을 때, 이를 순서대로 줄 세우는 작업을 말합니다.
Sorting은 알고리즘 수업에서 뗄레야 뗄 수 없는 내용인데요.
워낙 종류가 많기도 하고 시간 복잡도도 전부 달라서
알고리즘에 대해 설명하기 좋은 예시가 되기 때문입니다.
Insertion Sort, Merge Sort, Quick Sort, Count Sort, Radix Sort 등
많은 정렬 알고리즘의 시간 복잡도, 특징, 구현 방법 등에 대해 배웁니다.
이렇게 한 줄로 정리했지만 실제 배우는 내용은 무지 많습니다.
다음으로는 Problem Solving을 공부할 때 빠지지 않는 Dynamic Programming입니다.
이건 어떤 알고리즘 문제를 풀 때의 방법론?이라고 할 수 있는데요.
점화식을 세운다고 생각하시면 됩니다.
슬라이드에 나와있는 예시처럼 피보나치 숫자를 구하기 위해서
이전 단계에서 계산한 결과를 저장해놓은 다음, 그 다음에 나올 숫자를 구하는 거죠.
이를 위해서는 Memoization(이전 단계의 결과를 저장해놓는 것)이 필요합니다.
이 다음은 Dynamic Programming으로 해결 가능한 대표적인 문제에 대해 배웁니다.
LCS, Knapsack 등에 대해 배웠습니다.
그 다음에 나오는 건 Greedy(탐욕) 알고리즘입니다.
이건 각각의 단계에서 가장 좋아보이는 선택만을 하는 알고리즘입니다.
적절한 예는 아니지만 물건을 훔치는(?) 상황인데 가방은 한 개 뿐입니다.
이럴 때 도둑은 비싼 것부터 가방에 차곡차곡 담겠죠.
탐욕 알고리즘은 이와 같이 문제를 해결하는 방식을 말합니다.
하지만 가장 큰 문제점은 바로 항상 최적의 해를 보장해주지는 않는다는 것입니다.
이 이후에는 Greedy 알고리즘으로 해결 가능한 문제들에 대해서도 배웁니다.
혹시 기출 지문 중에 '허프만 부호화' 기억나시나요?
이 허프만 부호화도 탐욕 알고리즘으로 구할 수 있습니다.
Huffman Code 외에도 Fractional Knapsack,
Minimum Spanning Tree를 구하는 Prim's Algorithm, Kruskal's Algorithm 등
여러 Greedy Algorithm에 대해 배웁니다.
이 다음은 그래프에 대해 배웁니다.
그래프는 이산수학 과목을 들으면 배울 수 있는데요.
알고리즘에서 빠질 수가 없는 녀석입니다.
그래프를 돌아보는데(Searching) 쓰이는 알고리즘이 그 유명한 BFS, DFS입니다.
BFS는 처음 시작한 노드에서 같은 거리에 있는 노드를 먼저 탐색한 후, 거리를 점점 늘려가면서 탐색합니다.
DFS는 처음 시작한 노드에서 최대한 많이 들어간 후, 더 들어갈 곳이 없을 때 이전 노드로 돌아와 다시 탐색합니다.
컴퓨터과학을 전공하는 고학년이라면 BFS와 DFS 정도는 안 보고 코딩할 줄 알아야.. 근데 전 까먹음
이렇게 탐색 알고리즘에 대해 배운 이후에는 최단 경로를 구하는 알고리즘을 배웁니다.
최단 경로를 구하는 알고리즘에는 Bellman-Ford, Dijkstra 알고리즘이 있습니다.
마지막으로는 그 유명하고 유명한 P-NP 문제에 대해 배웁니다.
물론 이건 아직까지 해결되지 않은 문제이므로 그냥 어떤 것인지에 대해서만 배웁니다.
유명한 문제이니 상식 좀 쌓는다고 생각하시고 한번씩 들어보셨으면 좋겠습니다.
이 문제를 풀면 $1,000,000 + 엄청난 명예 + 기타 등등을 모두 얻을 수 있습니다
부와 명예를 위해선 컴퓨터공학과에 진학해야
한 학기 동안 이렇게 많은 내용에 대해 배우게 됩니다.
근데 이 과목 특성 상 계속 기억해야 하는 내용이 많아서
주기적인 복습이 필요한 과목입니다.
알고리즘 한번 제대로 공부해놓으면 도움 많이 될 겁니다.
다음에 시간 날 때 또 적어보겠습니다.
제가 적은 글 (클릭하면 연결)
3. 컴퓨터공학과 과목 맛보기 - 2. 시스템프로그래밍(1)
4. 컴퓨터공학과 과목 맛보기 - 2. 시스템프로그래밍(2)
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
논술전형. . .ㅠㅠ
-
그래서 그대는 2
띵
-
안녕하세요? 5
고마워요
-
노래방이나 갈가
-
좆망인생 2
지잡갈거면 그냥 빨리 자살해서 사망보험금은 못 챙겨도 부모님 노후자금 그만 쓰게하는...
-
언매 미적 사탐 조합
-
대부분의 입결표가 gs로 표시되잖아요. 그거 볼 때 백분위대학은 백분위 누백으로,...
-
가는게 맞나요?
-
자동완성이 케리아를 자꾸 캐리아로 바꿈
-
엊그제까지만 해도 좀 괜찮게 나왔는데 오늘 진학사 텔레 메가 고속 다 돌려봤더니...
-
화확쌍지 실채컷 뜨면 이정도로 나올 거 같은데 고대.. 갈 슈 있겠지?
-
빨간머리 해적단 서열3위는 누구임.야솝vs럭키루 누구?
-
로스쿨 생각 중입니다 어디가 더 유리할까요? 단지 취향차이인가요? 문과인데 공대...
-
경희대 정시 환산점수 543 나와요 수시 중경시홍 썼는데 떨어지면 정시가야할듯요...
-
.
-
바램6일차 0
무언가를 간절히 바라면 그게 이루어진대요 지구 37 2컷 6일차
-
도란 케리아랑 0
같은 팀 했어서 그런가 뭔가뭔가 비슷하네 키는 아닙니다
-
페인전은 진짜 전설이다
-
수학은 정병호날두로 만점 갈겨버리고 영어는 슨티로 딱 90점 쟁취하고 사탐은...
-
기분 안 좋으면 나도 느낄정도로 티나는데
-
제목들 기출 풀어보신 지문 중 최고난도/정말 잘 만든 지문은 분야별로 어떤게 있으셨나요?
-
우선 저는 쌩삼수로 올해 광명상가보단 살짝높고 국숭세단은 안정이 아닌 성적이...
-
공부 꾸준히해서 대학 잘 갈 자신있다고 믿음이 있는상태인데 중학교 자퇴했을때...
-
나보다잘본성적표와함께... 재릅신고는112
-
텔그는 애초에 해당안되고 진학사도 표본이 너무 없어서... 대부분 고속보고 원서쓰나요?
-
어그로 죄송합니다 강기원쌤 미적 정규는 들을거고 이동준쌤 공통을 들을지 강기원쌤...
-
고등학교 자퇴 언제하지 13
작년 중3때 본 수능성적이 언미물지 80 85 3 93 95고 올해는 1학기에는...
-
현역 때 문돌이여서 한지 1 세지 2였고 고2 사문 수업 들었을 때 사문도 나름 잘...
-
셋 중에 누가 국어를 제일 잘하나요?
-
ㅈㄱㄴ 그냥 평범하게 애니프사 달고 공부 질문만 하는 계정이라 안 걸릴 줄 알았는데...
-
자야되는데... 0
(진짜임)
-
그런게되나 한번생각한건 절대못바꿈뇨 의지가없나 타고난천성을바꾸기 가능이나할까 그것도내가
-
1CD13 0
일씨디일삼.. 1CD13 1CB13 아
-
중에 누가 제일 노래 잘 부르나요?
-
으아아아 15
제가 배경화면에 성적 올려뉴ㅏㄲ는데 그게화학이 짤려서 ㅋㅋㅋㅋㅋㅠㅠㅠㅠㅠ...
-
00년생이라 지금 의대가도 전문의 37살.. 대기업 칼취했을때의 기회비용 다...
-
원래 기말 결과보고 판단하려했는데 시험 3주남기고 아무것도 안해서 차피 시험쳐봤자 거기서 거기같음
-
ㄹㅇ 언제가냐 까마득하네
-
오늘 6시간도안잤군...
-
실모의 무한굴레 1
어려운 실모를 풀었는데 점수 ㅈ됨 -> 오답을 해보니 모든 문제들이 ㅈ밥 같음,...
-
msde학과는 기계+전자+경영을 아우르는 학문을 배우는 학과로 전 수업 영어로...
-
메가스터디 환급 0
신청은 언제 하고 어디서 하는 건가요??
-
오래된 생각이다
-
오르비가재미없어 12
쓸어그로소재도 다떨어져버림
-
근데 다들 향후 계획이 군대라고 한다. 아마 나도일지도 모른다. 겨울이었다...
-
휴학 반수 어떻게 생각하시나요? 의견 좀 알려주세요 1
전 지금 20살 여자이고 내년에 1년 휴학한 후 반수 공부를 다시 해보려고 해요!...
-
아무도 안 풀겠지?
-
선착순 전형 (국/수/영/과탐(1) 4과목 중) [수능] 3과목 합 6등급 이내...
PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS!
ㄱㅁ
PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS! PS!
빨리 n log n 찬양해
와 어지럽네
사실 이건 알고리즘 중에서도 극히 일부인..
레드 블랙 트리 구현 때문에 이진 탐색 혐오 조금 생김