Sorting algorithms comparison - Firefox Developer Tools 编辑
This article describes a simple example program that we use in two of the Performance guides: the guide to the Call Tree and the guide to the Flame Chart.
This program compares the performance of three different sorting algorithms:
- bubble sort
- selection sort
- quicksort
It consists of the following functions:
sortAll() | Top-level function. Iteratively (200 iterations) generates a randomized array and calls sort() . |
sort() | Calls each of bubbleSort() , selectionSort() , quickSort() in turn and logs the result. |
bubbleSort() | Implements a bubble sort, returning the sorted array. |
selectionSort() | Implements a selection sort, returning the sorted array. |
quickSort() | Implements quicksort, returning the sorted array. |
swap() | Helper function for bubbleSort() and selectionSort() . |
partition() | Helper function for quickSort() . |
Its call graph looks like this:
sortAll() // (generate random array, then call sort) x 200 -> sort() // sort with each algorithm, log the result -> bubbleSort() -> swap() -> selectionSort() -> swap() -> quickSort() -> partition()
The implementations of the sorting algorithms in the program are taken from https://github.com/nzakas/computer-science-in-javascript/ and are used under the MIT license.
You can try out the example program here and clone the code here (be sure to check out the gh-pages branch). You can also download the specific profile we discuss - just import it to the Performance tool if you want to follow along. Of course, you can generate your own profile, too, but the numbers will be a little different.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论