Tips:本题解是【随便搞搞 1】Prim算法的学习和使用 的姊妹篇,希望先阅读Prim算法。 预习及预备知识: 克鲁斯卡尔(Kruskal)算法是实现图的最小生成树最常用的算法。 大家知道,存储图的方法有2种:邻接矩阵表示法、邻接表表示法; 这里介绍的是介于这两种之间的一种方法:边接存储法(即直接 ...
分类:
其他好文 时间:
2017-06-18 14:23:48
阅读次数:
219
package edu.cn.ysw; //八种排序算法的实现与效率分析 /* * 内排序的种类: * 1.插入排序:直接插入排序、希尔排序。 * 2.选择排序:简单选择排序、堆排序。 3.交换排序:冒泡排序、快速排序。 4.归并排序 5.基数排序 */ public class SortedMet... ...
分类:
编程语言 时间:
2017-06-17 12:03:32
阅读次数:
219
计数排序:不须要比較就能得出排序的顺序__比如。本章的计数排序、基数排序、桶排序 比較排序:须要进行比較才干得出排序的顺序__比如,本章的堆排序、高速排序(本质是插入排序)、插入排序 代码清单:计数排序__完美演绎下标的作用 public class Count_Sort { //接收须要排序的数组 ...
分类:
编程语言 时间:
2017-06-15 21:57:57
阅读次数:
152
本文假设你已对堆排序的算法有主要的了解。 要分析stl中heap的源代码的独到之处。最好的办法就是拿普通的代码进行比較。话不多说,先看一段普通的堆排序的代码: //调整大顶堆。使得结构合理 void max_heap(int a[],int node,int size) { int lg=node; ...
分类:
其他好文 时间:
2017-06-15 20:30:39
阅读次数:
240
C# 插入排序 冒泡排序 选择排序 高速排序 堆排序 归并排序 基数排序 希尔排序 以下列出了数据结构与算法的八种基本排序:插入排序 冒泡排序 选择排序 高速排序 堆排序 归并排序 基数排序 希尔排序,然后是測试的样例。代码位置:http://download.csdn.net/detail/luo ...
分类:
编程语言 时间:
2017-06-15 12:52:34
阅读次数:
215
这篇文章是David MacKay利用信息论,来对快排、堆排的本质差异导致的性能差异进行的比较。 信息论是非常强大的,它并不只是一个用来分析理论最优决策的工具。 从信息论的角度来分析算法效率是一件很有趣的事,它给我们分析排序算法带来了一种新的思路。 运用了信息论的概念,我们很容易理解为什么快排的速度 ...
分类:
编程语言 时间:
2017-06-13 17:26:16
阅读次数:
224
目录 0. 前言 1. 猜数字 2. 称球 3. 排序 3.1 为什么堆排比快排慢 3.2 为什么快排其实也不是那么快 3.3 基排又为什么那么快呢 4. 信息论!信息论? 5. 小结 0. 前言 知道这个理论是在TopLanguage上的一次讨论,先是g9转了David MacKay的一篇文章,然 ...
分类:
其他好文 时间:
2017-06-13 17:03:58
阅读次数:
250
用数组实现一个小根堆。并完毕排序的操作。(详细请看凝视) 堆的基本操作实际上就几种: 1.向下调整操作AdjustDown() 2.向上调整操作AdjustUp() (向堆中插入元素时用到) 3.建堆操作BuildHeap(),当中要不断调用AdjustDown()来维护堆的性质 4.弹出堆顶元素G ...
分类:
编程语言 时间:
2017-06-13 11:30:19
阅读次数:
202
#include <stdio.h> void swap(int *a, int *b); void bubble_sort(int a[], int n); void select_sort(int a[], int n); void insert_sort(int a[], int n); vo ...
分类:
编程语言 时间:
2017-06-10 19:34:26
阅读次数:
224
【问题描写叙述】 Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: You may assume that nums1 has enough space ...
分类:
编程语言 时间:
2017-06-08 21:24:33
阅读次数:
183