본문 바로가기

언어9

이중연결리스트(Doubled Linked-List) 구현 이중연결리스트 (Doubled Linked-List) 란? 이중연결리스트는 각 노드가 두 개의 레퍼런스(prev, next)를 가지고 각가 이전 노드와 다음 노드를 가리키는 연결리스트를 구현한 자료구조이다. 이중연결리스트는 단순연결리스트의 단점인 1. 역방향으로는 노드 탐색 불가능 2. 삽입/삭제시 반드시 이전 노드를 가리키는 레퍼런스를 추가로 알아야함(이전노드 탐색 시간 걸림) 을 보완하기 위해 나왔다. But, 노드마다 2개의 레퍼런스(prev, next)를 저장해야 한다는 단점이 있다. 기본 구조 head - 첫번째 노드가 무엇인가를 의미하는 정보이다. tail - 마지막 노드가 무엇인가를 의미하는 정보이다. node - 아이템과 레퍼런스 2개를 가진다. item - 항목으로 데이터값이 저장된다. .. 2023. 10. 24.
[김왼손의 왼손코딩] 파이썬 기초강의(2) -for for n in [1,2,3]: -range() >>> range(3) range(0,3) >>> for n in range(3,5): print(n) 3 4 -comprehension (리스트에 바로) numbers = [1,2,3,4,5,6,7,8,9,10] odd_numbers = [] for num in numbers: if num % 2 == 1: odd_numbers.append(num) print(odd_numbers) -> >>> [num for num in numbers if num % 2 == 1] [1, 3, 5, 7, 9] - 특수연산자 >>> 3 ** 2 #제곱 9 >>> 7 // 3 #몫 2 >>> 7 % 3 #나누기 1 - string 연산자 >>> '김왼손' + 'x.. 2023. 10. 18.
[김왼손의 왼손코딩] 파이썬 기초 강의(1) 코딩 = 프로그래밍 = 프로그램을 만드는 작업 프로그램 - 컴퓨터가 이해할 수 있는 언어를 사용해서 어떤 문제를 해결하는 것 - 미리 정해놓은 것 - 위에서부터 하나씩 명령어를 실행 - 기본 구성 : 순차/선택/반복 - 순차 : 위에서부터 명령어를 실행 - 선택 : y/n 분기 - 반복 : 같은 명령을 반복 파이썬 배워야하는 이유 1. 쉽다.(다른 언어에 비해서) 간결하다. 2. 모토 - 어떤 문제를 해결하기 위해 답은 1가지가 있다. 3. 빠르다 - 실행속도가 빠른 게 아니라 빠르게 개발할 수 있다. 있는 바퀴를 만들지 마라(이미 만들어진 라이브러리를 가져다 쓰라) -> 입출력 - print - input - http://www.pythontutor.com/ -> 변수 - 숫자로 시작X, 띄어쓰기X, .. 2023. 10. 16.