
数据结构
文章平均质量分 79
Sdtin
这个作者很懒,什么都没留下…
展开
-
二叉堆
以下是课本上对二叉堆的叙述 二叉堆 结构性质:是一颗完全二叉树(最后一个节点的左边,上层都充满节点) 堆序性质:对于每一个节点X,X的父节点的关键字小于或等于X节点的关键字 二叉堆实际上是一个用数组储存的二叉树,但是数组下标为0的地方没有关键字 包括的操作:insert(),findMIn(),deleteMin(),isEmpty(),makeEmpty()原创 2017-07-13 19:36:47 · 341 阅读 · 0 评论 -
以链表和数组实现并归排序的区别
数组形式: #include #include #include // void merge(int start,int end,int nums[],int temps[]){ int flag1=0,flag2=0,mid=0,pos=0,i=0; if(start>=end-1){ return; }else{ mid=(start+end)/2; merge(start原创 2017-07-15 16:14:22 · 820 阅读 · 0 评论 -
KMP算法
KMP算法通常用来匹配字符串,时间复杂度为O(n+m)。一般来说,我们匹配字符串,首先想到的是对源字符的每个位置,都进行匹配。但这样花费的时间过多,时间复杂度为O(n*m),虽然在实际中,也可以接近O(n+m)。KMP算法采用了一个数组来保存元素的位置,这样就可减少匹配的次数(是不是和DP有些类似呢) 下面我们来说一下,它的实现思路,假设,有两个字符串源字符串R,目标字符串T,用来保存T中每个元原创 2017-08-01 21:39:51 · 406 阅读 · 0 评论