목록2019/04 (14)
꿈 많은 사람의 이야기
파이썬으로 자료구조, 알고리즘 공부를 다시 하고 있다 너무 오랜만에 해서 뜨문뜨문 기억이 나면서 진행하고 있다 지난 포스팅까지는 연결 리스트(linked list)와 이중 연결 리스트(doubly linked list)를 다뤄봤다 이번에는 스택과 큐이다. 먼저 스택이다. stack은 자료구조에서 정말 많이 보이는 그리고 많이 사용되기도 하는 자료구조이다 Last In First Out의 구조 즉 LIFO의 구조를 따른다 스택의 구조를 그림으로 설명하면 위와 같이 된다 A->B->C->D 순으로 들어오고 가장 맨 위를 top이 가리킨다. 그리고 마지막에 들어온 D부터 차례대로 out되는데 이 과정을 pop 이라고 한다. 또한, 스택에 들어오는 과정은 push라고 한다. 이 과정을 파이썬 코드로 작성하면 어..
지난 글에서 파이썬으로 연결리스트를 구성해봤습니다.(https://lsjsj92.tistory.com/461) 하지만 단순한 연결리스트는 단방향만 가기 때문에 양방향보다는 효율이 떨어집니다 그것을 보완하기 위해 양방향으로 갈 수 있는 연결 리스트를 구상했는데요 그게 이중 연결 리스트(doubly linked list) 입니다. 그림으로 보면 아래와 같은 구조입니다. 각 노드가 있고 노드안에 prev, next가 있어서 prev는 본인 노드 전의 지점을 가리킵니다. next는 본인 노드 다음의 노드를 가리킵니다. 어렵지 않는 구조이죠 지난 번 포스팅에서 크게 달라지는 것은 없으며 prev 구조가 추가 되었습니다. 이게 끝입니다 ㅎㅎ 단순하죠? 하지만 삽입이나 삭제 같은 연산을 할 때는 좀 많이 달라집니다...
최근 1달 사이에 좀 짜증? 이해가 가지 않는? 에러가 계속 나와서 골치였다 바로 아래와 같은 사진의 에러였다 갑자기 뜬금없이 PC에 문제가 발생하여 다시 시작해야 합니다. 일부 오류 정보를 수집하고 있습니다. 그런 다음 자동으로 다시 시작합니다. 문구가 뜨더니 100% 되더니 다시 시작하지도 않고.. 소리는 엄청 크고 중지 코드를 보니까 driver irql not less or equal에러가 뜬다. 저 에러코드는 저거 뿐 아니라 무슨 kernel security check failure 이런 에러도 있었고 근데 대부분이 중지 코드는 driver irql not less or equal 에러였고 실패한 내용이 vmswitch.sys 라는 것 때문이었다 처음에는 저게 뭐지 하면서 검색을 했는데 무슨 H..
최근 다시 한 번 알고리즘, 자료구조를 공부하고 싶었다 솔직히 알고리즘까지는 아니더라도 자료구조라도 공부를 하고 싶었다 그래서 파이썬으로 코드를 작성하며 공부를 해보려고 한다 이번 편은 파이썬으로 해보는 자료구조 연결 리스트(linked list)이다 연결리스트는 어찌보면 배열과 비슷하지만 구조적으로 다르다 배열은 같은 성질끼리(요즘엔 언어에 따라서 다른 성질도 묶어도 되지만) 연속적으로 되어 있는 상태이다 연결 리스트(linked list)는 구조상으로 봤을 때 계속 링크를 따라서 이어지는 구조이다 이런식으로 말이다 하나의 노드에 데이터와 다음 노드를 가리키는 next point가 있다 이런 식으로 쭉 이어나가고 중간에 삽입, 삭제도 가능하도록 코드를 구성해보겠다 파이썬으로! python data st..