我欲修仙
文章平均质量分 93
主更算法,包含算法相关技巧及固定题型
许思王
嘿;-),这里是许思王吖,喜欢关注些热点话题,偶尔也更新些算法,喜欢关注一下哟(回关要私信哦)
展开
-
堆排序——我欲修仙(功法篇)
在数据结构与算法的世界里,有六种常见的排序算法,在之前的故事中我们了解了其中的三种最为基础的算法,今天我们要接触道的可能是六种算法中最难理解的——堆排序。原创 2023-05-18 15:22:16 · 1352 阅读 · 21 评论 -
三大基础排序算法——我欲修仙(功法篇)
所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。排序算法在很多领域得到相当地重视,尤其是在大量数据的处理方面。一个优秀的算法可以节省大量的资源。在各个领域中考虑到数据的各种限制和规范,要得到一个符合实际的优秀算法,得经过大量的推理和分析。今天就让我们学习其中最基础的三种算法吧!冒泡排序(Bubble Sort)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。原创 2023-05-16 21:04:01 · 915 阅读 · 26 评论 -
回溯算法——我欲修仙(功法篇)
解决问题时,每进行一步,都是抱着试试看的态度,如果发现当前选择并不是最好的,或者这么走下去肯定达不到目标,立刻做回退操作重新选择。这种走不通就回退再走的方法就是回溯算法。原创 2023-04-25 21:51:45 · 1184 阅读 · 22 评论 -
哈希表——我欲修仙(功法篇)
散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。给定表M,存在函数f(key),对任意给定的关键字值key,代入函数后若能得到包含该关键字的记录在表中的地址,则称表M为哈希(Hash)表,函数f(key)为哈希(Hash) 函数总的来说:- 哈希表是一种数据结构- 哈希表表示了关键码值和记录的映射关。原创 2023-04-20 19:26:59 · 1144 阅读 · 25 评论 -
KMP算法——我欲修仙(功法篇)
KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n)原创 2023-03-28 16:50:50 · 556 阅读 · 14 评论 -
二分查找——我欲修仙(功法篇)
经历了一段时间的《数据结构与算法》学习,你已经从凡人步入了修仙界,现在你可以尝试去接触一些简单的算法题开始你的修仙生涯了,那今天我们来看看今天的修炼吧⛽⛽⛽这是是一道非常经典的入门级修炼功法,收录在力扣# 704,而它的名字就已经将写法写在你的脸上了😂——二分查找ps:工欲善其事必先利其器,一部好的功法可以让你在修仙路上少走许多弯路。😏😏😏简单总结一下:左闭右闭写法——要等于号,并且(middle)应更新为(left=right+1)或(right=middle-1)原创 2023-03-23 17:09:09 · 2809 阅读 · 16 评论