![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构学习
文章平均质量分 85
数据结构的知识
问号小朋友
这个作者很懒,什么都没留下…
展开
-
Dijkstra和Floyd算法
Dijkstra算法Dijkstra算法用于求解从图的一个点出发到任意一个点的最短距离的算法,他可用于求解正权图中的最短路径算法,不能够用于求解负权图,时间复杂度为O(n^2)算法思路构建三个集合,一个初始集合S,一个待求解集合U,一个距离集合WS集合存放已经找到最短路径的节点U存放还未找到最短路径的节点W中存放从起始节点出发到各个节点的最短路径的集合具体思路假设有a,b,c,d,e五个节点,从a节点出发寻找到b,c,d,e各个节点最短的节点,起始S = {a},U = {b,原创 2022-02-15 01:17:15 · 631 阅读 · 0 评论 -
数据结构——手撕红黑树(开肝!)
数据结构——红黑树(开撕!)红黑树介绍在查找算法中,二叉搜索树是一种查找速度非常快的数据结构,平均查找事件复杂度可以达到O(log2(n))但是对于二叉搜索树,其查找性能还是不太稳定,如下面一颗二叉搜索树,如果要查找5这个结点所在的位置,查找过程依然要达到5次,也即线性查找时间,要保证查找速度稳定控制在**O(log2(n))**左右,就需要对这颗二叉搜索树维持平衡,保证其查找速度所以在二叉搜索树的基础上,有了红黑树这种维护二叉搜索树平衡,保证查找速度保持在对数级别的数据结构,对于红黑树,其结点定义原创 2021-08-06 16:01:46 · 495 阅读 · 0 评论 -
数据结构——手写一棵漂亮的二叉搜索树
数据结构——二叉搜索树基本介绍二叉搜索树也可以叫二叉排序树是查找算法中的一种数据结构的组织形式,其有特殊的规定,根据对关键字进行一系列的数据规划,其平均查找过程能达到O(log2(n))对于二叉搜索树,其有下列的规定,一颗二叉搜索树,其必定是满足根结点的关键字大于其左子树的关键字,小于其右子树的关键字,等于可以左右摇摆,但是也需要进行规定,具体的式子表达就是keyleft<keyroot<keyrightkey_{left}<key_{root}<key_{right}k原创 2021-08-05 15:30:33 · 207 阅读 · 0 评论 -
数据结构——手动写一个哈希表
数据结构——哈希表哈希表介绍1、什么是哈希表?可以考虑这么一个情景:现在某个学校为新生录入信息,新生们的学号为2001、2002、2003…这样的类型,现将其存储在一个数组中,现在要查找学号为2066的学生。如果采用顺序查找的方法进行查找,它的执行过程是先从数组第一个位置出发,将2066与这个位置对应的关键字进行比较,直到找到那个与2066相等的位置返回,这次查找过程中,一共需要66次查找而假设我们设定一个函数,h(学号) = 学号-2001,然后通过这个函数来定位2066这个学号对应在哪个原创 2021-08-05 00:51:55 · 853 阅读 · 0 评论 -
数据结构——图的算法练习题
数据结构——图算法刷题总结DFS判断从结点u到v是否又简单路径题目描述BFS原创 2021-07-17 18:01:19 · 1402 阅读 · 1 评论