본문 바로가기
인강/패스트캠퍼스_환급챌린지

[패스트캠퍼스 챌린지 24일차] 문제 풀이로 실전 응용력을 다지는 필수 자료구조

by 맙소사 2021. 9. 29.

 

Ch 01. 선형자료구조 - 05. 연결리스트(Linked List) - 2

 

연결리스트를 선언하고 해당 리스트를 활용하는 코드를 짜는걸 보여주신다.

노드를 처음 선언한다. 맨 처음 노드만 가진 친구는 보통 head라고 함.

 

  ArrayList, List<T> LinkedList<T>
데이터 검색 빠름 느림
데이터 추가 / 삭제 느림 빠름

 

연결리스트를 보통 어떤 때 사용하는지 알 수 있으면 좋을텐데 내가 알고리즘 시간복잡도 계산을 못해서 그런가 연결리스트보다는 그냥 어레이리스트나 배열이 좀 더 편하고 많이 쓸 것 같음. 왜냐면 값을 굳이 중간에 삽입해야하는 이유가 없을 것 같아서... 있으려나? 아직 경험이 부족해서 그런가봐... 인덱스값을 가지고 있어서 굳이 중간에 삽입할 필요가 없고 정 필요하면 해시맵을 쓰면 되는 것 같은데 시간복잡도 계산법을 좀 익혀둬야 다양한 자료구조들을 활용하는 이유를 알 수 있을 것 같다.

 

근데 선생님이 코드 작성하시면서 if문을 쓰는데 따로 브레이스를 작성하지 않아도 동작하는게 신기하다. if문에서 브레이스를 쓰지 않고 그냥 줄바꿈만 했는데도 이하 코드가 동작하나봄. 궁금해서 검색해봤는데 실행될 문장이 한 문장이라면 브레이스가 없어도 된다고 한다. 다른 언어 중에서도 굳이 괄호를 적지 않아도 되는 친구들이 있었는데(파이ㅣ썬 말고) 누구였는지 기억이 안 나네 자바스크립트였나...

 

그리고 선생님이 노드를 선언하실때마다 변수명 규칙이 노드 앞에는 언더바를 사용한 스네이크 표기법을 사용하는데 이게 선생님의 습관인지 아니면 C#에서 연결리스트를 사용할 때 쓰는 변수명 작성 규칙인지 궁금하네. 

 

원형 연결 리스트가 있는데 처음과 마지막 노드를 서로 연결해주는 방식이다. 마지막 노드의 next는 첫번째 노드이고, 첫번째 노드의 previous는 마지막 노드를 가리키는 친구인데 잘 쓰지는 않는다고 한다. 존재만 알고 있으면 될 듯.

 

 


https://bit.ly/37BpXiC
공백제외 : 총 720자 (1,339byte)

본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.

#패스트캠퍼스 #패캠챌린지 #직장인인강 #직장인자기계발 #패스트캠퍼스후기 #C#과유니티로배우는게임개발올인원패키지Online. #C#과 유니티로 배우는 게임 개발 올인원 패키지 Online.

댓글