数据结构
文章平均质量分 76
Gary@Tokyo
努力生活!
爱好:登山、游泳
If you dont aim high, you will never hit high.
展开
-
B+树的结构和部分操作的实现
1、B+树索引的总体结构①B+树索引是一个多级索引,但是其结构不同于多级顺序索引;②B+树索引采用平衡树结构,即每个叶结点到根的路径长度都相同;③每个非叶结点有到n个子女,n对特定的树是固定的;④B+树的所有结点结构都相同,它最多包含n-1个搜索码值K1、K2、…、Kn-1,以及n个指针P1、P2、…、Pn,每个结点中的搜索码值按次序存放,即如果i图1所示。转载 2009-09-01 16:56:00 · 1187 阅读 · 0 评论 -
常用数据无损压缩算法分析
引言<br /> 当今,各种信息系统的数据量越来越大,如何更快、更多、更好地传输与存储数据成为数据信息处理的首要问题,而数据压缩技术则是解决这一问题的重要方法。事实上,从压缩软件WINRAR到熟知的MP3,数据压缩技术早已应用于各个领域。<br /><br />2 数据压缩技术概述<br /> 本质上压缩数据是因为数据自身具有冗余性。数据压缩是利用各种算法将数据冗余压缩到最小,并尽可能地减少失真,从而提高传输效率和节约存储空间。<br /> 数据压缩技术一般分为转载 2011-02-01 11:40:00 · 16291 阅读 · 0 评论 -
直接选择排序 C代码
void StraightSelectionSort(int array[], unsigned int n){ /* 注:关键字值类型为int,数组的索引是从0开始 1. 初始状态无序区为array【0, n - 1】,有序区为空。 2. 第1趟排序从array【0, n - 1】中找到下标为k的关键字最小值,把array【k】和 array【0】交换。现在无序区为a原创 2009-09-22 16:02:00 · 4068 阅读 · 0 评论 -
图及其算法复习(Java实现) 一:存储结构,深度优先周游,广度优先周游
原文地址:http://www.blogjava.net/javacap/archive/2007/12/14/167764.html一 图的基本概念及存储结构图G是由顶点的有穷集合,以及顶点之间的关系组成,顶点的集合记为V,顶点之间的关系构成边的集合EG=(V,E).说一条边从v1,连接到v2,那么有v1Ev2(E是V上的一个关系)《=》∈E.图有有向图,无向图之分,无向图的一条边相当于有向转载 2009-09-22 09:24:00 · 2200 阅读 · 0 评论 -
排序算法复习(Java实现)(二): 归并排序,堆排序,桶式排序,基数排序
原文地址:http://www.blogjava.net/javacap/archive/2007/12/14/167618.html 六 归并排序算法思想是每次把待排序列分成两部分,分别对这两部分递归地用归并排序,完成后把这两个子部分合并成一个序列。归并排序借助一个全局性临时数组来方便对子序列的归并,该算法核心在于归并。Code highlighting produced by转载 2009-09-22 09:18:00 · 869 阅读 · 0 评论 -
各种排序算法的总结和比较【转帖】
1 快速排序(QuickSort)快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步组成。(1) 如果不多于1个数据,直接返回。(2) 一般选择序列最左边的值作为支点数据。(3) 将序列分成2部分,一部分都大于支点数据,另外一部分都小于支点数据。(4) 对两边利用递归排序数列。快速排序比大部分排序算法都要快。尽管我们可以在某转载 2009-09-22 16:06:00 · 926 阅读 · 0 评论 -
归并排序算法 C代码实现
合并排序(MERGE SORT)是又一类不同的排序方法,合并的含义就是将两个或两个以上的有序数据序列合并成一个新的有序数据序列,因此它又叫归并算法。它的基本思想就是假设数组A有N个元素,那么可以看成数组A是又N个有序的子序列组成,每个子序列的长度为1,然后再两两合并,得到了一个 N/2 个长度为2或1的有序子序列,再两两合并,如此重复,值得得到一个长度为N的有序数据序列为止,这种排序方法称为2—路原创 2009-09-18 11:02:00 · 3413 阅读 · 2 评论 -
【转】几种常见的排序算法之比较
对常见的这几种排序算法的练习,对我们的思路的规范化是很好的。学习前人是如何优化算法节约时间和空间的。 我们所练习的排序主要是内部排序,所谓内部排序,就是整个排序过程都在内存进行的排序,称为内部排序;反之,若排序过程中要进行数据的内、外存交换,则称之为外部排序。内排序适用于记录个数不是很多的小文件,而外排序则适用于记录个数太多,不能一次性放人内存的大文件。 对排序算法的分析可以从以下原创 2009-09-10 16:30:00 · 1765 阅读 · 0 评论 -
希尔排序算法--过程输出
转一段代码,帮助理解Shell排序 #include #include #define ARRAY_LENGTH 9void shellsort(int v[], int n);void arrayPrintf(int v[], int n);void traceShellsort(int v[], int n);int traceOut(int n, int ga转载 2009-09-10 14:40:00 · 1205 阅读 · 0 评论 -
几种排序算法的实现代码
本程序在VC6.0下测试通过。具体实现见代码。 #include using namespace std;/* ============================================================================= 1、稳定排序和非稳定排序 简单地说就是所有相等的数经过某种排序原创 2009-09-09 17:39:00 · 4135 阅读 · 3 评论 -
几种排序算法的比较
一、引言排序算法,是计算机编程中的一个常见问题。在日常的数据处理中,面对纷繁的数据,我们也许有成百上千种要求,因此只有当数据经过恰当的排序后,才能更符合用户的要求。因此,在过去的数十载里,程序员们为我们留下了几种经典的排序算法,他们都是智慧的结晶。本文将带领读者探索这些有趣的排序算法,其中包括介绍排序算法的某些基本概念以及几种常见算法,分析这些算法的时间复杂度,同时在最后将介绍我们独创的原创 2009-09-10 16:22:00 · 4878 阅读 · 0 评论 -
【课本】二叉树前序、中序、后序三种遍历的非递归算法
1.先序遍历非递归算法void PreOrderUnrec(Bitree *t){ Stack s; StackInit(s); Bitree *p=t; while (p!=NULL || !StackEmpty(s)) { while (p!=NULL) //遍历左子树转载 2009-09-02 10:52:00 · 7364 阅读 · 0 评论 -
所有者策略简介(OwnerPolicy)
<br />原帖:http://blog.csdn.net/RobertBaker/archive/2008/07/29/2727646.aspx<br /> <br />// --------------------------------------------------------------<br />// <br />// Copyright (C) 2008 - All Rights Reserved<br />// <br />// Author: LiuYin<br />转载 2011-04-19 10:30:00 · 846 阅读 · 0 评论