전체 글
저번 글까지 링크드 리스트 3가지를 모두 알아봤습니다. 이번 글에서는 스택에 대해서 알아보도록 하겠습니다.' 스택 스택(stack)은 굉장히 많이 들어본 자료구조일 것이라고 생각합니다. 스택은 영어로 쌓다라는 뜻이 있는 단어입니다. 이 글에서 설명할 스택도 말그대로 데이터를 쌓는 것입니다. 데이터 즉, 노드를 쌓는 스택은 출입구가 하나입니다. 그래서 마지막에 들어간 데이터가 제일 처음 나오게 됩니다. 이것을 LIFO, Last In First Out 이라고 부릅니다. 가장 쉬운 예시로 프링글스 통을 들수 있겠네요. 프링글스 통에 과자를 넣으면 맨 마지막에 들어간 과자가 맨 처음 나오게 됩니다. 이것과 같은 원리로 만들어진 것이 스택이죠. 파이썬에서 스택을 구현하는 것은 굉장히 간단합니다. 파이썬에 기본적..
저번 포스팅까지해서 링크드 리스트가 모두 정리됐습니다! 이번 글에서는 링크드 리스트에 대한 정리와 링크드 리스트 활용을 해보기 위한 메인 프로그램 만들기를 해보겠습니다. 2. 링크드 리스트 - 1 싱글 링크드 리스트 [자료구조] 2. 링크드 리스트 - 1 싱글 링크드 리스트 기본적으로 C의 배열은 지정된 크기 이상의 데이터를 넣지 못합니다. 하지만 데이터가 어느 정도로 있을지 정확하게 알 수 없기 때문에 배열의 크기를 바꾸거나 처음부터 크게 잡아야 합니다. hiittech.tistory.com 2. 링크드 리스트 - 2 더블 링크드 리스트 [자료구조] 2. 링크드 리스트 - 2 더블 링크드 리스트 저번 글에서는 싱글 링크드 리스트에 대해서 공부하고 직접 구현해봤습니다. 2. 링크드 리스트 - 1 싱글 링..
링크드 리스트의 마지막인 환형 링크드 리스트입니다. 저번에 구현했던 더블 링크드 리스트와 연관된 부분이 많습니다! 2. 링크드 리스트 - 2 더블 링크드 리스트 [자료구조] 2. 링크드 리스트 - 2 더블 링크드 리스트 저번 글에서는 싱글 링크드 리스트에 대해서 공부하고 직접 구현해봤습니다. 2. 링크드 리스트 - 1 싱글 링크드 리스트 [자료구조] 2. 링크드 리스트 - 1 싱글 링크드 리스트 기본적으로 C의 배열은 hiittech.tistory.com 환형 링크드 리스트 환형 링크드 리스트, 다른 말로는 원형 연결 리스트라고도 합니다. 이 리스트는 말 그대로 원형으로 생긴 리스트입니다. 더블 링크드 리스트와 유사하게 생겼는데, head와 tail이 연결된 것입니다. head의 이전 노드 포인터에 ta..
저번 글에서는 싱글 링크드 리스트에 대해서 공부하고 직접 구현해봤습니다. 2. 링크드 리스트 - 1 싱글 링크드 리스트 [자료구조] 2. 링크드 리스트 - 1 싱글 링크드 리스트 기본적으로 C의 배열은 지정된 크기 이상의 데이터를 넣지 못합니다. 하지만 데이터가 어느 정도로 있을지 정확하게 알 수 없기 때문에 배열의 크기를 바꾸거나 처음부터 크게 잡아야 합니다. hiittech.tistory.com 싱글 링크드 리스트는 앞쪽(헤드)에서 뒤쪽(테일)으로 한 방향으로만 연결된 리스트를 말했죠. 그래서 단순 연결 리스트라고도 불립니다. 이번에는 양쪽으로 연결되는 더블 링크드 리스트, 즉 이중 연결 리스트를 알아보도록 하겠습니다. 더블 링크드 리스트 더블 링크드 리스트는 싱글 링크드 리스트와 달리 뒤쪽으로 가는..
기본적으로 C의 배열은 지정된 크기 이상의 데이터를 넣지 못합니다. 하지만 데이터가 어느 정도로 있을지 정확하게 알 수 없기 때문에 배열의 크기를 바꾸거나 처음부터 크게 잡아야 합니다. 그러면 결국 메모리를 너무 크게 잡게됩니다. 그래서 크기를 유연하게 바꿀 수 있는 구조인 리스트(List)를 만들게 됩니다. ⚠ 기본적으로 파이썬으로 구현하였습니다.(Python 3.10) 링크드 리스트 링크드 리스트(Linked List)는 리스트 중 가장 쉽게 구현할 수 있는 기법입니다. 링크드 리스트는 리스트의 요소인 노드(Node)를 연결해서 만드는 방법입니다. 링크드 리스트에서 노드는 데이터를 보관하는 필드와 다음 노드와의 연결 고리인 포인터로 이루어집니다. 이런 노드들을 고리처럼 매달면 링크드 리스트가 되는 것..
2학년 1학기를 급하게 대비하면서 처음으로 한 거는 자료구조 복습! 자료구조, Data Structure는 컴퓨터가 데이터를 효율적으로 다룰 수 있도록 만드는 각종 구조를 말합니다 대부분의 자료구조는 라이브러리로 구현돼있지만, 만들 줄 알아야 한다고 생각했습니다! 글을 쓰면서 아래에 목록들을 추가해두겠습니다! 2. 링크드 리스트 - 1 싱글 링크드 리스트 2. 링크드 리스트 - 2 더블 링크드 리스트 2. 링크드 리스트 - 3 환형 링크드 리스트 2. 링크드 리스트 - 4 정리 + 메인 프로그램 만들기 자료구조는 단순해서 고급 언어에는 대부분 구현돼있는 단순(Primitive)과 복합(Non-primitive)로 나뉩니다. 물론 복합으로 묶이는 구조들도 많이 구현되어 있습니다! 우선, 단순에는 int, ..
안녕하세요 Hi Create입니다. 드디어 시퀀스 자료형을 끝으로 자료형에 대한 이야기를 끝냈습니다 ㅎㅎ 내용이 굉장히 많은 부분이었지만 머신 러닝같은 분야에서 자주 쓰일 수 있으니 알아두시는 것이 좋습니다. 오늘부터는 파이썬에서 함수를 알아보도록 합시다. 우선 함수라는 것은 무엇일까요? 함수는 어떤 기능을 하는 것을 하나로 묶은 단위입니다. 예를 들어 for문이나 while문으로 만들었을때는 반복 수행을 하기는 하지만 임의로 제어 흐름을 바꾸거나 하지는 못합니다. 즉, 코드를 재사용하기 어려울 수 있다는 것이죠. 하지만 함수는 해당 기능을 하는 것을 재사용하기 쉽습니다. 또한, 프로그래머 자신이나 다른 팀원(예를 들어, 기획자나 디자이너 혹은 다른 프로그래머)이 해당 코드를 다시 봤을 때, 논리적인 이..
안녕하세요 Hi Create입니다! 오늘은 저번에 배웠던 형 변환에 덧붙여서 10진수를 임의의 진수로 바꾸는 프로그램을 만들어보려고 합니다. https://hiittech.tistory.com/66 [프로그래밍 기초][파이썬] 22.자료형의 변환 안녕하세요 Hi Create입니다! 이번에는 자료형의 변환에 대해 가져왔습니다. 우리가 프로그래밍을 하다보면 어떤 변수를 다른 자료형으로 바꿀 때가 있습니다. 파이썬에서는 내장 함수들을 통해 hiittech.tistory.com 이 프로그램은 10진수 숫자와 원하는 진수를 입력받아서 변환시켜주는 프로그램입니다. 우선 변수를 만들어야겠죠? # n = 10진수 숫자를 입력받는 변수 # target = 변경하고자하는 진수 # width = 출력 문자열 폭 이런 식으로..
안녕하세요 Hi Create입니다! 이번에는 자료형의 변환에 대해 가져왔습니다. 우리가 프로그래밍을 하다보면 어떤 변수를 다른 자료형으로 바꿀 때가 있습니다. 파이썬에서는 내장 함수들을 통해 자료형을 변환할 수 있게 해놓기도 하였고, 모듈을 사용할 수도 있습니다. 1. 수치 형의 변환 우선 수치 형을 변환해 볼겁니다. 그중에서도 다른 자료형에서 정수형으로 변환해봅시다 1) 정수형으로 변환하기 보통은 내장 함수로 처리할 수 있습니다. int() 안에 객체를 넣으면 정수형으로 변환됩니다. s = '1234567' f = 3.141592 print(int(s)) print(int(f)) 위처럼 하면 거의 모든 자료형을 정수형으로 바꿀 수 있을 것입니다. 해보시면 f, 즉 실수형 자료형의 소수점 부분을 완전 잘..