Data Structure and Algorithm: Difference between revisions
From Innovation
No edit summary |
|||
Line 14: | Line 14: | ||
# [번역서] "사전처럼 바로 찾아 쓰는 알고리즘 - 바로 동작하는 실전 코드로 정리한 알고리즘 사전,"조지 T. 하인만, 게리 폴리케, 스탠리 셀코 저, 전경원 역, 한빛미디어 [http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788979147292&orderClick=LAG&Kc= go] | # [번역서] "사전처럼 바로 찾아 쓰는 알고리즘 - 바로 동작하는 실전 코드로 정리한 알고리즘 사전,"조지 T. 하인만, 게리 폴리케, 스탠리 셀코 저, 전경원 역, 한빛미디어 [http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788979147292&orderClick=LAG&Kc= go] | ||
#* 조금 더 깊이 있게 공부하고 싶다면 추천하는 책 | #* 조금 더 깊이 있게 공부하고 싶다면 추천하는 책 | ||
# [한국어] "C 언어로 쉽게 풀어쓴 자료 구조," 천인국 저, 생능출판사 [http://www.kyobobook.co.kr/product/detailViewKor.laf?ejkGb=KOR&mallGb=KOR&barcode=9788970506432&orderClick=LAH&Kc= go] | |||
#* 부록으로 자료 구조의 개념을 이해할 수 있는 플래시 애니메이션 수록 | |||
==== 개념 익히기 좋은 책 ==== | |||
# [번역서] "Hello Coding 그림으로 개념을 이해하는 알고리즘 (Grokking Algorithms)," 아디트야 바르가바 저, 김도형 역, 한빛미디어 [http://www.kyobobook.co.kr/search/SearchCommonMain.jsp go] | # [번역서] "Hello Coding 그림으로 개념을 이해하는 알고리즘 (Grokking Algorithms)," 아디트야 바르가바 저, 김도형 역, 한빛미디어 [http://www.kyobobook.co.kr/search/SearchCommonMain.jsp go] | ||
#* 개념 이해하기 아주 좋은 쉬운 책, 그림이 재미있음 | #* 개념 이해하기 아주 좋은 쉬운 책, 그림이 재미있음 | ||
=== Topics === | === Topics === |
Revision as of 14:53, 9 February 2018
Text Book
교재
주교재
두 교재는 비슷한 수준으로 설명이 되어 있어서 어느 책을 써도 상관없다. 뇌를 자극하는 알고리즘은 자료구조와 알고리즘이 같이 소개되어 있고 열혈 자료구조는 자료구조에 충실하다.
- [한국어] "뇌를 자극하는 알고리즘," 박상현 저, 한빛미디어 (온라인 학습사이트 - go)
- [한국어] "윤성우의 열혈 자료구조 - C언어를 이용한 자료구조 학습서," 윤성우, 오렌지미디어 go
- 온라인 무료 강의 제공
곁에 두고 익히면 좋은 책
- [번역서] "다양한 예제로 학습하는 데이터 구조와 알고리즘 : 문제 해결법부터 개선법까지 (Data Structures and Algorithms Made Easy)," 나라심하 카루만치 저, 전계도 , 전형일 역, 인사이트 go
- 소프트웨어 기술 직종 면접 준비에도 쓸 수 있을 만큼 다양한 예제를 포함.
- [번역서] "사전처럼 바로 찾아 쓰는 알고리즘 - 바로 동작하는 실전 코드로 정리한 알고리즘 사전,"조지 T. 하인만, 게리 폴리케, 스탠리 셀코 저, 전경원 역, 한빛미디어 go
- 조금 더 깊이 있게 공부하고 싶다면 추천하는 책
- [한국어] "C 언어로 쉽게 풀어쓴 자료 구조," 천인국 저, 생능출판사 go
- 부록으로 자료 구조의 개념을 이해할 수 있는 플래시 애니메이션 수록
개념 익히기 좋은 책
- [번역서] "Hello Coding 그림으로 개념을 이해하는 알고리즘 (Grokking Algorithms)," 아디트야 바르가바 저, 김도형 역, 한빛미디어 go
- 개념 이해하기 아주 좋은 쉬운 책, 그림이 재미있음
Topics
- Backgrounds
- Array
- Pointer
- Memory allocation
- Data structure
- Recursion
- Time complexity of algorithms
- Data Structure
- Stack
- Queue
- Linked List
- Binary Tree
- Algorithms
- Sorting
- Searching
- Hash Table
- Graph
Syllabus (T.B.D.)
- 배열 vs 포인터
- 개념
- 크기 정하기
- 메모리 할당
- 포인터 연산자의 이해
- 포인터 이해 연습문제
- 자료구조
- 사전 학습: 자료구조란 무엇인가. 왜 써야하는가. 어디에 쓰일까. 친구와 토론하고 결론을 한 페이지로 정리해서 오기
- 개념 이해
- 포인터 연산자 추가
- 복잡도
- 사전학습:
- 표기법
- 숙제:
- 링크드 리스트
- 사전학습: 링크드 리스트란 무엇인가. 실 생활에 링크드리스트로 표현 가능 것들은 무엇일까. 링크드리스트로 표현 가능한 것을 배열로 표현할 수 없을까. 배열 대신 링크드리스트를 써야하는 상황과 이유는 무엇일까. 친구와 토론하고 내용을 1페이지로 정리하기
- 개념잡기
- 리스트에서 특정 값 탐색
- 앞 중간 끝 삽입 삭제 동작
- 스택
- 사전 학습: 스택이란 무엇인가. 실생활에 스택의 사용 실제 사례. 링크드 리스트로 스택 구현한다면. 배열로 스택 구현한다면. 어떤 경우에 배열을 쓰고 링크드리스트로 쓸까. 토론하고 내용을 1페이지로 정리하기
- 개념 잡기
- 자료구조: 배열 vs 포인터
- 크기 정하기: 스태틱 vs 다이나믹
- 입력과 삭제 동작
- 숙제: 계산기 만들기
- 큐
- 사전학습: 큐는 무엇인가. 실 생활에 사용 예제는. 스택 두개로 큐를 구현하기. 토론하고 내용을 1페이지로 정리하기
- 개념잡기
- 자료구조
- 입력과 삭제 동작
- 숙제:
- 바이너리 트리
- 사전학습: 바이너리 트리의 개념 잡기. 정렬이 되어 있는 자료(예: 사전)에서 자료를 찾는 방법과 바이너리 트리를 사용한 방법을 비교해보기. 바이너리 트리로 표현 가능한 것들이 무엇이 있을까.
- 바이너리 트리 개념 잡기
- 용어 정리
- 자료구조: 배열과 포인터
- 특정 값 찾기
- 리프노드 삽입과 삭제
- 중간 노드 삽입과 삭제
- 루트 노드 삽입과 삭제
- 숙제:
공부하는 방법에 대하여
- 나는 프로그래머다, "까치네, 깨비메일 개발자 특집" (E27 1부 E27 link, 2부 E28 link)