파이썬으로 각종 자료구조 구현할때, 파이썬 내장 기능들을 많이 쓰잖아요


예를들어 list1 = []; 이렇게 선언해서 append를 쓴다던가 인덱스로 각 항목에 접근한다던가..



근데 좀 여기서 의문이 드는게... 이런거 막써도되나? 입니다


자료구조 1장에서 알고리즘 복잡도 이런거 읽어보면... 솔직히 거의 와닿지않고 기본연산같은것도 정의하지도 않고 설명해서


완전날림이라고 생각이 되는데, 그와중에 대충이해한거는 " 아무튼 뭐던간에 컴퓨터 연산을 줄이자! " 라는거 같아요.



근데 파이썬으로 자료구조를 구현할때 list 자료형의 강력한 기능들을 막갔다 쓴단말이죠.


근데 이거.. 그러면 연산횟수를 줄이자는 의미가 있긴한가 느낌이듭니다.


예를들어 f(self)라는 메소드를 막 복잡하게 짜두고선, 다른 메소드에서 f()하나 쓰곤 이 메소드 연산횟수가 1이다 


라고 주장하는꼴 아닌가요?



요약

1. 파이썬에서 각 자료구조(큐,링크드리스트,트리등)을 구현할때 파이썬 내장기능(특히 리스트의 기능들(인덱스접근, append, 등등))을 가져다쓰는데

이래도 되는건가?
2. 프로그래밍 강의하시는 교수님한테 여쭤봤는데 요즘은 성능이 워낙좋아져서 성능보다는 라이브러리 공부가 주류가 된 느낌이라고 얘기하심

collections 라는 라이브러리에 자료구조들이 거의다 구현되있다고 하던데.. 자료구조 공부할 필요가 있을지 조언구합니다.