#include<stdio.h>#include<stdlib.h> typedef struct List{ int data; struct List *next;} List; List *createlist();void printflist(List *pre);List *sort( ...
分类:
其他好文 时间:
2017-03-13 16:12:56
阅读次数:
200
一、线性表(list) 1、定义:有序、有限的数据序列,其中的每个数据称为元素(element)。 注:在这里本文中所指的元素的数据类型相同。 2、基本概念:空(empty)、长度(length)、头(head)、尾(tail)、有序表(sorted list)、无序表(unsorted list) ...
分类:
其他好文 时间:
2017-03-11 01:00:32
阅读次数:
194
1:插入排序 - 直接插入排序 基本思想: 将一个数字插入到已排好序的有序表当中,从而得到一个新的更大的有序表, 即将序列的第一个记录看成是一个有序的子序列, 然后将从第二个记录插入, 直至整个序列都有序为止. 如果发现一个和插入元素相等的,我们既可以将元素按照原来的顺序摆放得到稳定排序, 也可以改 ...
分类:
编程语言 时间:
2017-03-09 10:40:03
阅读次数:
165
推了下发现没法树剖直接搞,于是强上分块……按dfs序分块,每个块存一个原编号的有序表,再维护一个前缀和。修改相当于到根的链都加上一个数,树剖之后每个区间根号修改,查询在所有块中二分,复杂度$O(n^{1.5}logn)$。有$O(n^{1.5})$做法没推出来,反正多个log也过了。 WA的人那么多 ...
分类:
其他好文 时间:
2017-03-07 08:52:24
阅读次数:
218
一.数值类型 Mysql支持所有标准SQL中的数值类型 整数类型 字节 范围(有符号) 范围(无符号) 用途 TINYINT 1字节 (-128,127) (0,255) 小整数值 SMALLINT 2字节 (-32 768,32 767) (0,65 535) 大整数值 MEDIUMINT 3字节 ...
分类:
数据库 时间:
2017-03-05 14:51:18
阅读次数:
211
插入排序 直接插入排序 基本思路:将一个记录插入到已排序好的有序表中,从而得到一个新的有序表。即:先将序列的第1个记录看成是一个有序的子序列,然后从第2个记录逐个进行插入,直至整个序列有序为止。 ...
分类:
编程语言 时间:
2017-03-05 00:24:59
阅读次数:
221
用C++实现二分查找 对于有序表而言,通常使用二分查找来寻找待查记录。二分查找,又名折半查找,具体查找过程为:先确定待查找记录的范围,然后逐步缩小范围知道找到或者找不到该记录为至。其C++实现代码如下所示: ...
分类:
编程语言 时间:
2017-03-02 22:02:04
阅读次数:
180
一、归并排序算法 基本思想: 归并(Merge)排序法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。 归并排序示例: 合并方法: 设r[i…n]由两个有序子表r[i…m]和r[m+1…n]组成,两个子表长度 ...
分类:
编程语言 时间:
2017-02-21 00:40:59
阅读次数:
217
一 二分查找 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将 ...
分类:
编程语言 时间:
2017-02-19 15:32:09
阅读次数:
175
每步将一个待排序的记录按其关键字的大小插到前面已经排序的序列中的适当位置,直到全部记录插入完毕为止。 ...
分类:
编程语言 时间:
2017-02-16 01:21:38
阅读次数:
183