摘要:许多应用程序都需要处理有序的元素,但不一定要求全部有序。一个合适的数据结构应该支持两种操作:删除最大元素和插入元素。 1 #include 2 #include 3 using namespace std; 4 5 6 struct node 7 { 8 int priority; ...
阅读全文
摘要:Agraphis a set ofverticesand a collection ofedgesthat each connect a pair of vertices. We use the names 0 through V-1 for the vertices in a V-vertex g...
阅读全文
摘要:快速排序是一种分治的排序。快速排序与归并排序是互补的: 归并排序将数组分成两个子数组分别排序,并将有序的子数组归并以将整个数组排序;而快速排序将数组首先切分成两个子串,然后分别排序。相关的代码:public static void QuickSort(char[] a, int lo, int hi...
阅读全文
摘要:该算法基于一个简单的操作: 将两个有序的队列合成一个更大的有序队列。归并排序保证NlogN。原地归并的抽象算法(Abstract in-place merge):using System;namespace MergeSort{ class Program { static...
阅读全文
摘要:http://algs4.cs.princeton.edu/21elementary/排序算法分析:比较(Compare),交换(Exchange),如果没有使用选择排序:首先,找到最小的元素然后和第一个数做交换,然后在剩下的元素里找最小的,和第二个数做交换,一直下去。选择排序用了: ~N2/2 次...
阅读全文