자료구조 공부

Life is ninanino·2022년 9월 17일
1

study

목록 보기
4/6

https://glory-day.tistory.com/114

  1. 자료구조 공부 순서
  • Array
  • List
    ArrayList
    vector
    LinkedList (simple / doubly / double-ended / circular)
    Stack (array / list)
    Queue (array / list / priority / deque / circular)
    HashMap
    Tree (simple / binary-search / segment)
    Heap (max / min)
    Graph (array / list)
    HashSet

※ 볼드체로 표시한 것은 코테에서 특히 중요한 자료구조들이다.

  1. 자료구조 공부 방법

A. 위 목록의 자료구조들을 순서대로 구글 블로그에서 찾아 따라 구현해본다.
- 한두 번 정도 집중해서 따라쳐보면서, 내부 작동 원리를 파악한다.
- 특히 멤버변수로 무엇이 선언되었는지, 어떤 메소드를 포함하고 있는지는 암기에 가깝게 파악해야한다.

B. 한 유형의 자료구조를 따라치면서 파악했다면(암기X), 바로 백준 온라인 저지에서 해당 자료구조의 문제를 푼다.

a. https://www.acmicpc.net/problemset?sort=ac_desc&algo=175
b. 가장 기본적인 '스택, 큐' 등의 이름이 붙은 문제를 풀면 된다. 사실상 해당 자료구조를 구현하는 문제이다.
하지만 암기까지 된 것은 아니기 때문에 잘 안 될 것이다.
괜찮다. 다시 따라 구현하면서 문제를 해결하자.
c. 이제 해당 자료구조를 이용해서 푸는 문제로 보이는 것들을 골라서 풀기 시작한다.
이때부터는 구현된 코드를 보면서 풀면 안 된다. 암기해서 풀어야 한다.
개인차는 있겠지만 10 문제 내외 풀다보면 입맛에 맞게 자료구조를 변형해서 문제를 풀고 있는 자신을 발견한다.

C. 자바의 경우 Array, ArrayList, HashMap, HashSet 등을 문제에서 직접 구현해서 쓰는 경우는 많이 없는
것 같다. 다만 이들의 내부 작동원리나 거기에 포함된 개념들은 매우 중요하기 때문에 반드시 공부해놔야 한다.

      https://d2.naver.com/helloworld/831311
profile
백엔드 프로그래밍을 공부하고 있습니다. AWS, 클라우드 환경에 대해 관심이 많습니다.

0개의 댓글