A good book to learn graph algorithms












1












$begingroup$


Can someone please tell a good reference to study algorithms in graph theory?



I've studied sufficient graph theory in discrete mathematics and data structures courses, which included topics like colouring, matching, planarity, BFS, DFS and Dijkstra's algorithm. But I'm unable to solve coding questions at all on competitive coding sites like codechef.



So, can someone please tell me a good book OR video tutorials online for the same? Thanks!










share|cite|improve this question











$endgroup$








  • 1




    $begingroup$
    Check out "The Art of Computer Programming" by Donald E. Knuth or "The Stanford GraphBase: A Platform for Combinatorial Computing" by Donald E. Knuth
    $endgroup$
    – Moritz
    Dec 28 '18 at 12:09










  • $begingroup$
    @Moritz Sure. Thanks a lot :)
    $endgroup$
    – Ankit Kumar
    Dec 28 '18 at 13:11










  • $begingroup$
    Take a look at Skiena's "The Algorithm Design Manual", Springer, 2008.
    $endgroup$
    – Jean Marie
    Dec 30 '18 at 21:24










  • $begingroup$
    duplicate of math.stackexchange.com/q/27480
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 22:24


















1












$begingroup$


Can someone please tell a good reference to study algorithms in graph theory?



I've studied sufficient graph theory in discrete mathematics and data structures courses, which included topics like colouring, matching, planarity, BFS, DFS and Dijkstra's algorithm. But I'm unable to solve coding questions at all on competitive coding sites like codechef.



So, can someone please tell me a good book OR video tutorials online for the same? Thanks!










share|cite|improve this question











$endgroup$








  • 1




    $begingroup$
    Check out "The Art of Computer Programming" by Donald E. Knuth or "The Stanford GraphBase: A Platform for Combinatorial Computing" by Donald E. Knuth
    $endgroup$
    – Moritz
    Dec 28 '18 at 12:09










  • $begingroup$
    @Moritz Sure. Thanks a lot :)
    $endgroup$
    – Ankit Kumar
    Dec 28 '18 at 13:11










  • $begingroup$
    Take a look at Skiena's "The Algorithm Design Manual", Springer, 2008.
    $endgroup$
    – Jean Marie
    Dec 30 '18 at 21:24










  • $begingroup$
    duplicate of math.stackexchange.com/q/27480
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 22:24
















1












1








1





$begingroup$


Can someone please tell a good reference to study algorithms in graph theory?



I've studied sufficient graph theory in discrete mathematics and data structures courses, which included topics like colouring, matching, planarity, BFS, DFS and Dijkstra's algorithm. But I'm unable to solve coding questions at all on competitive coding sites like codechef.



So, can someone please tell me a good book OR video tutorials online for the same? Thanks!










share|cite|improve this question











$endgroup$




Can someone please tell a good reference to study algorithms in graph theory?



I've studied sufficient graph theory in discrete mathematics and data structures courses, which included topics like colouring, matching, planarity, BFS, DFS and Dijkstra's algorithm. But I'm unable to solve coding questions at all on competitive coding sites like codechef.



So, can someone please tell me a good book OR video tutorials online for the same? Thanks!







graph-theory reference-request book-recommendation online-resources






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








edited Dec 30 '18 at 20:07









Jyrki Lahtonen

110k13171386




110k13171386










asked Dec 28 '18 at 6:58









Ankit KumarAnkit Kumar

1,516221




1,516221








  • 1




    $begingroup$
    Check out "The Art of Computer Programming" by Donald E. Knuth or "The Stanford GraphBase: A Platform for Combinatorial Computing" by Donald E. Knuth
    $endgroup$
    – Moritz
    Dec 28 '18 at 12:09










  • $begingroup$
    @Moritz Sure. Thanks a lot :)
    $endgroup$
    – Ankit Kumar
    Dec 28 '18 at 13:11










  • $begingroup$
    Take a look at Skiena's "The Algorithm Design Manual", Springer, 2008.
    $endgroup$
    – Jean Marie
    Dec 30 '18 at 21:24










  • $begingroup$
    duplicate of math.stackexchange.com/q/27480
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 22:24
















  • 1




    $begingroup$
    Check out "The Art of Computer Programming" by Donald E. Knuth or "The Stanford GraphBase: A Platform for Combinatorial Computing" by Donald E. Knuth
    $endgroup$
    – Moritz
    Dec 28 '18 at 12:09










  • $begingroup$
    @Moritz Sure. Thanks a lot :)
    $endgroup$
    – Ankit Kumar
    Dec 28 '18 at 13:11










  • $begingroup$
    Take a look at Skiena's "The Algorithm Design Manual", Springer, 2008.
    $endgroup$
    – Jean Marie
    Dec 30 '18 at 21:24










  • $begingroup$
    duplicate of math.stackexchange.com/q/27480
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 22:24










1




1




$begingroup$
Check out "The Art of Computer Programming" by Donald E. Knuth or "The Stanford GraphBase: A Platform for Combinatorial Computing" by Donald E. Knuth
$endgroup$
– Moritz
Dec 28 '18 at 12:09




$begingroup$
Check out "The Art of Computer Programming" by Donald E. Knuth or "The Stanford GraphBase: A Platform for Combinatorial Computing" by Donald E. Knuth
$endgroup$
– Moritz
Dec 28 '18 at 12:09












$begingroup$
@Moritz Sure. Thanks a lot :)
$endgroup$
– Ankit Kumar
Dec 28 '18 at 13:11




$begingroup$
@Moritz Sure. Thanks a lot :)
$endgroup$
– Ankit Kumar
Dec 28 '18 at 13:11












$begingroup$
Take a look at Skiena's "The Algorithm Design Manual", Springer, 2008.
$endgroup$
– Jean Marie
Dec 30 '18 at 21:24




$begingroup$
Take a look at Skiena's "The Algorithm Design Manual", Springer, 2008.
$endgroup$
– Jean Marie
Dec 30 '18 at 21:24












$begingroup$
duplicate of math.stackexchange.com/q/27480
$endgroup$
– Jean Marie
Dec 31 '18 at 22:24






$begingroup$
duplicate of math.stackexchange.com/q/27480
$endgroup$
– Jean Marie
Dec 31 '18 at 22:24












1 Answer
1






active

oldest

votes


















-2












$begingroup$

If you want to build a very broad knowledge for modern algorithms in general
I would propose




  1. Learn beginners linear algebra.

  2. Learn a heck lot of more linear algebra.

  3. Learn some spectral clustering.


Now you will be able to do lots of graph stuff. And probably also derive your own Dijkstra like algorithms implicitly by solving big linear equation systems.






share|cite|improve this answer









$endgroup$









  • 1




    $begingroup$
    The Question asks for book recommendations for algorithms in graph theory. Given the claimed familiarity with some,of these algorithms, a response that has no book recommendations and only a tenuous connection to graph theory is misplaced.
    $endgroup$
    – hardmath
    Dec 30 '18 at 21:40










  • $begingroup$
    If you just wanted it as a poster for Knuth you could have said so in a comment.
    $endgroup$
    – mathreadler
    Dec 30 '18 at 21:43












  • $begingroup$
    "your own Dijkstra like algorithms implicitly by solving big linear equation systems" : what has Dikstra's algorithm to do with solving a system of equations ?
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 19:24










  • $begingroup$
    @JeanMarie the problem to be solved (finding fastest path from one place to all other places): It's very solvable with linear algebra if you just get good enough at it.
    $endgroup$
    – mathreadler
    Dec 31 '18 at 19:50










  • $begingroup$
    But complexity of solving a linear system is so huge compared to the efficiency of Dijkstra's algorithm (as it is presented usually)...
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 20:20











Your Answer





StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3054642%2fa-good-book-to-learn-graph-algorithms%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























1 Answer
1






active

oldest

votes








1 Answer
1






active

oldest

votes









active

oldest

votes






active

oldest

votes









-2












$begingroup$

If you want to build a very broad knowledge for modern algorithms in general
I would propose




  1. Learn beginners linear algebra.

  2. Learn a heck lot of more linear algebra.

  3. Learn some spectral clustering.


Now you will be able to do lots of graph stuff. And probably also derive your own Dijkstra like algorithms implicitly by solving big linear equation systems.






share|cite|improve this answer









$endgroup$









  • 1




    $begingroup$
    The Question asks for book recommendations for algorithms in graph theory. Given the claimed familiarity with some,of these algorithms, a response that has no book recommendations and only a tenuous connection to graph theory is misplaced.
    $endgroup$
    – hardmath
    Dec 30 '18 at 21:40










  • $begingroup$
    If you just wanted it as a poster for Knuth you could have said so in a comment.
    $endgroup$
    – mathreadler
    Dec 30 '18 at 21:43












  • $begingroup$
    "your own Dijkstra like algorithms implicitly by solving big linear equation systems" : what has Dikstra's algorithm to do with solving a system of equations ?
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 19:24










  • $begingroup$
    @JeanMarie the problem to be solved (finding fastest path from one place to all other places): It's very solvable with linear algebra if you just get good enough at it.
    $endgroup$
    – mathreadler
    Dec 31 '18 at 19:50










  • $begingroup$
    But complexity of solving a linear system is so huge compared to the efficiency of Dijkstra's algorithm (as it is presented usually)...
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 20:20
















-2












$begingroup$

If you want to build a very broad knowledge for modern algorithms in general
I would propose




  1. Learn beginners linear algebra.

  2. Learn a heck lot of more linear algebra.

  3. Learn some spectral clustering.


Now you will be able to do lots of graph stuff. And probably also derive your own Dijkstra like algorithms implicitly by solving big linear equation systems.






share|cite|improve this answer









$endgroup$









  • 1




    $begingroup$
    The Question asks for book recommendations for algorithms in graph theory. Given the claimed familiarity with some,of these algorithms, a response that has no book recommendations and only a tenuous connection to graph theory is misplaced.
    $endgroup$
    – hardmath
    Dec 30 '18 at 21:40










  • $begingroup$
    If you just wanted it as a poster for Knuth you could have said so in a comment.
    $endgroup$
    – mathreadler
    Dec 30 '18 at 21:43












  • $begingroup$
    "your own Dijkstra like algorithms implicitly by solving big linear equation systems" : what has Dikstra's algorithm to do with solving a system of equations ?
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 19:24










  • $begingroup$
    @JeanMarie the problem to be solved (finding fastest path from one place to all other places): It's very solvable with linear algebra if you just get good enough at it.
    $endgroup$
    – mathreadler
    Dec 31 '18 at 19:50










  • $begingroup$
    But complexity of solving a linear system is so huge compared to the efficiency of Dijkstra's algorithm (as it is presented usually)...
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 20:20














-2












-2








-2





$begingroup$

If you want to build a very broad knowledge for modern algorithms in general
I would propose




  1. Learn beginners linear algebra.

  2. Learn a heck lot of more linear algebra.

  3. Learn some spectral clustering.


Now you will be able to do lots of graph stuff. And probably also derive your own Dijkstra like algorithms implicitly by solving big linear equation systems.






share|cite|improve this answer









$endgroup$



If you want to build a very broad knowledge for modern algorithms in general
I would propose




  1. Learn beginners linear algebra.

  2. Learn a heck lot of more linear algebra.

  3. Learn some spectral clustering.


Now you will be able to do lots of graph stuff. And probably also derive your own Dijkstra like algorithms implicitly by solving big linear equation systems.







share|cite|improve this answer












share|cite|improve this answer



share|cite|improve this answer










answered Dec 30 '18 at 21:30









mathreadlermathreadler

15.1k72263




15.1k72263








  • 1




    $begingroup$
    The Question asks for book recommendations for algorithms in graph theory. Given the claimed familiarity with some,of these algorithms, a response that has no book recommendations and only a tenuous connection to graph theory is misplaced.
    $endgroup$
    – hardmath
    Dec 30 '18 at 21:40










  • $begingroup$
    If you just wanted it as a poster for Knuth you could have said so in a comment.
    $endgroup$
    – mathreadler
    Dec 30 '18 at 21:43












  • $begingroup$
    "your own Dijkstra like algorithms implicitly by solving big linear equation systems" : what has Dikstra's algorithm to do with solving a system of equations ?
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 19:24










  • $begingroup$
    @JeanMarie the problem to be solved (finding fastest path from one place to all other places): It's very solvable with linear algebra if you just get good enough at it.
    $endgroup$
    – mathreadler
    Dec 31 '18 at 19:50










  • $begingroup$
    But complexity of solving a linear system is so huge compared to the efficiency of Dijkstra's algorithm (as it is presented usually)...
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 20:20














  • 1




    $begingroup$
    The Question asks for book recommendations for algorithms in graph theory. Given the claimed familiarity with some,of these algorithms, a response that has no book recommendations and only a tenuous connection to graph theory is misplaced.
    $endgroup$
    – hardmath
    Dec 30 '18 at 21:40










  • $begingroup$
    If you just wanted it as a poster for Knuth you could have said so in a comment.
    $endgroup$
    – mathreadler
    Dec 30 '18 at 21:43












  • $begingroup$
    "your own Dijkstra like algorithms implicitly by solving big linear equation systems" : what has Dikstra's algorithm to do with solving a system of equations ?
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 19:24










  • $begingroup$
    @JeanMarie the problem to be solved (finding fastest path from one place to all other places): It's very solvable with linear algebra if you just get good enough at it.
    $endgroup$
    – mathreadler
    Dec 31 '18 at 19:50










  • $begingroup$
    But complexity of solving a linear system is so huge compared to the efficiency of Dijkstra's algorithm (as it is presented usually)...
    $endgroup$
    – Jean Marie
    Dec 31 '18 at 20:20








1




1




$begingroup$
The Question asks for book recommendations for algorithms in graph theory. Given the claimed familiarity with some,of these algorithms, a response that has no book recommendations and only a tenuous connection to graph theory is misplaced.
$endgroup$
– hardmath
Dec 30 '18 at 21:40




$begingroup$
The Question asks for book recommendations for algorithms in graph theory. Given the claimed familiarity with some,of these algorithms, a response that has no book recommendations and only a tenuous connection to graph theory is misplaced.
$endgroup$
– hardmath
Dec 30 '18 at 21:40












$begingroup$
If you just wanted it as a poster for Knuth you could have said so in a comment.
$endgroup$
– mathreadler
Dec 30 '18 at 21:43






$begingroup$
If you just wanted it as a poster for Knuth you could have said so in a comment.
$endgroup$
– mathreadler
Dec 30 '18 at 21:43














$begingroup$
"your own Dijkstra like algorithms implicitly by solving big linear equation systems" : what has Dikstra's algorithm to do with solving a system of equations ?
$endgroup$
– Jean Marie
Dec 31 '18 at 19:24




$begingroup$
"your own Dijkstra like algorithms implicitly by solving big linear equation systems" : what has Dikstra's algorithm to do with solving a system of equations ?
$endgroup$
– Jean Marie
Dec 31 '18 at 19:24












$begingroup$
@JeanMarie the problem to be solved (finding fastest path from one place to all other places): It's very solvable with linear algebra if you just get good enough at it.
$endgroup$
– mathreadler
Dec 31 '18 at 19:50




$begingroup$
@JeanMarie the problem to be solved (finding fastest path from one place to all other places): It's very solvable with linear algebra if you just get good enough at it.
$endgroup$
– mathreadler
Dec 31 '18 at 19:50












$begingroup$
But complexity of solving a linear system is so huge compared to the efficiency of Dijkstra's algorithm (as it is presented usually)...
$endgroup$
– Jean Marie
Dec 31 '18 at 20:20




$begingroup$
But complexity of solving a linear system is so huge compared to the efficiency of Dijkstra's algorithm (as it is presented usually)...
$endgroup$
– Jean Marie
Dec 31 '18 at 20:20


















draft saved

draft discarded




















































Thanks for contributing an answer to Mathematics Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3054642%2fa-good-book-to-learn-graph-algorithms%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Wiesbaden

Marschland

Dieringhausen