![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
子歆
这个作者很懒,什么都没留下…
展开
-
数据结构之查找2
数据结构的最终目的是提高数据的处理速度,索引是为了加快查找速度而设计的一种数据结构。索引就是把关键字和它对应的记录相关联的过程。所谓线性索引就是把索引项集合组织为线性结构,也称为索引表。稠密索引就是指在线性索引中,将数据集中的每个记录对应一个索引项。对于稠密索引来说,索引项一定按照关键码有序排列。分块索引:分块有序,是把数据集分成若干块,并且满足两个条件:块内无序 块间有...原创 2019-03-25 09:41:24 · 76 阅读 · 0 评论 -
数据结构之希尔排序
//对顺序表L作希尔排序void ShellSort(SqList *L){ int i,j; int increment = L->length; do { increment = increment / 3 + 1;//增量序列 for(i = increment + 1;i <= L->length;i+...原创 2019-03-29 09:25:36 · 182 阅读 · 0 评论 -
数据结构之直接插入排序
直接插入排序:的基本操作是将一个记录插入到已经拍好的序的有序表中,从而得到新的、记录数增1的有序表。//对顺序比L作直接插入排序void InsertSort(SqList *L){ int i,j; for(i = 2;i <= L->length;i++) { if(L->r[i] < L->r[i-1]) ...原创 2019-03-29 08:58:45 · 328 阅读 · 0 评论 -
数据结构之选择排序
简单选择排序:就是通过n-i次关键字间的比较,从n-i+1个记录中选出关键字最小的记录并和第i(1<=i<=n)记录交换。//对顺序表L作简单选择排序void SelectSort(SqList *L){ int i,j,min; for(i = 1;i < L->length;i++) { min = i; ...原创 2019-03-29 08:37:22 · 82 阅读 · 0 评论 -
数据结构之冒泡排序
排序:假设含有n个记录的序列为{r1,r2,......,rn},其相应的关键字为{k1,k2,......,kn},需确定1,2,.......,n的一种排列p1,p2,.......,pn,使其相应的关键字满足kp1<=kp2<=,......,<=kpn(非递减或非递增)关系.即使得序列称为一个按关键字有序的序列{rp1,rp2,.....,rpn},这样的操作称为排序。...原创 2019-03-28 09:10:40 · 287 阅读 · 0 评论 -
数据结构之快速排序
快速排序:通过一趟排序将待排的记录分割为独立地两部分,其中一部分的关键字均比另一部分的关键字小,则可分别对两部分的记录继续进行排序,以达到整个序列有序的目的。//对顺序表L作快速排序void QuickSort(SqList *L){ QSort(L,1,L->length);}void QSort(SqList *L,int low,int high){ ...原创 2019-04-01 10:28:32 · 192 阅读 · 0 评论 -
数据结构之归并排序
归并排序:假设初始序列含有n个记录,则可以看成是n个有序的子序列,每个子序列的长度为1,然后来两两归并,得到[n/2]个长度为2或1的有序子序列;两两归并......如此重复下去,知道得到一个长度为n的有序序列为止,这种排序方法称为2路归并排序。//对顺序表L作归并排序void MergeSort(SqList* L){ MSort(L->r,L->r,1,L->...原创 2019-04-01 09:36:21 · 117 阅读 · 0 评论 -
数据结构之查找4
散列技术就是在记录存储位置和它关键字之间建立一个确定的对应关系f,使得每个关键字key对应一个存储位置f(key)。采用散列技术将记录存储在一块连续的存储空间中,这块存储空间称为散列表或哈希表,关键字对应的记录存储位置称为散列地址。散列技术既是一种存储方法也是一种查找方法。散列技术最适合的求解问题是查找和给定值相等的记录。//散列表查找实现#define SUCCESS 1...原创 2019-03-27 09:17:40 · 77 阅读 · 0 评论 -
数据结构之查找3
平衡二叉树是一种二叉排序树,其中每一个结点左子树和右子树高度差至多等于1。二叉树左子树深度减去右子树深度的值称为平衡因子。平衡因子只可能-1、0、1。距离插入结点最近的,且平衡因子的绝对值大于1的结点的根的子树我们称为最小不平衡子树。//二叉树的二叉链表结点结构定义typedef struct BiTNode{ int data; int bf; st...原创 2019-03-26 10:03:06 · 224 阅读 · 0 评论 -
数据结构之查找1
查找就是根据给定的某个值,在查找表中确定一个其关键字等于给定值的数据元素(或记录)。查找表是由同一个类型的数据元素(或记录)的集合。关键字是数据元素中某个数据项的值。若次关键字可以唯一的标识一个记录,则称次关键字为主关键字。对于识别多个数据元素(或记录)的关键字,称为次关键字。静态查找表:只做查找操作的查找表。主要操作:查找某个特定的元素是否在表中,检索特定的数据元素和各种属性...原创 2019-03-22 10:02:47 · 162 阅读 · 0 评论 -
数据结构之堆排序
堆具有完全二叉树的性质:每个结点大于等于左右孩子的堆称为大顶堆,或每个结点小于或等于左右孩子的堆称为小顶堆。堆排序:将待排序的序列构建成一个大顶堆,此时,最大值在整个堆的根结点。将它移走(其实就是将它与堆数组的末尾元素交换,此时末尾元素就是最大值),然后将剩余的n-1个序列重新造成一个,这样会得到n个元素的次小值,如此反复执行,便能得到一个有序的序列。//对顺序表L进行堆排序boid ...原创 2019-03-29 09:42:33 · 149 阅读 · 0 评论