자료구조에 관해서 고수님들.
나오
자료구조에 관해질문 요약 :스택,큐,배열,링크드리스트,트리,그래프질문 내용 : 안녕하세요 공부라는 것이 동기와 전체 흐름을 알고하는 것이 중요합니다.
그런데 자료구조책 여러권을 보아도 간단한 설명과 그냥 코드만 나오는데, 답답하네요.
물론 어떻게 짜고 하는것은 알고있지만 코딩을 할수있다는것 보다는, 왜 써야하는지 또한 차이점이 무엇인지.
이해하기 쉬운책이 찾다 찾다 없어서 질문 올립니다.
왜 배워야하는지를 알고 배우는 것과 그냥 배워야 하니깐 배우는것 하고는 이해하는데에서 차이가 심하다고 생각합니다.
자 본론의 질문을 할께요
스택 : 스택이 뭐다라는것은 알고있구요. 스택을 사용할때 계산기 외에 사용용도가 있을까요 ? 물론 자체적 스택메모리가 있지만.
일반적(컴퓨터가 처리하는거말구요 실제 사람이)으로 사용을 하나요? 값을 저장했다가 마지막부터 출력하는 경우가... 사실 원리만 스택이라는 원리이지 자료 넣었다 빼는 방식을 좀더 쉽게 구현이 되잖아요. 또한 실질적 자료 저장은 데이터베이스에 하고 빼쓰는것도 데이터베이스인데 말이죠. ?????????????????
큐 : 마찬가지로 원리는 간단하지만 왜 이것을 배워서 구현을 해야되는 이유를 모르겠네요 이미 STL에 다 있는 것을요
연결 링크드 리스트: 는 배열보다 훨씬더 진보된 자료구조라는데 제가 생각하기론 현재 가르키고있는 노드 앞뒤 노드 말고는 검색하는 방법이 어차피 순회이기 때문에 배열이랑 별반 차이점도 없다고 보구요. 임의지역 삽입 삭제가 빠르다고하는데.
이것도 순회해야하기때문에 수많은 자료가있을때 그중에 중간노드를 찾을방법은 순회인데 .. 배열이랑 특별난 차이가 있는건가요? 물론 배열을 동적배열로 생각하구요. memmove를 이용하면 빈 공간도 없고 .....
트리 : 이것은 자식의 자식노드로 줄줄이 비엔나 형식 트리 구조인데 리스트보다는 좀더 단축적인 순회가 가능한정도인가요.
그래프: 그래프는 안봤습니다.
제가 코드도 짜보고 했는데 .. 정작 중요한 정리가 안됩니다.
왜 써야하는지... 이해를 시켜줄만한 참고 자료구조가 없기에 질문 올리네요.
고수분들 배열,스택,큐,트리,그래프,링크드리스트,의 서로간의 차이점과 실제 프로그래밍시에 필요한 사례좀 알려주세요.
이해하기 쉽게요. 감사합니다.
-
얼
멀티쓰레드를 사용하는 임베디드 프로그래밍에서 쓰임세를 보면요...
큐는 보통 이벤트 큐로 쓰여 집니다. 스택은 말그대로 스레드의 스택을 저장하기 위한 용도이고..
링크드 리스트야 워낙 많이 쓰입니다만 배열로 쓰지 않는 이유는 동적 할당을 가능하고 메모리 사용을 줄이기 위해서이지요... 컴퓨터야 메모리도 빵빵하고, 하드도 널널하지만, 핸드폰이나 냉장고, 밥통등.. 임베디드 프로그래밍에서는 다 쥐어 짜야 합니다.
트리는... 저도 안써봐서 패스... -
장미
루트// 좋은 비유입니다만 맨 끝 글만 삭제가 가능한가요?
천년// 배열에서 n개의 요소를 빼려면 n번의 당김이 필요하죠.
무엇보다, \전산학\을 배우세요. -
유키
스택과 큐는 인터넷 이용하면 볼 수 있어요.
흔히... 게시판에서 최근 날짜별로 정렬되죠?
또 글을 쓰면 최근 날짜 뒤에 등록되고요.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2694420 | C언어 질문할게요(유니코드,자료형,버퍼,캐스트연산자) | 은새 | 2025-05-11 |
2694370 | 내일까진데 함수호출 제발 도와주세요!!!!!!!!!11 | 들찬 | 2025-05-10 |
2694339 | putchar()의 괄호 안에 int c=10;로 전에 선언된 c를 넣으면 안되는 이유에서 제가 생각한 것이 그 이유가 되는지 확인하고 싶습니다. (3) | 미르 | 2025-05-10 |
2694316 | 이 코드 어디가 잘못되었는지 고수분들 ㅠㅠ (2) | 나빛 | 2025-05-10 |
2694285 | 언어 공부하는 과정 좀 추천해주세요! (1) | 아빠몬 | 2025-05-09 |
2694258 | 카운터.. 질문입니다. (4) | 하늘빛눈망울 | 2025-05-09 |
2694229 | 단순한 질문이요 (8) | 여름 | 2025-05-09 |
2694202 | 용돈을 가지고 할 수 있는 일을 여러가지로 출력하는 방법 좀 알려주세요! (2) | 미나 | 2025-05-09 |
2694145 | 화면깜빡임을 없애고 싶은데요... (1) | 어서와 | 2025-05-08 |
2694069 | unsigned 질문입니다. | 힘차 | 2025-05-07 |
2694012 | 전공 비전공자 개발자 (10) | 말글 | 2025-05-07 |
2693984 | 오버로딩이 무엇인가요? (2) | 헛매질 | 2025-05-07 |
2693956 | PlaySound재생이 안됩니다!(C에 음악넣기) | 지존 | 2025-05-06 |
2693928 | &와 *의 사용에 관한 명확한 이해 | 제나 | 2025-05-06 |
2693903 | 반복문 설명좀요 ㅠㅠ (2) | 란새 | 2025-05-06 |
2693869 | stdio.h 는 왜 쓰는건가요? (1) | 큰꽃들 | 2025-05-06 |
2693842 | 포인터 변수의 주소값끼리 더하는 것에 대해서 질문드립니다. (1) | 진솔 | 2025-05-05 |
2693811 | 소수 출력;;;; | 화이트캣 | 2025-05-05 |
2693788 | 이런 함수는 없나요? (3) | 앤드류 | 2025-05-05 |
2693758 | txt파일 불러와서 행렬로 저장 | 큰애 | 2025-05-05 |