在顺序存储结构中,堆排序是一种非常不错的高级选择排序算法,普通情况和最差情况下都可以将时间复杂度控制在O(n * logn)。 堆排序可以用在顺序存储结构,是因为完全二叉树的一种独特性质。而这里还要先提一下满二...
分类:
编程语言 时间:
2015-03-15 21:30:04
阅读次数:
451
线性表的顺序存储,其数据结构以及具体实现详见下面代码,重要知识点全部以注释的形式在代码中展示出来。 1 /*** 2 线性表的顺序存储结构是一种 随机存取 的存储结构 3 在线性顺序表中插入或者删除一个元素,时间都消耗在移动元素上,平均约移动一般的元素, 4 故ListInsert和List...
分类:
其他好文 时间:
2015-03-13 10:41:13
阅读次数:
157
查找算法一、查找的基本概念查找,也可称检索,是在大量的数据元素中找到某个特定的数据元素而进行的工作。查找是一种操作。二、顺序查找针对无序序列的一种最简单的查找方式。时间复杂度为O(n)。三、二分查找(折半查找)针对已排序序列的一种查找方式。并且只适用于顺序存储结构的序列。要求序列中的元素基本不变,在...
分类:
编程语言 时间:
2015-03-12 22:32:03
阅读次数:
629
#includeusing namespace std;#define OK 1#define TRUE 1#define FALSE 0#define ERROR 0#define MAXSIZE 10typedef int status;//返回的状态值typedef int elemtype;...
分类:
其他好文 时间:
2015-03-11 10:41:04
阅读次数:
123
#include//#include//#include using namespace std;#define OK 1#define TRUE 1#define FALSE 0#define ERROR 0#define MAXSIZE 100//数组的最大大小typedef int statu...
分类:
其他好文 时间:
2015-03-10 21:19:07
阅读次数:
159
一、二叉树的结构特性二、二叉树的各种存储结构的特点及适用范围1.顺序存储结构该方法是把二叉树的所有结点按照一定的线性次序存储到一片连续的存储单元中。结点在这个序列中的相互位置还能反映出结点之间的逻辑关系。2、链式存储结构三、二叉树的遍历遍历二叉树,就是遵从某种次序,访问二叉树中的所有结点,使得每个结...
分类:
其他好文 时间:
2015-03-10 17:06:32
阅读次数:
318
一、串的基本概念1.串的定义s=“a1a2…an”2.串的基本操作二、串的顺序存储结构1.串的非紧缩存储一个存储单元中只存储一个字符,和顺序表中一个元素占用一个存储单元类似。具体形式见图1,设串S=“How do you do”。2.串的紧缩存储根据各机器字的长度,尽可能将多个字符存放在一个字中。假...
分类:
其他好文 时间:
2015-03-09 15:58:27
阅读次数:
133
堆排序算法 一、基本思想:是一种属性排序选择方法,在排序过程中,将 R[1...n] 看成是一棵完全二叉树的顺序存储结构,利用完全二叉树中双亲结点和孩子结点之间的内在关系,在当前无序区域中选择关键字最大(或最小)的记录。 二、C 语言代码: 1 /** 2 * 堆排序的关键是...
分类:
编程语言 时间:
2015-03-07 06:13:09
阅读次数:
161
一、基本概念1.栈是限定仅在表尾(栈顶)进行插入和删除操作的线性表;2.栈:后进先出(LIFO),适用于撤销操作二、存储结构1.栈的顺序存储结构:1)数组的首元素作栈底2)两栈共享空间2.栈的链式存储结构:链栈不需要头结点三、栈的应用:1.经典递归例子:斐波那契数列递归函数:直接调用自己或通过一系列...
分类:
其他好文 时间:
2015-03-05 16:13:13
阅读次数:
213
栈接口的定义publicinterfaceStack
{
voidpush(Objectobj);
Objectpop();
Objectpeek();
booleanisEmpty();
voidclear();
}栈的顺序存储结构操作实现publicclassSequenceStackimplementsStack
{
finalintminSize=10;
privateObject[]stackArray;
privateinttop;
pub..
分类:
其他好文 时间:
2015-03-03 18:55:33
阅读次数:
160