数据结构入门指南
文章平均质量分 95
主要介绍初阶数据结构
清水加冰
道阻且长,行则将至。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【二叉树】的实现
前边的内容陆续的对二叉树的内容进行了介绍,但也并没有系统的将二叉树各部分的操作进行实现,本期将会对二叉树的一些基本操作进行实现。原创 2023-10-06 18:09:52 · 832 阅读 · 3 评论 -
排序算法之【归并排序】
归并排序也是常用排序算法中较为重要的,对于新手来说较为复杂的排序算法,也是一个十分高效的排序算法。本篇文章我将带领大家深入理解归并排序。以上便是本期全部内容,归并排序是一种高效的排序算法,在实际应用中也有很大的价值,是一种值得掌握的算法,希望本文对你有所帮助。原创 2023-10-07 18:39:14 · 1580 阅读 · 5 评论 -
排序算法之【快速排序】
快速排序是一种常用的排序算法,也是一种很高效的排序的,它是由Hoare于1962年提出的一种二叉树结构的交换排序方法。本篇文章我将带你深入了解快速排序。快速排序是一种极其高效的排序方法,从上述的分析快速排序使用的二分分治排序的方法,可以得出时间复杂度为O(N*logN),同时快速排序并不稳定,我们使用了各种方法来进行优化,使它的时间复杂度稳定在O(N*logN)。原创 2023-09-30 22:58:29 · 2272 阅读 · 52 评论 -
【二叉树】——链式结构(快速掌握递归与刷题技巧)
前边我主要介绍了二叉树的顺序结构,链式结构也只是简单提及,今天我们来详细介绍一下二叉树的链式结构。本篇文章主要简单介绍了一下二叉树的链式结构,以及链式结构遍历的特点,通过一些简单的练习帮助大家更快上手二叉树的链式递归。理解并使用好递归的分治,对于后续的学习至关重要,希望这篇文章可以帮到您。原创 2023-09-26 12:46:41 · 1505 阅读 · 65 评论 -
排序算法之【希尔排序】
希尔排序,作为一种高效的排序算法,更是在排序算法这个舞台上展现出了自己独特的魅力,听这个名字就感觉这个排序不简单,本篇文章我将带领大家深入了解希尔排序。本篇文章主要介绍了希尔排序,希尔排序的时间复杂度与增量序列的选择有关,它是一种不稳定的排序算法,适用于中等规模的数据排序。原创 2023-09-27 18:05:10 · 1691 阅读 · 10 评论 -
从头开始:数据结构和算法入门(时间复杂度、空间复杂度)
日常生活中我们会遇到很多问题需要算法解决,在选择算法时,我们需要综合考虑时间复杂度和空间复杂度,找到一个合适的平衡点,以满足问题的要求和资源的限制。通过分析算法复杂度,我们可以评估算法的效率和可行性,并选择最优的算法来解决问题原创 2023-07-26 12:18:08 · 3845 阅读 · 6 评论 -
数据结构入门指南:顺序表
今天我们正式进入对数据结构的学习,顺序表是数据结构中最简单的一种线性数据结构,也是数据结构入门的试金石,如果对于顺序表中内容理解过难,可以先填补一下C语言中结构体、动态内存管理及指针部分的知识。这也是步入数据结构学习的基础。接下来我将向大家一一介绍顺序表以及实现。通过深入学习顺序表,我们可以了解它的内部结构和操作,如创建、插入、删除、查找、修改等。这些基本概念为我们理解和学习其他更复杂的数据结构打下了坚实的基础。原创 2023-07-27 14:39:36 · 4158 阅读 · 26 评论 -
数据结构入门指南:链表(新手避坑指南)
前边我们学习了顺序表,顺序表是数据结构中最简单的一种线性数据结构,今天我们来学习链表,难度相较于顺序表会大幅增加,非常考验大家对结构体、指针的理解。但是也不要害怕,我会一一向大家解答疑惑,本期的内容先给初学者预预热,主要介绍在刚开始实现链表时注意的点以及逻辑基础,下期会将功能接口具体实现。}SLNode;定义链表这里就迎来了第一个坑,上述的这种形式很常见,对于初学者来说这里就有一个坑,这个链表定义的是否正确呢?这种方式是不正确的,为什么?原创 2023-07-30 05:28:04 · 6444 阅读 · 59 评论 -
数据结构入门指南:单链表(附源码)
前边关于链表的基础如果已经理解透彻,那么接下来就是对链表各功能的实现,同时也希望大家能把这部分内容熟练于心,这部分内容对有关链表部分的刷题很有帮助。废话不多讲我们步入正题。前边已经实现了头插、尾插的操作,今天主要的内容是:头删、尾删、位置删除、位置后删除、查找、位置前插入、位置后插入。好的,内容到这里就要结束了,这部分内容或许看来很繁琐,但在刷链表相关的题时就会惊奇的发现,题解都是这些操作的变形。熟练这部分内容,可以让你在刷链表相关的题时会感觉非常的爽,刷题也会更加顺利。原创 2023-08-01 09:26:47 · 4160 阅读 · 40 评论 -
数据结构入门指南:带头双向循环链表
链表一共有8种结构,但最常用的就是无头单向链表、和带头双向循环链表。单链表的结构存在着很多的缺陷,但它是许多数据结构的子结构,在刷题中经常见到,而带头双向循环链表弥补了单链表所有的缺陷,可以说是一个完美结构,虽然相对于单链表来说结构更复杂,但它的特性使它的实现逻辑较为简单,今天我就向大家一一介绍。步入正题,带头双向循环链表,首先它是双向的,什么是双向呢?在单链表定义时会有指向下一个节点的指针,而双向链表有两个指针,一个指向下一个节点,一个指向上一个节点,可以实现前后双向遍历。int data;原创 2023-08-04 20:43:47 · 5430 阅读 · 112 评论 -
数据结构入门:栈
无论你是计算机科学专业的学生、程序设计的爱好者,还是正在准备面试的求职者,本文将为你提供一份全面而深入的栈和队列指南。让我们一起探索栈和队列的双重魅力,为你的编程之路增添新的色彩。int top;}Stack;栈中有栈顶(top),有栈的容量(size),还有存储的数据(a);栈是一种重要的数据结构,它以后进先出的方式操作数据。栈在递归算法、表达式求值、函数调用等场景中发挥着重要作用。通过学习栈,我们能够更好地理解数据结构的本质和算法的设计思想。原创 2023-08-09 15:15:05 · 7515 阅读 · 117 评论 -
数据结构入门:队列
队列,作为一种重要的数据结构,在计算机科学中扮演着重要的角色,它按照先进先出(FIFO)的原则进行操作。它可以用来解决许多实际问题,队列的应用范围广泛,从操作系统中的进程调度,到网络中的数据传输,再到算法中的搜索和排序,队列无处不在。那么接下来,让我们一同开始这段关于队列的探索之旅吧!}QueueNode;和定义链表的节点一样。但是也有所不同,我们知道队列需要大量的头删和尾插,为了方便尾插和头删我们最好再创建两个指针,一个指向头,另一个指向尾。那这样岂不是需要二级指针解决吗?原创 2023-08-10 19:46:22 · 3782 阅读 · 23 评论 -
数据结构入门指南:二叉树
在计算机科学中,数据结构是解决问题的关键。而二叉树作为最基本、最常用的数据结构之一,不仅在算法和数据处理中发挥着重要作用,也在日常生活中有着丰富的应用。无论是搜索引擎的索引算法、文件系统的组织方式,还是编译器的语法分析,二叉树都扮演着不可或缺的角色。为了便于大家更好的入门二叉树,本期先向大家简单介绍一下二叉树的基本性质,以及代码理解实现,给大家预预热。原创 2023-08-15 13:13:17 · 3270 阅读 · 11 评论 -
深入理解【二叉树】
在计算机科学领域中,二叉树作为一种重要的数据结构,被广泛应用于各种算法和问题的解决方案中。然而,对于许多人来说,二叉树仍然是一个神秘而复杂的概念。本篇博客将带领你一同深入探索二叉树的内在结构和特性,帮助你建立起对二叉树的全面理解。通过本篇博客我们对二叉树的内在结构、特性,有了更全面的了解,希望通过本篇博客的阅读,你已经掌握了深入理解二叉树的关键知识。原创 2023-08-19 20:17:11 · 1232 阅读 · 15 评论 -
二叉树的存储结构
二叉树的存储结构是指如何将二叉树的节点和它们之间的关系表示出来,以便于对二叉树进行操作和遍历。在二叉树的存储结构中,我们有多种选择,每种选择都有其独特的优势和适用场景。从链式存储到顺序存储,再到堆存储,每种方法都有不同的空间和时间复杂度,并且适用于不同的应用场景。原创 2023-09-08 13:49:24 · 2115 阅读 · 5 评论 -
【二叉树】的顺序存储(堆的实现)
我们常见的二叉树有顺序存储和链式存储,顺序存储就是使用数组来存储二叉树,除了顺序存储,堆存储也是一种常见的选择。堆存储是一种基于数组的存储方式,它使用数组来表示堆的结构。在堆存储中,我们可以使用简单的数学公式来计算节点在数组中的索引,从而实现高效的访问和操作。堆是一种特殊的二叉树,使用堆存储的二叉树都是完全二叉树,堆又可分为大堆和小堆。大堆:大堆的子节点不得大于父节点。小堆:小堆的子节点不得小于父节点。二叉树的存储结构int size;}HP;原创 2023-09-16 19:19:26 · 1272 阅读 · 68 评论 -
解密堆排序与TopK问题
在二叉树的存储结构中提到堆可以进行排序,也就是今天的主题堆排序,堆的排序还可以解决Topk问题,今天我就向大家解密什么是堆排序和Topk问题,它们的原理又是什么。Top-K问题是指从一组元素中找出前K个最大(或最小)的元素。这个问题在数据处理和算法设计中经常遇到,常见的应用场景包括搜索引擎中的搜索结果排序、推荐系统中的物品推荐、数据分析中的数据筛选等。找出前K个最大的元素。原创 2023-09-20 18:03:18 · 1403 阅读 · 55 评论
分享