数据结构与算法
596785154
这个作者很懒,什么都没留下…
展开
-
回溯算法——背包问题
【代码】回溯算法——背包问题。原创 2023-08-21 14:51:52 · 145 阅读 · 0 评论 -
常用字符串匹配算法
BM算法核心思想是,利用模式串本身的特点,在模式串中某个字符与主串不能匹配的时候,将模式串往后多滑动几位,以此来减少不必要的字符比较,提高匹配的效率。第一,实际的软件开发中,大部分情况下,模式串和主串的长度都不会太大。而且每次模式串与主串中的子串匹配的时候,当中途遇到不能匹配的字符的时候,就可以就停止了,不需要把m个字符都对比一下。顾名思义,它是一个树形结构。BF算法中的BF是Brute Force的缩写,中文叫作暴力匹配算法,也叫朴素匹配算法。m),但在实际的开发中,它却是一个比较常用的字符串匹配算法。原创 2023-08-21 14:35:26 · 106 阅读 · 0 评论 -
图的两种遍历
邻接表存储方法中每个顶点都对应一个链表,存储与其相连接的其他顶点。尽管邻接表的存储方式比较节省存储空间,但链表不方便查找,所以查询效率没有邻接矩阵存储方式高。针对这个问题,邻接表还有改进升级版,即将链表换成更加高效的动态数据结构,比如平衡二叉查找树、跳表、散列表等。邻接矩阵存储方法的缺点是比较浪费空间,但是优点是查询效率高,而且方便矩阵运算。图是一种非线性数据结构,图的存储有两种方式,邻接矩阵和邻接表。图的搜索方式有两种深度优先和广度优先。原创 2023-08-21 14:09:43 · 53 阅读 · 0 评论 -
查找算法——二分查找
【代码】查找算法——二分查找。原创 2023-08-04 09:33:27 · 33 阅读 · 0 评论 -
时间复杂度接近O(n)的三种排序算法
基数排序对要排序的数据是有要求的,需要可以分割出独立的“位”来比较,而且位之间有递进的关系,如果a数据的高位比b数据大,那剩下的低位就不需要较了。除此之外,每一位的数据范围不能太大,才可以用线性排序算法来排序,否则,基数排序的时间复杂度就无法做到O(n)了。每个桶内的数据值都是相同的,省掉了桶。首先,要排序的数据需要很容易就能划分成m个桶,并且,桶与桶之间有着天然的大小顺序。而且,计数排序只能给非负整数排序,如果要排序的数据是其他类型的,假定有原始数组A[8],它们分别是:2,5,3,0,2,3,0,3。原创 2023-08-03 11:42:19 · 757 阅读 · 1 评论 -
时间复杂度为O(nlogn)的两种排序算法
基准元素:它是将数组划分为两个子数组的过程中,用于界定大小的值,以它为判断标准,将小于它的数组元素“划分”到一个“小数值的数组”中,而将大于它的数组元素“划分”到一个“大数值的数组”中,这样,我们就将数组分割为两个子数组,而其中一个子数组的元素恒小于另一个子数组里的元素。**注意:**上面描述的基准元素/右游标/左游标都是针对单趟排序过程的, 也就是说,在整体排序过程的多趟排序中,各趟排序取得的基准元素/右游标/左游标一般都是不同的。A[j] 划分为左右两部分,使得左边的各记录的关键字都小于 v;原创 2023-08-01 15:06:05 · 1102 阅读 · 0 评论 -
递归——在运行的过程中调用自己
在运行中调用自己原创 2023-08-01 13:38:40 · 294 阅读 · 0 评论 -
时间复杂度为O(n2)的三种简单排序算法
简单排序算法原创 2023-08-01 10:20:55 · 1385 阅读 · 1 评论 -
数组实现循环队列
队列满:(tail+1)%n等于head。队列空:tail等于head。原创 2023-07-27 08:14:25 · 82 阅读 · 0 评论 -
队列的链表实现
1.使用链表实现队列。原创 2023-07-26 09:56:04 · 51 阅读 · 0 评论 -
队列的数组实现
【代码】队列的数组实现。原创 2023-07-26 09:53:52 · 47 阅读 · 0 评论 -
栈的链表实现
【代码】栈的链表实现。原创 2023-07-26 09:50:38 · 44 阅读 · 0 评论 -
栈的数组实现
【代码】栈的数组实现。原创 2023-07-26 09:49:30 · 162 阅读 · 0 评论 -
双向链表TwoWayLink
【代码】双向链表TwoWayLink。原创 2023-07-26 09:46:45 · 33 阅读 · 0 评论 -
有序链表OrderLink
【代码】有序链表OrderLink。原创 2023-07-26 09:45:26 · 97 阅读 · 0 评论 -
双端链表DoublePointLink
【代码】双端链表DoublePointLink。原创 2023-07-26 09:43:51 · 35 阅读 · 0 评论 -
单向链表SingleLink
单向链表SingleLink。原创 2023-07-26 09:42:19 · 97 阅读 · 0 评论 -
动态扩容数组ArrayList
动态扩容数组ArrayList。原创 2023-07-26 09:36:51 · 43 阅读 · 0 评论