基本思想
首先将给定的值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
算法复杂度分为时间复杂度T(n)和空间复杂度F(n)时间复杂度:也就是执行算法程序所需的时间,与硬件的速度、编程语言的级别、编译器的优化、数据的规模、执行的频度有关,前三个有很大的不确定性,所以衡量指标只要是后两者即算法的时间复杂度是数据规模n的函数。T(n)=O(F(n)),其中O表示同阶,即当n...
分类:
其他好文 时间:
2014-08-08 15:31:56
阅读次数:
202