당신이 묻는 것의 주된 문제는 좀 더 일반적인 해결책이 특정 문제에 대한 최선의 해결책이 아니라는 것입니다. 그것은 모두를위한 평균이지만 최선은 아닙니다.
좋아요, 축퇴를 가정하고 그래프에 목록을 저장할 수는 있지만 왜 그렇게해야합니까? 그리고 그래프 안에 해시 맵을 저장하는 방법은 무엇입니까? 왜 그런 구조가 필요한가요?
그래프 작업을 수행 할 작업을 선택해야한다는 것을 잊지 마십시오. 그렇지 않으면 해시 테이블을 사용하여 값 목록이나 순서가 지정된 컬렉션을 저장하는 목록을 저장하는 것과 같습니다 나무. 당신은 adjacency matrix, edge list 또는 adjacency lists를 사용할 수 있다는 것을 알고 있습니다. 각기 다른 구현은 그 자체의 힘과 약점을 가지고 있습니다.
그래프는 다른 데이터 콜렉션, 순환, 비순환, 지시, 무향, 이단 등등에 비해 실제로 많은 특성을 가질 수 있습니다. 특정 사례에 대해 다른 방법으로 구현할 수 있습니다 (일부 가설 가정). 당신이 필요로하는 그래프에서) 네이티브 구문을 사용하는 것은 어쨌든 어쨌든 구성 할 필요가 있기 때문에 잔인 할 것입니다 (그리고 언어는 많은 구현/최적화를 제공해야합니다).
모든 것이 이미 개발 되었다면 재미있는 부분을 제거하십시오 :) 그냥 자신의 그래프 DSL을 작성하고 함께 살 수있는 언어를 찾아보십시오!
nPiet : http://www.bertnase.de/npiet/ (참고 :이 농담)를 시도하십시오. –
흥미롭고 유효한 지점. 저는 사람들이 일반적으로 조작하는 그래프의 다양한 특성이 언어에 내장되어 있지 않은지 (또는 표준 라이브러리 AFAIK의 일부 임) 이유라고 생각합니다. 그러나 그래프 재 작성을 기반으로 한 많은 언어가 있지만 일반적으로 프로그래머가 액세스 할 수있는 것이 아니라 장면 뒤에서 발생합니다. – Gian
그래프가 자연적으로 달라진다는 것에 동의하지만 이것이 기본 구현 및 인라인 구문을 제공하지 않는 강력한 이유는 아닙니다. –