알고리듬 및 자료구조 (Java)

프로그래머에게 필수인 문제해결 능력을 다음 단계로 업그레이드 해주는 강좌입니다. 핵심 알고리듬/알고리즘의 작동원리를 제대로 배워 탑 1% 개발자의 사고방식을 갖추세요. (김포프, POCU 포큐 아카데미)

4.45 (104 reviews)
Udemy
platform
한국어
language
Programming Languages
category
instructor
364
students
27 hours
content
Sep 2023
last update
$199.99
regular price

What you will learn

핵심 알고리즘의 동작 원리 및 사용법

알고리즘의 시간/공간 복잡도 분석

알고리즘

Description

본 비디오 강좌는 POCU 아카데미에서 진행하는 COMP3500 수업의 동영상 강의입니다.


프로그래머의 업무를 간단히 표현하면 '문제를 해결하는 것'입니다. 그렇기에 '문제를 해결하는 확실한 방법'인 알고리듬(algorithm)은 프로그래머의 필수 지식으로 종종 거론되곤 합니다.

그럼 어떤 사람이 진짜 개발자일까요? 최신 기술을 많이 아는 사람? 시중에 나와있는 모든 알고리듬 문제를 달달 외우고 있는 사람? 아닙니다. 제대로 된 개발자는 어떤 문제라도 확실히 해결할 수 있는 사람입니다. 알고리듬 문제 사이트에 없는 문제까지 말이죠. 그런 개발자가 되려면 몇몇 핵심 알고리듬을 확실히 이해하는 것이 가장 중요합니다. 새로운 문제는 핵심 알고리듬을 응용하여 풀 수 있으니까요. 이제 아셨나요? 왜 기술 면접(코딩 테스트)에서 알고리듬 문제가 단골손님처럼 나오는지?

모든 문제 해결에 토대가 되는 핵심 알고리듬. 그것이 바로 이 강좌에서 가르치는 내용입니다. POCU 아카데미가 지향하는 10년 후에도 살아남는 Top 1% 개발자. 그런 사람이 되려면 수박 겉핥기 식이 아닌 핵심 알고리듬의 동작 원리까지 확실히 알아야겠죠? 이 강좌에서 확실히 이해시켜드립니다. 이 강좌를 들으신 후 알고리듬 문제 사이트에 가서 본인의 실력을 테스트해보세요. 처음 보는 문제인데도 어렵지 않게 해법을 찾아내는 한 단계 업그레이드된 본인의 문제 해결능력을 느끼실 수 있을 겁니다. 앞으로 실무에서 마주치게 될 새로운 문제들도 큰 어려움이 없겠죠?

꼭 기억하세요. 업계가 원하는 프로그래머는 많은 문제의 정답을 외우고 있는 사람이 아니라 핵심 알고리듬의 확실한 이해와 응용을 통해 새로운 문제를 해결할 수 있는 사람입니다.

이 강좌를 성공적으로 수료한 프로그래머는 다음과 같은 실력을 갖추게 됩니다.

  1. 각 알고리듬의 장단점 및 성능에 대해 잘 이해하고 있다

  2. 어디에 어떤 알고리듬을 적용해야 하는지 안다

  3. 핵심 알고리듬을 응용해 새로운 문제를 풀 수 있다

기본기의 중요성을 강조하는 표현으로 '하나를 가르치면 열을 안다'라는 말이 있습니다. 이것저것 배우는 대신 핵심이 되는 기본 지식을 습득하여 문제 해결능력을 갖춘 진정한 프로그래머로 거듭나기를 바랍니다.

Content

1. 과목 소개

프로그래머와 알고리듬
이 과목에서 사용하는 서비스 및 도구
강의 시청 및 노트 정리
중요 정보
실습과 과제 진행하기
부정행위 금지와 코딩표준
질문하는 법
선수 과목과 슬라이드 표기법
알고리듬이란?
알고리듬의 두 가지 학습법
알고리듬을 배우는 이유
면접에서 기초 알고리듬 질문을 하는 이유

2. 알고리듬, 효율성, 기초 자료 구조

알고리듬의 정의
영상 퀴즈
간단한 알고리듬 예
훌륭한 알고리듬이 갖춰야 할 자질 1
훌륭한 알고리듬이 갖춰야 할 자질 2
훌륭한 알고리듬이 갖춰야 할 자질 3
알고리듬의 효율성과 실제 성능
영상 퀴즈
알고리듬의 올바름 검증
복습 퀴즈
빅오 표기법
O(1), O(N), O(N^2)
O(logN), O(NlogN)
'대략 그 정도'의 의미
영상 퀴즈
흔히 볼 수 있는 O 표기법의 성능 비교
복습 퀴즈 1
복습 퀴즈 2
배열
스택, 큐
연결 리스트
해시 테이블, 해시 맵
자료구조의 시간 복잡도 정리
복습 퀴즈 1
복습 퀴즈 2
복습 퀴즈 3
정리

3. 재귀함수, 주먹구구식 알고리듬, 이진 탐색

재귀함수의 호출 과정
재귀함수의 장단점
꼬리 재귀
영상 퀴즈
꼬리 재귀 함수 작성하기
코드보기: 재귀 함수로 총합 구하기
복습 퀴즈
주먹구구식 알고리듬이란?
간단한 주먹구구식 알고리듬의 예와 시간 복잡도
주먹구구식 비밀번호 깨기와 외판원 문제
기하급수적 알고리듬의 문제
복습 퀴즈
P 분류
NP 분류
영상 퀴즈
P 또는 NP가 아니다!
NP 완전, NP 난해
P vs NP 문제
복습 퀴즈
탐색 알고리듬
이진 탐색
영상 퀴즈
이진 탐색의 시간 복잡도
코드보기: 회전된 배열에서의 검색
정리

4. 정렬 알고리듬

정렬 알고리듬
정렬 알고리듬의 안정성
대표적인 정렬 알고리듬
정렬 알고리듬 비교
상황에 따른 정렬 알고리듬 선택
버블 정렬
버블 정렬의 동작 모습
버블 정렬의 복잡도와 안정성
버블 정렬 코드
복습 퀴즈 1
복습 퀴즈 2
선택 정렬
삽입 정렬
복습 퀴즈
퀵 정렬
퀵 정렬의 동작 모습 1
퀵 정렬의 동작 모습 2
퀵 정렬의 동작 모습 3
퀵 정렬 코드 - 재귀
퀵 정렬 코드 - 분할
퀵 정렬의 복잡도와 분할법
코드보기: 안정성
복습 퀴즈 1
복습 퀴즈 2
병합 정렬
힙 정렬
힙 정렬의 동작 모습
코드보기: 배열 요소의 최소 차이 찾기
복습 퀴즈 1
복습 퀴즈 2
정리

5. 해시 알고리듬

해시 알고리듬의 정의
해시 알고리듬의 분류와 속성
균일성
지역 민감 해시
효율성
복습 퀴즈 1
복습 퀴즈 2
비암호학적 해시 함수
올바른 해시 함수를 고르는 법
Lose Lose 해시
Murmur, FNV-1 해시
체크섬
체크섬의 사용례
체크섬이 보장하는 것
패리티 비트
순환 중복 검사(CRC)
영상 퀴즈
CRC 계산법
복습 퀴즈
코드보기: CRC-32 체크섬
암호학적 해시 알고리듬
암호학적 해시 알고리듬의 추가 속성
생일 문제
복습 퀴즈 1
복습 퀴즈 2
보안 이야기: 비밀번호 터는 법
보안 이야기: 비밀번호 덜 털리는 법
코드보기: 비밀번호 해시 만들기
복습 퀴즈
정리

6. 암호화

암호화란?
암호화의 역사
정수론
복습 퀴즈
대칭 키 암호화
복습 퀴즈
AES 알고리듬의 구성
AES의 내부 연산 1
AES의 내부 연산 2
복습 퀴즈 1
복습 퀴즈 2
복습 퀴즈 3
복습 퀴즈 4
AES의 내부 연산 3
복습 퀴즈
코드보기: AES
비대칭 키 암호화
비대칭 키 암호화의 두 가지 주요 용도
복습 퀴즈 1
복습 퀴즈 2
RSA와 큰 소수
공개 키/비밀 키의 특수한 관계
RSA 키 생성
RSA를 이용한 암호화/복호화
RSA 증명 1
RSA 증명 2
증명에서 배울 것들
영상 퀴즈
대칭 키 vs 비대칭 키 암호화의 속도 비교
코드보기: RSA
정리

아직 60% 분량 추가 업로드 예정입니다.

업로드 일정

Screenshots

알고리듬 및 자료구조 (Java) - Screenshot_01알고리듬 및 자료구조 (Java) - Screenshot_02알고리듬 및 자료구조 (Java) - Screenshot_03알고리듬 및 자료구조 (Java) - Screenshot_04

Reviews

Kim
December 28, 2021
너무 재미있게 잘 들었습니다. 흥미로운 예시를 먼저 제시하고 깊게 들어가는 방식의 수업방식은 제가 기존에 접하던 것이 아니었지만 본질적 내용에 대해 이해하기가 훨씬 더 쉬웠습니다. 고맙습니다.
Lee
April 24, 2021
정말 좋은 강의라고 생각합니다. 일단, 실습과 과제가 명확히 분리되어 있어 풀코스를 듣는 경우에는 확실히 더 도움이 될 거라고 생각하고, 강의 자체의 내용이 '가르치는 것을 전문적으로 해보고 싶은 사람'이 지대한 집중과 노력으로 학생들을 생각해서 만든 강의라는 것이 느껴집니다. 분명히 비싼 가격임은 확실하지만, 그 가격대에 걸맞는 책임감과 노력과 인력이 투입된 과정이라는 것을 느낄 수 있습니다. 그리고, 교육이란 시스템은 인간에게 가장 중요한 기둥이 되는 요소중에 하나라고 생각합니다. 제대로 배운 사람은, 현대 사회에서 중요한 위치를 차지할 가능성이 높아지고, 그 교육의 밑거름은 가장 어렵고 또 잘 준비된 기반에서 하는것이 맞다고 생각합니다. 포큐 아카데미는 제 개인적인 생각으로는, 비싸지 않은 가격으로 최고의 강의를 제공합니다. 추천드립니다.

Charts

Price

알고리듬 및 자료구조 (Java) - Price chart

Rating

알고리듬 및 자료구조 (Java) - Ratings chart

Enrollment distribution

알고리듬 및 자료구조 (Java) - Distribution chart
3941468
udemy ID
3/27/2021
course created date
4/10/2021
course indexed date
Bot
course submited by