![](https://img-blog.csdnimg.cn/0f83b30ade9c4f31a4446feb74661352.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数据结构与算法
文章平均质量分 72
数据结构与算法专栏,很多时候是leetcode随笔
LyaJpunov
间歇性踌躇满志,持续性混吃等死
展开
-
Dijistra算法以及flody算法详解及代码注释
迪杰斯特拉算法与弗洛伊达算法原创 2024-07-12 16:23:39 · 887 阅读 · 0 评论 -
栈模拟二叉树的前序遍历,中序遍历,后序遍历
分别讲述了使用递归方式和栈模拟方式进行二叉树遍历原创 2024-05-29 16:57:33 · 968 阅读 · 0 评论 -
十大经典排序算法及其C语言实现--带动图展示
排序算法大概算起来有以下十种。原创 2024-04-11 13:05:47 · 1020 阅读 · 0 评论 -
C语言手撕一个Hash表(HashTable)
散列表用的是数组支持按照下标随机访问数据的特性,所以散列表其实就是数组的一种扩展,由数组演化而来。可以说,如果没有数组,就没有散列表。原创 2023-03-22 22:05:23 · 2091 阅读 · 3 评论 -
堆与堆排序
堆这种数据结构应用的场景非常多,最经典的莫过于堆排序了,堆排序是一种原地的,时间复杂度为Onlogn的排序算法,我们学过快速排序,平均情况下,她的时间复杂度为Onlogn,甚至堆排序比快速排序的时间复杂度还要稳定,但是,在实际的软件开发中,快速排序的性能要比堆排序好,这是为什么呢?这是由堆的二叉树的结构决定的。原创 2023-03-12 20:43:10 · 202 阅读 · 0 评论 -
字典树及其实现
字典树(Trie树、前缀树)是一种用于快速检索的多叉树结构。字典树把字符串看成字符序列,根据字符串中字符序列的先后顺序构造从上到下的树结构,树结构中的每一条边都对应着一个字符。字典树上存储的字符串被视为从根节点到某个节点之间的一条路径,并在终点节点上做个标记"该节点对应词语的结尾",正因为有终点节点的存在,字典树不仅可以实现简单的存储字符串,还可以实现字符串的映射,只需要将相对应的值悬挂在终点节点上即可。原创 2023-03-08 12:59:53 · 174 阅读 · 0 评论 -
求两个数最大公约数(C语言实现)
暴力穷举是最不推荐的算法,因为他的时间复杂度是最高的。原创 2022-12-22 19:08:23 · 273 阅读 · 0 评论 -
粒子群算法
粒子群算法是根据鸟群觅食演化出的算法,我们的每个智能体相当于一只鸟,鸟的目标非常简单,就是要在食物最充足的地方安家,他们的策略是1.每只鸟随机找一个地方,评估这个地方的食物量2.所有的鸟一起开会,选出食物最多的地方作为候选点G3.所有的鸟回顾自己的旅程,记住自己去过的食物最多的地方P4.每只鸟为了找到食物量更多的地方,于是向着G飞行,但是呢,不知是出于选择困难症还是对P的留恋,或者是对G的不信任,小鸟向G飞行时,时不时也向P飞行,其实它自己也不知道到底是向G飞行的多还是向P飞行的多。原创 2022-10-01 20:17:46 · 351 阅读 · 0 评论 -
深度优先搜索之八皇后问题
八皇后问题是一个古老而又著名的问题,是学习回溯算法的一个经典案例。我们不探究她的历史,只说解决方案在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问一共有多少种摆法。众所周知,计算机最擅长做的就是重复的事情,而我们最朴素的感情就是遍历所有的可能,去掉不可能的不成立方案就是结果,由于不能再同一行,所以我们每个棋子都在八行中,由于不能再同一列,所以我们只考虑不能在同一行和同一列的话,我们需要计算多少种可能呢?sum=A88=40320% Ma原创 2022-05-10 23:49:17 · 783 阅读 · 0 评论