
说明
Double___H
这个作者很懒,什么都没留下…
展开
-
数据结构(十)——索引之静态索引和倒排索引
静态索引基本概念与术语输入顺序文件:按照记录进入系统的顺序存储记录,输入顺序文件相当于未排序的线性表主码:数据库中每条记录的唯一标识辅码:数据库中可以出现重复值的码(注意,主码是唯一的,就类似于一个名字可以对应很很多人,但是一个身份证号就只可对应一个人),辅码索引把一个辅码值与具有这个辅码值得每一条记录的主码值关联起来。索引:一个关键码与它对应的数据记录的位置相关联的过程索引文件:用...原创 2019-08-08 15:47:25 · 727 阅读 · 0 评论 -
数据结构(九)——外部排序之外排序
本博客基于对mooc中的《北京大学-数据结构与算法》及《西北大学-数据结构》的理解进行编写置换排序基于《西北大学-数据结构》置换排序的理解在这里,我们先假设:1.输入文件FI为:21,11,09,02,16,31,20,01,27,05,13,28 。2.工作区WA 容量m = 3 。3.输出文件为FO首先,我们从 FI 中读取三个数据进入 WA 。分别是 21,11,09选取 WA ...原创 2019-08-06 11:42:44 · 742 阅读 · 0 评论 -
数据结构(八)——内部排序之堆排序
代码中所用到的结构体typedef struct heaptype{ int elem[MAX+1];//0位空着 int length;}Heaptype;堆排序的基本概念堆排序属于选择排序:出发点是利用前一次比 较的结果,减少“比较”的次数小根堆:1.对于任意一个非叶结点的关键字,都不大于其左、右儿子 结点的关键字。2.在堆中,以任意结点为根的子树仍然是堆。特别...原创 2019-08-01 19:56:19 · 349 阅读 · 0 评论 -
数据结构(九)——外部排序之硬件部分
本博客基于对mooc中的《北京大学-数据结构与算法》及《西北大学-数据结构》的理解进行编写内存和外存之间的比较内存优点:访问速度快缺点:造价高,存储容量小,断电丢数据外存优点:价格低、信息不易丢失、便携带缺点:速度慢访问一个字节,访问内存(纳秒)和访问外存(毫秒),量级差别为100万倍,故涉及到外存的排序应尽量减少外存的访问次数硬件介绍部分磁盘磁盘的物理结构:主轴...原创 2019-08-05 16:32:48 · 312 阅读 · 0 评论 -
数据结构(八)——内部排序之快速排序
快速排序的概述快排类似于冒泡排序快排的步骤大致分为三步:第一步:选取枢轴。第二步:以枢轴为中间值,对未知的数据进行排序。将小于枢轴的数据置于枢轴的左边,大于枢轴的数据置于枢轴的右边。对枢轴两边的数据进行递归,当数据小于等于2时,进行返回。第一步:选取枢轴枢轴的选取有多种方法:1.直接选取未知元素序列的第一个的值作为枢轴2.生成随机数,取位置为随机数的值作为枢轴3.取中间的值...原创 2019-07-31 22:05:42 · 312 阅读 · 0 评论 -
数据结构(八)——内部排序之希尔排序
希尔排序的思想对待排记录序列先作“宏观”调整, 再作“微观”调整所谓“宏观”调整,指的是,“跳 跃式” 的插入排序希尔排序的概述将待排序的序列分成若干个子序列,分别对每个子序列进行插入排序例如:首先进行间隔为5的排序(即从第一个开始,每隔5个元素进行取一个元素,将这些元素进行插入排序,排序完后从第二个元素开始,照上做法进行排序,直到全部排序完成)再将间隔取5改为取间隔为3,再如上...原创 2019-07-31 15:50:38 · 247 阅读 · 0 评论 -
数据结构(八)——内部排序之表排序
表排序的适用情况待排序的元素庞大(例如要排序多部电影),这个时候可以通过间接排序的方法进行排序,即只需要在排序的时候改变元素的指针所指向的位置即可,这个时候可以运用表排序。代码中所运用到的结构体typedef struct{ int elem;//待排元素 int pos;//待排元素的指针}SLNode;//一个结点typedef struct{ SLNo...原创 2019-07-31 15:37:18 · 524 阅读 · 0 评论 -
数据结构(八)——内部排序之桶排序和基数排序
桶排序的概述重要的参数a【】:作为桶的数组count【】:记录前若干个桶的累计基本思想首先进行一次扫描,知道了所要排的数据的最小值和最大值(即位于哪个区间)通过知道的区间设立桶的个数,每个桶对应一个值首先扫描一边,利用count【】记录桶中每个数据出现的次数(第一次对count【】操作)将count【】数组的元素从头开始向后累加(第二次对count【】操作)...原创 2019-08-02 21:15:14 · 301 阅读 · 0 评论 -
数据结构(八)——内部排序之归并排序
归并排序的概述将n个记录看成是n个长度为1的有序子表;将两两相邻的有序子表进行归并,若子 表数为奇数,则留下的一个子表直接进入下一 次归并;重复步骤(2),直到归并成一个长度为n 的有序表归并排序重要参数a【】:存储来的数据b【】:归并排序的辅助数组min:输入排序序列的起始位置max:输入排序序列的终点位置mid:将要排序序列的中间值p:从mid位置开始向后扫的一个指...原创 2019-08-02 19:49:40 · 361 阅读 · 0 评论 -
数据结构(七)——查找之哈希表
基本概念哈希函数:又叫散列函数,在关键字与记录在表中的存储位置之间建立一个函数关系,以 H(key) 作为关键字为 key 的记录在表中的位置,通常称这个函数 H(key) 为哈希函数。哈希地址:由哈希函数得到的存储位置称为哈希地址装填因子:设散列表空间大小为n,填入表中的结点 数为m,则称a=m/n为散列表的装填因子。冲突(Collision)与同义词: 若H(k1)=H(k2),则...转载 2019-07-29 16:26:11 · 295 阅读 · 0 评论 -
数据结构(七)——查找之B-树和B+树
基本概念m阶B树的结构定义每个结点至多有m个子结点除根结点和叶结点外,其他每个结点至少有【m/2】个子结点根结点至少有两个子结点:唯一例外的是根结点就是叶结点时没有子结点、此时B树只包含一个结点。所有的叶结点在同一层有k个子结点的非根结点恰好包含k-1个关键码B树的性质树高平衡,所有叶结点都在同一层关键码没有重复,父结点中的关键码是其子结点的分界B树吧(值接近)相关记录放...原创 2019-07-29 15:32:25 · 267 阅读 · 0 评论 -
Python基本知识回顾(基于《“笨方法”学Python3》——ex1-ex22)
print(“要打印的文本”)或print(‘要打印的文本’)程序中的注释使用的是#整行快捷注释‘#’整行快捷取消注释‘#’print()中可以直接进行计算,但不可加“”变量和打印print(f"He’s {变量的名字} manager")浮点数的四舍五入函数:round() ,如 round(1.7333)字符串和文本例:w = "abc"e = "def"print...原创 2019-07-11 20:25:04 · 268 阅读 · 0 评论 -
数据结构(七)——查找之静态查找表
顺序表的查找从前往后找从第一个开始进行判断,对表中的元素和要查找的元素一一对应但是在判断元素是否相等的同时,也要对其增加一个 if 语句的判断,用于判断是否已经检索到了表尾但在顺序表的查找中一般是一定查找地到的,而且 if 判断语句又浪费了近一半的时间,故改进了算法的查找方式从后往前找首先要知道这种方式检索的顺序表的表头是空的。从表尾的最后一个判断,在表头设置一个和即将要检索的...原创 2019-07-05 16:16:57 · 353 阅读 · 0 评论 -
数据结构(六)——图
图的定义和术语弧头–弧尾–弧--有向图边–无向图–网--子图完全图–稀释图–稠密图假设图中有n个顶点,e条边:1.含有e=n(n-1)/2条边的无向图称作完全图; 2.含有e=n(n-1)条弧的有向图称作有向完全图; 3.若边或弧的个数e<nlog2n,则称作稀疏图, 否则称作稠密图。邻接点–度--入度–出度路径–路径长度–简单路径–简单回路:1.路径上边的数目称作路径长度;2....原创 2019-06-29 10:54:34 · 662 阅读 · 0 评论 -
数据结构(五)——树和二叉树
树的有关概念树的定义树形结构是一种重要的非线性结构任一棵非空树中:(1)有且仅有一个称为根的结点。(2)其余结点可分为m个互不相交的集合。树的概念数据对象D:D是具有相同特性的数据元素的集合。数据关系R:1.若D为空集,则称为空树。2.在D中存在唯一的称为根的数据元素root。3.当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,„,Tm,其中每一棵...原创 2019-06-27 19:45:28 · 277 阅读 · 0 评论 -
数据结构(九)——外部排序之文件
基本概念文件的类型按记录的类型分类:操作系统文件,数据库文件(单关键字文件,多关键字文件)按记录长度分类:定长记录文件,不定长记录文件基本术语数据域(数据场):记录中的每个数据项,称之为域或场(Field)关键字:唯一标识记录的域,称之为关键字。辅助关键字,称之为次关键字。记录(Record):若干相关的数据项的集合。如果存之于外存,则叫做记录。文件:记录的集合。记录的物理...原创 2019-08-06 23:40:36 · 338 阅读 · 0 评论