数据结构与算法
文章平均质量分 91
根据教学视频展开,将自己的思路融入进去,实现数据结构与算法的Java实现。
是志明呀
厚积薄发
展开
-
动态规划算法思路
本文章为 labuladong 的文章以及视频的总结,如需访问原文以及原视频,传送门如下:原文;原视频。 1 动态规划的概念 1.1 动态规划解决的问题 动态规划问题的一般形式就是求最值。动态规划其实是运筹学的一种最优化方法,只不过在计算机问题上应用比较多,例如求最长递增子序列以及最小编辑距离等等。 1.2 动态规划的三要素 重叠子问题:当题目中存在重叠子问题时,利用暴力穷举的话效率会极其低下; 最优子结构:即通过子结构的最值来推导出原问题的最值;何为最优子结构,即每一个子结构之间都是独立的,例如通过.原创 2021-04-26 21:24:48 · 650 阅读 · 0 评论 -
查找算法~
1 定义 查找是在大量的信息中寻找一个特定的信息元素,在计算机应用中,查找是常用的基本运算。 2 查找的分类 常用的查找有四类,分别是顺序(线性)查找、二分查找、插值查找和斐波那契查找。 在这四种查找方法中,除顺序查找的另外三种方法都要求数组是有序的。 接下来,我将用在数组{1,8, 10, 89, 1000, 1234}中找到1000这个实例来分析各种查找方法。 3 顺序查找 3.1 定义 依据数组下标顺序来查找,虽然不要求数据是有序的,但总体效率比较低。 3.2 代码实现 p原创 2021-02-06 16:07:05 · 143 阅读 · 0 评论 -
数据结构系列第六部分:排序
1)文笔有限,如果发现博客有书写有误的地方恳请读者直言不讳,我一定会第一时间改正。 2)代码的具体实现可以参考代码中的注释,如果由于注释不清楚而不明白相应原理,可以与作者私聊。码字不易,有兴趣的小伙伴点个赞呗,大家相互学习。 3)本篇博客为数据结构系列第二部分:图,如需了解数据结构的其它部分,欢迎点击链接。 数据结构系列绪论部分:为什么需要数据结构 数据结构系列第一部分:表 数据结构系列第二部分:树 数据结构系列第三部分:图 数据结构系列第四部分:散列 数据结构系列第五部分:递归 数据结构系列第六部分:.原创 2021-02-06 15:53:44 · 154 阅读 · 0 评论 -
数据结构系列第五部分:递归
1 定义 递归就是通过自己来调用自己,每次调用时传入不同的变量。 递归有助于编程者解决复杂的问题,同时可以让代码变得简洁,不过递归会导致代码的可读性变差,而且占用内存相对较多。 2 递归调用机制 这里通过打印问题来说明递归的调用机制。 打印问题 的内容是:利用递归打印出所有比输入 n 小的正整数。 代码实现: public class Case { public static void main(String[] args) { test(4); }原创 2021-02-06 10:22:38 · 202 阅读 · 0 评论 -
数据结构系列第四部分:散列
1 定义 散列表(Hash table,也叫哈希表),是根据 Key-Value 而直接进行访问的数据结构。也就是说,它通过把Key-Value映射到表中一个位置来访问记录,以加快查找的速度。 这个映射函数叫做散列函数,存放记录的数组叫做哈希表。 2 为什么需要散列这种数据结构 为什么使用哈希表呢?在平常的数据管理中,我们常常将数据放在数据库中,但数据库实际上是一个硬盘,如果直接从 Java 程序向数据库中存取数据的速度会比较慢,这个时候,我们有两种方法来解决这个问题。 使用现在的缓存产品,原创 2021-02-06 10:00:23 · 226 阅读 · 0 评论 -
数据结构系列第三部分:图
1)文笔有限,如果发现博客有书写有误的地方恳请读者直言不讳,我一定会第一时间改正。 2)代码的具体实现可以参考代码中的注释,如果由于注释不清楚而不明白相应原理,可以与作者私聊。码字不易,有兴趣的小伙伴点个赞呗,大家相互学习。 3)本篇博客为数据结构系列第二部分:图,如需了解数据结构的其它部分,欢迎点击链接。 数据结构系列绪论部分:为什么需要数据结构 数据结构系列第一部分:表 数据结构系列第二部分:树 数据结构系列第三部分:图 数据结构系列第四部分:散列 数据结构系列第五部分:递归 数据结构系列第六部分:.原创 2021-02-05 19:35:32 · 187 阅读 · 0 评论 -
数据结构系列第二部分:树
1)文笔有限,如果发现博客有书写有误的地方恳请读者直言不讳,我一定会第一时间改正。 2)代码的具体实现可以参考代码中的注释,如果由于注释不清楚而不明白相应原理,可以与作者私聊。码字不易,有兴趣的小伙伴点个赞呗,大家相互学习。 3)本篇博客为数据结构系列第二部分:树,如需了解数据结构的其它部分,欢迎点击链接。 数据结构系列绪论部分:为什么需要数据结构 数据结构系列第一部分:表 数据结构系列第二部分:树 数据结构系列第三部分:图 数据结构系列第四部分:散列 数据结构系列第五部分:递归 数据结构系列第六部分:.原创 2021-02-03 13:52:28 · 190 阅读 · 1 评论 -
数据结构系列绪论部分:为什么需要数据结构
1)文笔有限,如果发现博客有书写有误的地方恳请读者直言不讳,我一定会第一时间改正。 2)代码的具体实现可以参考代码中的注释,如果由于注释不清楚而不明白相应原理,可以与作者私聊。码字不易,有兴趣的小伙伴点个赞呗,大家相互学习。 3)本篇博客为数据结构系列第一部分:表,如需了解数据结构的其它部分,欢迎点击链接。 数据结构系列绪论部分:为什么需要数据结构 数据结构系列第一部分:表 数据结构系列第三部分:图 数据结构系列第四部分:散列 数据结构系列第五部分:递归 数据结构系列第六部分:排序 数据结构系列第七部分.原创 2021-02-03 09:33:18 · 566 阅读 · 1 评论 -
数据结构系列第一部分:表
1)代码的具体实现可以参考代码中的注释,如果由于注释不清楚而不明白相应原理,可以与作者私聊,欢迎互相交流、进步。 2)文笔有限,如若有对该博客不清楚的地方可以私信作者或者在底下评论,我一定会第一时间回复。码字不易,干货连连,有兴趣的小伙伴点个赞呗,大家相互学习。 3 本篇 1 概论 表是一种表示数据元素之间存在一个对一个的关系的数据结构,对应Java中的数组(顺序表)、队列、链表、栈。 参考【传送门】 2 数组 2.1 定义 属性 特征 特点 ① 使用连续分配的内存空间;②一次申请一大段.原创 2021-02-02 21:08:36 · 313 阅读 · 0 评论