In the running time of Kruskal's algorithm, the time for sorting edges is mlogm when we use quick sort. But as descried in 'Algorithm Design', the max number of edges is smaller than the square of number of nodes, so sorting the edge costs at most mlogn time. I can't understand this statement as even in a complete graph, shouldn't the max number of edges be n(n-1)/2?
1
There are 1 best solutions below
Related Questions in ALGORITHM
- MCNP 6 - Doubts about cells
- Given partially sorted array of type x<y => first apperance of x comes before first of y, sort in average O(n)
- What is the algorithm behind math.gcd and why it is faster Euclidean algorithm?
- Purpose of last 2 while loops in the merge algorithm of merge sort sorting technique
- Dots and Boxes with apha-beta pruning
- What is the average and worst-case time complexity of my string searching algorithm?
- Building a School Schedule Generator
- TC problem 5-2:how to calculate the probability of the indicator random variable?
- LCA of a binary tree implemented in Python
- Identify the checksum algorithm
- Algorithm for finding a subset of nodes in a weighted connected graph such that the distance between any pair nodes are under a postive number?
- Creating an efficent and time-saving algorithm to find difference between greater than and lesser than combination
- Algorithm to find neighbours of point by distance with no repeats
- Asking code suggestions about data structure and algorithm
- Heap sort with multithreading
Related Questions in GRAPH-THEORY
- Algorithm for total flow through weighted directed acyclic graph
- Finding path with smallest GCD of nodes's weights in directed graph
- The plot function in the 'gRc' library gives an error (also in the demo)
- Color edges distinctly in network based on attribute value
- Make a stack of adjacency matrices from a dataframe in R
- What is an efficient algorithm to identify multi-degree email chains in a mock company network?
- Approximation Algorithms for the Longest Simple Path in a Directed Graph
- Eliminate edges in a routing graph which aren't used in the shortest path between a subset of nodes
- PageRank Algorithm on a Graph with a Sink Node
- Algorithm to cover time periods
- Prims minimum spanning
- DFS Maze generation
- Find the node with the minimum maximum distance in a graph
- Undirected connected graph - Finding edges with specific weight that belong to MST
- Why is my graph coloring code not coloring the graph correctly?
Related Questions in KRUSKALS-ALGORITHM
- Explain what is the logic behind this code
- Problem removing from Java-HashSet while implementing Kruskal's algorithm
- Minimum Spanning Tree algorithm with n connected components
- Finding minimum spanning tree with Kruskal's, but there are overlap vertex
- In Kruskal's Algorithm, why does the union procedure check whether r_x == r_y since the opposite was required to call union()?
- Operating on a pair of elements in an array and dropping one
- DFS vs. Kruskal runtime (maze generation)
- how to program Prim's and Kruskal's algorithm using adjacency lists in C
- In openMP is there a way to for tasks to share variables?
- What is the logic behind this index in Kruskal's minimum spanning tree algorithm?
- qsort not sorting the content correctly, kruskal's algorithm
- Does Kruskal's algorithm find the minimum bottleneck spanning tree? if so how do we prove correctness?
- Kruskal algorithm, cycles and unvisited vertices
- Why can't edges be fewer than vertices in Graph theory?
- How does Kruskal and Prim change when edge weights are in the range of 1 to |V| or some constant W?
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You're right in that a complete graph has n(n-1)/2 edges. Since n(n-1)/2 = n^2/2 - n/2 < n^2, the statement you quote holds true.
If your source of confusion is "why did the author say less than n2 instead of n(n-1)/2", then it's likely because n2 is a simpler expression and a sufficient one to prove that paragraph is trying to say, namely that the cost of sorting is at most m log n.
If you prove that something holds whenever the number of edges is <= n2, then it will also hold in the real world, since the number of edges is <=n/(n-1)/2 <= n2.