数据结构和算法
文章平均质量分 79
学习数据结构和算法时的心得,总结一下,方便查看复习
include_java0
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
链表(单链表,双链表,环形链表)
在java中链表是一种数据结构,与数组连续的存储不同,链表在内存中是一种非连续的存储。通过引用相互连接。链表相较于其他数据结构,最大的优势是删除和添加节点(数据)比较方便,尤其是在需要频繁进行这些操作的场景中。根据链表的特性和链表的怎删改查,我直到想要熟练运用链表,就是要熟练修改引用(指针)的指向。当然遇到比如让链表逆序和逆序打印(不改变初始结构时)要直到新的便捷的方法,头插法和压栈法。总体来说最重要的还是熟练掌握引用的修改。原创 2025-08-28 18:06:57 · 1784 阅读 · 0 评论 -
稀疏数组原理
稀疏数组是为了节省原数组的空间而重新创建的数组,因为原数组中大量的空间只存在少数有用的数值,却有大部分区域是空,于是出现了稀疏数组。这是一组十一行十一列的数组,观察可知,数组只有arr[1][2]和arr[3][2]两个位置存放了1和2这两个值,其他位置全部是空。因此,稀疏数组通过对行列赋予不同的意义来压缩原数组。稀疏数组的第一行用来存储原始表的行列数和有意义数值的个数。arr[0][0] = rows 第一行第一列存原数组行数。原创 2025-08-23 16:31:42 · 393 阅读 · 0 评论 -
大学生通过写博客的方式复现数据结构和算法
数据结构和算法是一个程序员的灵魂,从前学习C语言时学过数据结构和少量算法,知识点只是从脑子里过了一遍,回看发现,仅仅只是记得零碎的知识点,于是决定通过写自己的博客来输出。而且在我看来大脑和计算机一样,有输入就要有输出,良好的输出能帮助我们将知识点串联,使其不再零散,而是能够结构化,系统化。1.稀疏数组2.队列3.单链表4.双链表5.环形链表——约瑟夫环问题6.栈7.前缀—中缀—后缀8.递归9.树10.图1.八大排序算法2.六大查找算法3.动态规划4.贪心算法5.KMP。原创 2025-08-20 18:19:48 · 233 阅读 · 0 评论 -
双链表,环形链表
根据单链表,我们变种出多种其他形式的链表,双链表和环形链表,我们可以实际问题来使用不同的链表,来帮助更加遍历的解决问题。熟练运用(指针)引用帮助我们更好使用链表。原创 2025-08-29 16:37:35 · 1655 阅读 · 0 评论 -
数组队列——循环队列
首先要明确队列的特点,先进先出,对头出队,队尾进队。其次通过数组对列探究对列的特性中设置了许多表示下标的变量,通过移动变量位置来实现入队出队;但实际上数组的值还是存在,只不过获取数据是通过arr[front]来获取。在研究普通数组队列时我们发现一旦队列满就再也无法存储数据的问题,因此出现了循环队列,通过取模来防止数组越界以此重复利用数组,只要出队取数据,保证数组队列中有空间,便可再次存数据,因此解决了这个问题。原创 2025-08-25 00:07:28 · 1753 阅读 · 0 评论
分享