본문 바로가기
반응형

개발/알고리즘11

[알고리즘/C++] - 링크드리스트안에 더블링크드리스트 더블 링크드리스트 안에 더블..더블링크드리스트,,(DoubleLInkedList) 오늘은 제가 좋아하는 옛날 아이스크림을 가져와봤습니다.항상 생각하지만 귀멸의 칼날의 어떤 캐릭터도 이 더블더블이랑 비슷하다고 생각합니다.아니면 말고요.. 이전 포스팅에서 말하였듯이 연결리스트에서의 다른 구현방법인 더블 링크드 리스트에 대해서 알아보도록 하겠습니다.더블 링크드 리스트는 연결 리스트 개념 안에 존재하는 세부 개념입니다. 다만, 이전에 설명했던 단일 연결리스트와는 다르게 이름대로 데이터가 서로 이중 연결을 합니다.2번데이터는 이전데이터(1번)를 가리키는 주소값, 다음데이터(3번)을 가리키는 주소값, 그리고 자시자신 값. 총 세가지 값을 가집니다.이렇게 모든 데이터가 각각 세개의 데이터를 가지며, 이전데이터가 NULL인 경우에는 그 데이터는 첫번째 헤드. 다음 데이터가 NULL인 경우에는 그 데.. 2024. 4. 23.
[알고리즘/C++] - 링크드리스트,,(LInkedList) 안녕하세요 오늘은 링크드리스트(LinkedList)에 대해서 알아보도록 하겠습니다..이름이 너무 정직해서 아재드립을 칠 수가 없다는 사실이 너무나도 안타깝습니다..아쉬운대로 메이플 스토리 링크 스킬을 가져와봤습니다..성에 차지 않네요,, 추상적 자료형인 리스트를 구현한 자료구조로, Linked List라는 말 그대로 어떤 데이터 덩어리(이하 노드Node)를 저장할 때 그 다음 순서의 자료가 있는 위치를 데이터에 포함시키는 방식으로 자료를 저장한다. 예를 들어 한 반에 있는 학생들의 자료를 저장한다면, 학생 하나하나의 신상명세 자료를 노드로 만들고, 1번 학생의 신상명세 자료에 2번 학생 신상명세가 어디있는지 표시를 해 놓는 방식이다. 쉽게 생각하면 자료를 비엔나 소시지마냥 줄줄이 엮어놓은 것이다.- 나무.. 2024. 4. 23.
[알고리즘/C++] - 큐(Queue),평 , 큐,, 평,,큐,,WER 오늘은 큐에 대해서 알아보도록 하겠습니다. https://www.youtube.com/watch?v=ImuWa3SJulYQ.WER..입니다^^ 선입선출의 자료구조. 대기열이라고도 한다. Queue라고도 하는데, Queue라는 단어 자체가 표 같은 것을 구매하기 위해 줄서는 것을 의미한다.오늘도 나무위키와 함께합니다.말 그대로 큐(Queue)는 먼저 들어온 데이터가 먼저 빠져나가고 쓰입니다. 짜장면 먼저 시켰는데 나중에 시킨 사람 짜장면이 나왔다면 기분이 나쁩니다.. 그런 문제를 해결하기 위해 큐가 있습니다!(?)데이터를 추출하게 된다면 가장 먼저 넣었던 예전 데이터가 빠져나오고, 데이터를 삽입하게 된다면 가장 나중에 넣은 데이터 뒤로 들어가게 됩니다.삽입과 삭제를 하는데 있어 O(1)이라는 빠른 속도를 .. 2024. 4. 20.
[알고리즘/C++] - Stack쌓고 나서스가 되. 오늘은 스택에 대해서 알아보도록 하겠습니다.스택하면 그가 빠질 수 없습니다..  스택이란. 후입선출(Last In First Out—LIFO) 특성을 가지는 자료구조(Data Structure)를 일컫는다.  나무위키를 가져와보았습니다. 간단하게 말해서 스택이란, 나중에 들어온 녀석이 먼저나간다! 라는 개념입니다. 박힌 돌보다 굴러온 돌이 더 먼저 빛을 보다니 버릇이 없네요스택이라는 데이터 공간 속에 계속해서 데이터를 쌓아두었다가, 데이터들을 사용하고자 한다면, 가장 나중에 넣은 데이터를 꺼내게 됩니다. 그 전에 넣어둔 데이터들은 가장 위 데이터들이 나갈 때까지 꺼내지 못합니다..데이터를 넣거나 빼는 데에 걸리는 시간 복잡도도 O(1), 가장 나중에 넣은 데이터를 한 번 확인하는 데에도 O(1)의 시간복.. 2024. 3. 12.
[알고리즘] 그리디 알고리즘과 브루트포스 알고리즘 그리디(greedy) 알고리즘: 탐욕의 알고리즘(?). 매 순간마다 주어지는 선택의 과정에서 현재의 상태에서만을 기준으로 더 나은 선택을 지향하는 알고리즘입니다그리디 알고리즘은 현재 상태에서 최선의 선택을 함으로써 단편적이고 일시적인 부분에서 바라보았을 때에는 합리적이라고 할 수 있겠으나, 종합적으로 판단하였을 때 가장 합리적인 선택이라고 단정 지을 수는 없다는 단점이 있습니다. 때문에 어떤 상황인지에 따라서 잘 유의하고 사용해야 하는 알고리즘입니다!그리디 알고리즘의 장점"수행시간": 동적 계획법이(DP,다이나믹 프로그래밍)라는 방법을 사용하기 때문에 다른 알고리즘 기법보다 수행 시간이 빠르다."근사치": 완벽한 답안보다는 빠르고 간단하게 정답에 근접한 근사치를 찾는 것만으로 만족이 가능한 코드 구현에는.. 2023. 11. 13.
반응형