HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
✍🏻
Learnary (learn - diary)
/
자료구조 및 알고리즘의 공부론 =: 일반화

자료구조 및 알고리즘의 공부론 =: 일반화

progress
Done
Tags
CS

요약

키워드 : 구조화의 중요성, 분류, 일반화
"일반화 될때까지 점진적으로 도약한다"
🔑
[ 다시하기 → 분류 → 일반화 (학습 파이프라인) ] -> 지속적인 사이클
 
 

알고리즘과 자료구조

 

구성주의


철학에서의 구성주의
"지식은 습득하고 지식을 구성하는 능력” → 사고, 지식 생산형 학습
어떤 알고리즘을 배운다면 그 알고리즘을 고안해낸 사람이 어떤 사고과정을 거쳐 그 해법에 도달했는지를 구경할 수 있어야 한다. 각자 스스로만의 해법을 차근차근 concrete구성할 수 있어야 한다
“전문가가 하는 것을 배우지 말고, 그들이 어떻게 전문가가 되었는지를 배우고 흉내 내야 한다”
 
올바르게 질문하기
어떤 사고 과정을 거쳐, 그리고 어떤 디자인, 프로그래밍 과정을 거쳐서 그 것에 도달할 수 있었나요?
 
권장하는 구체적인 학습방법
개념만 따로 이해해보고 안보고 직접 구현해본다
 
 
알고리즘에서 중요한 것
  • 스스로 생각해내는 능력
  • 다른 알고리즘과 효율을 비교할 수 있는 능력
  • 다른 사람이 이해할 수 있는 언어로 표현해낼 수 있는 능력
  • 정상 작동 여부를 검증해 내는 능력
 
기계적, 무의식적으로 풀어재끼는 기계 (x) -> 머리가 아닌 손이 푸는 거다
 
개발자로서의 역량
사람에게도 설명하고 그다음 내가 자리에 앉아 컴퓨터에게도 설명할 수 있어야 한다
사람한테 설명하는 거랑, 컴퓨터가 이해할 수 있게 설명할 수 있다는 것은 다른 차원의 능력을 필요로 한다
 
 

실질적이고 구체적인 문제를 함께 다루어라

  • 구상 다음 추상이 온다
  • 실제 문맥속에서 여러번 보는 것이 훨씬 좋다
 

알고리즘 디자인 과정의 중요성

 
서적 추천 및 요약
  • 큰틀을 기반으로 구조적 설계의 중요성
  • 점진적으로 개선해나가는 것이 중요
    • 조금씩 개선하기는 구조적 프로그래밍에서의 핵심적 역할
      Program Development by Stepwise Refinement
      This is a digitized copy derived from an ACM copyrighted work. It is not guaranteed to be an accurate copy of the author's original work.
      http://sunnyday.mit.edu/16.355/wirth-refinement.html
      다익스트라의 「Stepwise Program Construction」(Selected Writings on Computing: A Personal Perspective, Springer-Verlag, 1982)
      ewd227.pdf
      421.0KB
 

알고리즘과 패러다임

  • 큰 줄기를 알아야 한다
  • 자신만의 분류법을 만들어라
  • 비슷한 문제들을 서로 묶어서 일반화 해야한다
  • 다시하기 -> 매번 풀때마다 새로운 도전 혹은 개선점을 찾아준다
 
효과적인 학습 테크닉
  • 어려운 문제 푼 후, 처음부터 완전히 새로 푼다
  • 좀 전에 얻은 통창만을 유지하면서
  • 해법이 내가 희망하는 것 만큼 명료하고 직접적인 나의 것이 될때까지 반복한다
  • 좀 전에 얻은 통찰만을 유지하면서 비슷한 문제들을 공략할 어떤 일반적인 룰을 찾는다
  • 그런 다음, 비슷한 문제들을 공략할 어떤 일반적인 룰을 찾습니다.
  • 아까 주어진 문제를 아예 처음부터 최고로 효율적인 방향에서 접근하도록 이끌어 줬을 그런 룰을 찾는거죠
 

Reference


펌] 어떻게 공부할까? 프로그래머를 위한「공부론」 | OKKY
어떻게 공부할까? 프로그래머를 위한「공부론」 우리 프로그래머들은 항상 공부해야 합니다. 우리는 지식을 중요하게 여깁니다. 하지만 지식에 대한 지식, 즉 내가 그 지식을 얻은 과정이나 방법 같은 것은 소홀히 여기기 쉽습니다. 따라서 지식의 축적과 공유는 있어도 방법론의 축적과 공유는 매우 드문 편입니다. 저는 평소에 이런 생각에서 학교 후배들을 위해
펌] 어떻게 공부할까? 프로그래머를 위한「공부론」 | OKKY
https://okky.kr/articles/398880
펌] 어떻게 공부할까? 프로그래머를 위한「공부론」 | OKKY