![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构学习
文章平均质量分 88
玩铁的sinZz
坚持才是胜利!
展开
-
数据结构——归并排序和计数排序的介绍
本篇文章简单介绍了归并排序和计数排序的实现原创 2023-06-27 21:31:39 · 1018 阅读 · 63 评论 -
数据结构——快速排序的介绍
本篇文章主要介绍了快速排序的实现以及思想。原创 2023-06-25 21:20:03 · 1599 阅读 · 58 评论 -
数据结构——C语言实现常见排序(插入排序、希尔排序、选择排序、堆排序、冒泡排序)
本篇文章介绍了常见的排序算法,例如插入排序、希尔排序、选择排序、堆排序以及冒泡排序。希望能对你有所帮助!原创 2023-06-23 13:27:06 · 2278 阅读 · 66 评论 -
数据结构——二叉树基础结构篇(C语言)
本篇文章介绍了二叉树的遍历以及二叉树结构相关的问题。还介绍了分治的思想。相信看完之后你对二叉树的结构将会有一定的了解,对以后学习更复杂的树形结构也会有些许帮助。原创 2023-06-13 09:24:43 · 1263 阅读 · 45 评论 -
数据结构——堆(C语言实现)
本篇文章主要介绍了堆的概念、堆的实现、堆排序的实现、建堆和堆排序时间复杂度的讲解、以及简单介绍了TOPK问题。原创 2023-06-11 08:34:00 · 2499 阅读 · 47 评论 -
数据结构——树的概念、二叉树的概念
本篇文章主要介绍了树这种数据结构的基本概念,以及对于二叉树的概念作了介绍。简单介绍了树的结构和类型,。以及二叉树的结构和类型。原创 2023-06-07 19:47:53 · 993 阅读 · 44 评论 -
数据结构——队列(C语言实现)
首先,我们需要定义的是链式结构的队列,即单链表为底层实现的。所以需要定义单链表结构来存储数据。然后,定义队列,队列里需要定义两个指向单链表的指针,一个是指向单链表头结点的指针,另一个则用来保存尾结点地址的指针。最后,还需定义一个记录当前队列元素个数的变量,用于遍历队列和判空。int size;} Queue;原创 2023-04-16 13:21:19 · 3009 阅读 · 0 评论 -
数据结构——带头双向循环链表(C语言实现详解)
带头双向循环链表定义,首先需要定义一个存储的数据类型data,然后是两个指针,分别指向前一个结点(prev)和后一个结点(next)。原创 2023-04-02 21:28:16 · 270 阅读 · 0 评论 -
数据结构——顺序表详解(C语言实现)
顺序表的概念:顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表的特点:存储数据的数组可以动态调整,数据在内存中是连续存储的。静态顺序表的内容为存放数据的数组和记录数据个数的变量。静态顺表的缺点比较明显,因为数组开辟必须一次性开辟完成,所以对于空间的利用率不佳。动态顺序表的内容为一个指向动态开辟空间的指针、记录数据个数的变量和记录当前顺序表容量的变量。动态顺序表对于空间的利用率较好,但是数据的增删查改效率一般。原创 2023-03-10 17:56:09 · 494 阅读 · 1 评论 -
数据结构——单链表详解(C语言实现)
首先,我们需要知道,单链表内所需要的数据有两种,一种是数据,还有就是下一个节点的指针。所以我们需要定义一个结构体。//重命名单链表的数据 //便于不同数据类型的切换 typedef struct SLTNode {//SLTNode* next//错误 //改写法C语言是不支持的 //struct SLTNode//错误 } SLTNode;原创 2023-03-08 09:08:16 · 1276 阅读 · 1 评论 -
算法学习笔记——BF算法
BF算法,即暴力(Brute Force)算法,是普通的模式匹配算法,BF算法的思想就是将目标串S的第一个字符与模式串T的第一个字符进行匹配,若相等,则继续比较S的第二个字符和 T的第二个字符;若不相等,则比较S的第二个字符和T的第一个字符,依次比较下去,直到得出最后的匹配结果。BF算法是一种蛮力算法。简而言之,BF算法是一种蛮力对两个字符串内容进行判断,这是一个个相对低效的一种判断两个字符串关系的算法。原创 2023-02-23 18:03:44 · 378 阅读 · 0 评论 -
数据结构——复杂度的详解(空间复杂度和时间复杂度)
时间复杂度的定义:时间复杂度的定义:在计算机科学中,算法的时间复杂度是一个函数,它定量描述了该算法的运行时间。一个算法执行所耗费的时间,从理论上说,是不能算出来的,只有你把你的程序放在机器上跑起来,才能知道。但是我们需要每个算法都上机测试吗?是可以都上机测试,但是这很麻烦,所以才有了时间复杂度这个分析方式。一个算法所花费的时间与其中语句的执行次数成正比例,算法中的基本操作的执行次数,为算法的时间复杂度。空间复杂度也是一个数学表达式,是对一个算法在运行过程中临时占用存储空间大小的量度。原创 2023-02-22 20:28:16 · 707 阅读 · 1 评论