数据结构
基本数据结构
皮皮杨233
这个作者很懒,什么都没留下…
展开
-
第六讲:散列查找
复杂排序目录两项基本工作与期望数字关键字散列函数构造方法字符关键字散列函数的构造处理冲突的方法 两项基本工作与期望 在进行查找时,在记录的存储位置与它的关键字之间建立一个确定的对应关系h,以线性表中每个元素的关键字K为自变量,通过函数h(K)计算出该元素的存储位置,我们将h函数称为散列函数或哈希函数。h(K)的值称为散列地址或哈希地址。 ① 构造散列函数:确定关键词的存储位置 ② 解决冲突:当...原创 2020-02-29 16:56:34 · 248 阅读 · 0 评论 -
第五讲:排序(简单排序)
冒泡排序原创 2020-02-28 16:09:01 · 279 阅读 · 0 评论 -
第四讲图:拓扑排序
拓扑排序一般用于判断一个有向图是否成环原创 2020-02-27 21:23:07 · 279 阅读 · 0 评论 -
第四讲图:最短路径两种经典算法学习总结2
1的传送门https://blog.csdn.net/qq_45839708/article/details/104361629 2.弗洛伊德(Floyd)算法 这个算法相对于迪杰斯特拉算法: 1. 代码简洁很多而且名字也好记些。 2. 可以直接得到所有点到所有点的最短路径。 3. 时间复杂度为 O(n^3) 数据量较少时而且题目要求求出任意两点最短路径,选择此算法更佳。 个人觉得弗洛伊德算法...原创 2020-02-19 17:32:33 · 255 阅读 · 0 评论 -
第四讲图:最短路径两种经典算法学习总结1
迪杰斯特拉(Dijkstra)算法 我们结合图片与代码讲解: 如上图求最短路径… 有没有人跟我一样第一反应就是用最笨的方法一条路一条路的计算。 很明显这样子是非常浪费时间的,而且运算量对我带说很大。 迪杰斯特拉算法拯救了我(虽然一开始看得非常头大) 迪杰斯特拉算法其核心是:走一步看一步,一步一步的来,从而得到最短路径;也实现了源点到所有点的最短路径。 const int INF = 1e6; c...原创 2020-02-17 18:18:50 · 655 阅读 · 0 评论 -
第三讲树
基本知识 定义 树是n(n >= 0)个结点的有限集合。n = 0时称为空树。在任意一棵非空树: 有且仅有一个特定的称为根的结点; 当n > 1时,其余结点可分为m(m > 0)个互不相交的有限集T1 、T2 、 … 、Tm,其中每一个集合本身又是一棵树,并且称为子树。 补充: 1.某个(或多个)结点它的子结点数量最多,则这个数量称作这棵树的度; 2.一棵树的层数称作此树的...原创 2020-02-20 20:51:11 · 176 阅读 · 0 评论 -
第二讲线性结构
简单来说像这样的犹如一条线的结构就属于线性结构 常见有我们熟知的数组还有单链表。 数组 在学数据结构之前我们对数组就很了解了,最简单的就是一维数组,一维数组也是最简单的线性结构。 优点: 1.访问方便,之间访问下标对应元素即可 2.写起来也方便用起来也方便看着也舒服 缺点: 1.在中间位置插入元素时,其后所以元素都需要后移,造成时间的大量浪费 2.有时不能准确确定需要开多大,对内存造成浪费 链表...原创 2020-02-19 22:42:59 · 253 阅读 · 0 评论 -
第一讲数据结构基本概念
数据结构 当我第一眼看到这个名次时我的第一反应是 数据 + 结构 然而到现在数据结构都没有一个统一的标准的答案。 (以下资料摘自百度百科) 数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型。简而言之,数据结...原创 2020-02-19 20:01:36 · 191 阅读 · 0 评论