数据结构与算法
文章平均质量分 89
记录分享自己对一些常用的数据结构的理解,通过c语言和Java来完成一些基本操作
九思のJava之路
孔子曰:“君子有九思:视思明,听思聪,色思温,貌思恭,言思忠,事思敬,疑思问,忿思难,见得思义。”
展开
-
【数据结构与算法】十大经典排序算法-归并排序
归并排序稳定且适用于各种数据类型。具有稳定的时间复杂度O(n log n),适用于大规模数据排序。分治思想使其易于理解和实现,同时也为优化提供了空间。原创 2023-08-15 20:43:36 · 678 阅读 · 0 评论 -
【数据结构与算法】十大经典排序算法-堆排序
高效性:堆排序的时间复杂度为 O(n log n),在大规模数据下表现优异。不占用额外空间:堆排序是原地排序算法,不需要额外的存储空间。原创 2023-08-13 20:34:39 · 199 阅读 · 0 评论 -
【数据结构与算法】十大经典排序算法-选择排序
简单易懂:选择排序是一种简单直观的排序算法,易于实现。稳定性:在相等元素的情况下,选择排序是一种稳定的排序算法。原创 2023-08-12 21:56:57 · 609 阅读 · 0 评论 -
【数据结构与算法】十大经典排序算法-希尔排序
相对于传统的插入排序,希尔排序通过将元素分组进行排序,减少了逆序对的数量,从而加快了排序过程。希尔排序是原地排序算法,只需在原始数组上进行元素的交换和移动,不需要额外的辅助空间。原创 2023-08-10 21:38:48 · 1178 阅读 · 0 评论 -
【数据结构与算法】十大经典排序算法-插入排序
实现简单,对于部分有序的数组效率高。对于小规模数据或者部分有序的数据,插入排序的运行时间相对较短。原创 2023-08-09 22:29:53 · 506 阅读 · 0 评论 -
【数据结构与算法】十大经典排序算法-快速排序
高效性:快速排序是一种高效的排序算法,在大多数实际情况下,它的性能通常比其他常见排序算法(如冒泡排序、插入排序)更好。原地排序:快速排序是原地排序算法,不需要额外的辅助空间,只需在原始数组上进行交换操作。原创 2023-08-08 22:16:59 · 334 阅读 · 0 评论 -
【数据结构与算法】十大经典排序算法-冒泡排序
冒泡排序算法实现简单,易于理解和实现。对于小规模的数据集,冒泡排序可能比其他排序算法性能稍微好一些。由于每次只交换相邻元素,冒泡排序可以实现原地排序,不需要额外的内存空间。原创 2023-08-07 21:54:58 · 591 阅读 · 0 评论 -
【数据结构】队列及循环队列
🌟个人博客:www.hellocode.top🌟⭐所有文章均在上方博客首发,其他平台同步更新🔥本文专栏:《数据结构与算法》⚡如有问题,欢迎指正,一起学习~~文章参考整理自小码哥的《恋上数据结构和算法》课程,图片转载自课程PPT,如有侵权,请联系删除~~文章目录队列接口设计代码实现双端队列接口设计代码实现循环队列接口设计代码实现循环双端队列接口设计代码实现队列是一种只允许在一端进行插入,另一端进行删除先进先出的线性表和栈有相似之处(只许在一端插入删除,先进后出),可以进行对比的理解和.原创 2022-05-27 13:06:13 · 754 阅读 · 8 评论 -
【数据结构】动态数组
🌟个人博客:www.hellocode.top🌟⭐所有文章均在上方博客首发,其他平台同步更新🔥本文专栏:《数据结构与算法》⚡如有问题,欢迎指正,一起学习~~文章参考整理自小码哥的《恋上数据结构和算法》课程,图片转载自课程PPT,如有侵权,请联系删除~~文章目录接口设计代码实现构造方法新增删除修改查找时间复杂度完整代码数组是一种顺序存储的线性表,所有元素的内存地址是连续的在很多编程语言中,数组都有一个致命的缺点:无法动态修改容量为了解决数组的这个缺点,这里引入了动态数组(Arr.原创 2022-05-10 21:54:29 · 556 阅读 · 32 评论 -
【数据结构】链表详解(图文)
🌟个人博客:www.hellocode.top🌟⭐所有文章均在上方博客首发,其他平台同步更新🔥本文专栏:《数据结构与算法》⚡如有问题,欢迎指正,一起学习~~文章参考整理自小码哥的《恋上数据结构和算法》课程,图片转载自课程PPT,如有侵权,请联系删除~~文章目录单链表接口设计代码实现构造方法新增删除修改查找复杂度完整代码双向链表接口设计代码实现查找插入结点删除清空区别循环链表单向循环链表插入结点删除结点双向循环链表插入结点删除结点单链表链表是一种链式存储的线性表, 所有元素的内存地址.原创 2022-05-14 21:43:53 · 857 阅读 · 34 评论 -
【数据结构】栈的代码实现
🌟个人博客:www.hellocode.top🌟⭐所有文章均在上方博客首发,其他平台同步更新🔥本文专栏:《数据结构与算法》⚡如有问题,欢迎指正,一起学习~~文章参考整理自小码哥的《恋上数据结构和算法》课程,图片转载自课程PPT,如有侵权,请联系删除~~文章目录接口设计代码实现栈是一种特殊的线性表, 只能在一端进行插入或者删除操作往栈中添加元素的操作,一般叫做push,入栈从栈中移除元素的操作,一般叫做pop,出栈(只能移除栈顶的元素)成员变量无非就是size和一个element.原创 2022-05-16 11:17:25 · 1691 阅读 · 20 评论 -
单链表详解及其基本操作【C&Java】
链表的概述链表是一种在物理存储单元上非连续、非顺序的一种数据的存储结构。由一系列结点组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储的数据元素的数据域,另一个是存储下一个结点地址的指针域。一般还会有head(头结点)、end(尾节点)以及p(临时指针)来帮助我们完成链表的一些基本操作链表的基本操作在数据结构的基本操作中,最常见的就是增、删、改、查以及排序操作在本文中目前就先实现上方思维导图中的功能,将采用c和Java两种语言来实现共同的操作原创 2021-12-28 13:12:17 · 1511 阅读 · 6 评论