인덱스와 인덱스에 대응하는 데이터들로 구성된 자료구조
예를 들어, 놀이공원에서 놀이기구를 타기 위한 줄을 섰다고 가정하자. 이때 누군가 새치기를 한다면 사람들이 한 자리씩 뒤로 이동해야한다. 반대로 누군가가 줄 밖으로 나갔다면 사람들은 한 자리씩 앞으로 당겨올 것이다. 처음 경우가 데이터를 삽입하는 경우, 후의 경우가 데이터를 삭제하는 경우이다.
데이터 필드 + 링크 필드로 구성된 노드에서 링크 필드에 다음 노드에 대한 포인터를 저장하여 연결한 리스트의 형태이다.
노드의 링크 필드에서 다음 노드를 단순히 한 방향으로 연결한 리스트
노드의 링크 필드를 두 개 사용해서 현재 노드와 다음 노드가 양방향으로 연결된 리스트
단순 연결 리스트에서 마지막 노드가 첫 노드를 가르키게 만들어 리스트의 구조를 원형으로 만든 리스트
발표 전 회고
우선 스터디에 참여한 것 자체가 처음이다.
인생 첫 스터디...! 그러다보니 어떤 수준까지 준비를 해야하는지 모르겠다.
오늘 팀원분들과 스터디를 진행해보고 조정을 해봐야겠다.
오늘 공부한 내용은 솔직히 너무 겉핥기라는 생각이 들었다.
단순히 각 개념들의 정의나 특징만 알고 있어도 괜찮을까?
조금 더 깊게 공부할 필요가 있는 것 같다.
예를 들면 코드를 조금이라도 작성하고 결과를 확인한다거나 언제 이 자료구조를 사용하는지를 더 명확하게 알아보는 식으로 진행을 해야겠다.
내일 스터디 준비하면서 이런 부분에 조금 더 집중해서 공부해야겠다.
발표 후 회고
발표를 해보니까 내용 정리도 중요하지만 어떻게 전달할지도 중요하다고 생각했다.
내일은 어떤 식으로 발표할지 조금 정리해서 발표해봐야겠다.
팀원분이 생각지도 못한 질문을 주셔서 조금 당황했는데 충분히 생각해볼 문제였고 고민하는게 재밌을 것 같은 질문이었다.
배열은 정적인데 그럼 동적으로 사용하는 배열은 배열로 불러야 할지 리스트로 불러야 할지라는 질문이었다. 이 질문에 도움이 될만한 글
ArrayList와 LinkedList의 차이(어떤 경우에 사용하는게 효율적인지)를 이론적으로 보기는 했는데 실제 현업에서는 거의 ArrayList만 사용한다는 이야기도 나눴다. 왜 LinkedList는 거의 사용하지 않을까?
스터디가 처음이고 떨렸는데 조금 더 잘할 수 있게되면 발표도 재밌어질 것 같다.
서로에게 생각할 질문을 떠올리는 것, 생각하면서 공부한다는 것이 뭔지 조금은 알 것 같다.
저런 방식으로 생각하고 질문하면서 공부를 해야겠다.
https://inpa.tistory.com/entry/JAVA-%E2%98%95-ArrayList-%EA%B5%AC%EC%A1%B0-%EC%82%AC%EC%9A%A9%EB%B2%95
https://github.com/gyoogle/tech-interview-for-developer/blob/master/Computer%20Science/Data%20Structure/Array%20vs%20ArrayList%20vs%20LinkedList.md
https://www.holaxprogramming.com/2014/02/12/java-list-interface/