题目描述
有n个城市,其中有些城市之间可以修建公路,修建不同的公路费用是不同的。现在我们想知道,最少花多少钱修公路可以将所有的城市连在一起,使在任意一城市出发,可以到达其他任意的城市。
输入
输入包含多组数据,格式如下。
第一行包括两个整数n m,代表城市个数和可以修建的公路个数。(n
剩下m行每行3个正整数a b c,代表城市a 和城市b之...
分类:
其他好文 时间:
2014-08-14 20:48:49
阅读次数:
247
基本思想
首先将给定的值K与表中中间位置元素比较,若相等,则查找成功;若不等,则所需查找的元素只能在中间数据以外的前半部分或者后半部分,缩小范围后继续进行同样的查找,如此反复,直到找到为止。
代码实现
/**
* 源码名称:BinarySearch.java
* 日期:2014-08-14
* 程序功能:二分查找
* 版权:CopyRight@A2BGeek
* 作者:A...
分类:
其他好文 时间:
2014-08-14 14:17:48
阅读次数:
167
数据结构与算法是语言学习中的重点与难点。之前没学好,现在特地将严蔚敏的《数据结构》C语言版中的伪代码,予以实现,算作是自己再学习一次。同时希望能帮助到那些刚接触数据结构,对书中内容还不甚理解不知如何动手实现的童鞋。本篇实现的是线性链表,实现算法2.12...
分类:
编程语言 时间:
2014-08-13 22:29:55
阅读次数:
467
基本思想
顺序查找是最简单的查找方法,从线性表的一端开始,依次将每个记录的关键字与给定值进行比较。
代码实现
/**
* 源码名称:SeqSearch.java
* 日期:2014-08-13
* 程序功能:顺序查找
* 版权:CopyRight@A2BGeek
* 作者:A2BGeek
*/
public class SeqSearch {
public stati...
分类:
其他好文 时间:
2014-08-13 18:56:47
阅读次数:
195
1、序
详细实现了二叉查找树的各种操作:插入结点、构造二叉树、删除结点、查找、 查找最大值、查找最小值、查找指定结点的前驱和后继
2、二叉查找树简介
它或者是一棵空树;或者是具有下列性质的二叉树: (1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值; (2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值; (3)左、右子树也分别为二叉排序树
3、...
分类:
其他好文 时间:
2014-08-13 18:46:47
阅读次数:
164
二路归并排序的时间复杂度是O(n*log2n),空间复杂度是O(n)。
代码如下:
/**
* 源码名称:MergeSort.java
* 日期:2014-08-11
* 程序功能:合并排序
* 版权:CopyRight@A2BGeek
* 作者:A2BGeek
*/
public class MergeSort {
public void mergeSort(int[]...
分类:
其他好文 时间:
2014-08-11 17:52:02
阅读次数:
204
《数据结构与算法JavaScript描述》基本信息作者: (美)Michael McMillan译者: 王群锋 杜欢丛书名: 图灵程序设计丛书出版社:人民邮电出版社ISBN:9787115363398上架时间:2014-8-5出版日期:2014 年8月开本:16开版次:1-1所属分类:计算机 > 软...
分类:
编程语言 时间:
2014-08-11 17:26:02
阅读次数:
293
直接插入排序的时间复杂度的O(N^2),空间复杂度是O(1)。
下面是代码:
public class InsertionSort {
public void insertionSort(int[] in) {
int length = in.length;
int i, j;
for (i = 1; i < length; i++) {
int tmp = in[i];...
分类:
其他好文 时间:
2014-08-11 12:04:12
阅读次数:
194
希尔排序的时间复杂度是O(n^1.3)~O(n^2),空间复杂度是O(1)。
代码如下:
/**
* 源码名称: ShellSort.java
* 日期:2014-08-11
* 程序功能:希尔排序
* 版权:CopyRight@A2BGeek
* 作者:A2BGeek
*/
public class ShellSort {
public void shellSort(i...
分类:
其他好文 时间:
2014-08-11 11:59:02
阅读次数:
212
堆排序的时间复杂度是O(nlogn),下面上代码
public class HeapSort {
public void adjustHeap(int[] in, int index, int length) {
int leftcIndex = index * 2 + 1;
int rightcIndex = index * 2 + 2;
int bigest = index;...
分类:
其他好文 时间:
2014-08-08 16:04:16
阅读次数:
210