数据结构与算法
文章平均质量分 95
小镇敲码人
需要互关请私信。
展开
-
【ZZULI数据结构实验】压缩与解码的钥匙:赫夫曼编码应用
赫夫曼树是一种特殊的二叉树,WPL最小的二叉树,所以赫夫曼树又叫最优二叉树。首先就是哈夫曼树的节点类型,我们需要在这个类型里面放5个数据,节点的左孩子、右孩子、还有这个节点保存的字符即它的低位和高位,还有这个字符的字符串编码(char*类型,动态开辟内存按需申请)。//出现的频率//节点的左孩子和右孩子int low;//低位int high;//高位char* code;// 编码,在构造树后分配}Node;原创 2024-05-11 09:50:02 · 870 阅读 · 35 评论 -
【算法深度探索】动态规划之旅(1):挑战OJ题海,解锁15道经典难题,让你成为DP大师!
本篇博客旨在帮助大家学习和了解DP算法,并熟练的掌握DP算法的原理和一些套路,以题解的形式给出,题目出自力扣平台,后面的数字代表难度分。原创 2024-04-10 07:44:05 · 2667 阅读 · 149 评论 -
【ZZULI数据结构实验一】多项式的三则运算
初始化就是放数据的过程,这里直接走一个循环,然后申请空间就可以了,如果你对申请空间有疑问,请看博主这篇文章C语言动态内存管理这里我们规定输入数据时,应该先输入幂次大的节点(先输入系数,再输入幂次),然后下一次节点链接我们直接头插就可以保证多项式类型的节点从左到右是按照幂次升序存储的(方便后序的四则运算),单链表的头插比尾插简单(尾插需要找尾)。这里当然你也可以乱输入,增加一个排序函数就可以(按照幂次排)。小小实验我们并不需要这么麻烦,直接输入让它有序就可以了(dog。原创 2024-03-26 07:36:08 · 964 阅读 · 35 评论 -
【数据结构初阶】之堆(C语言实现)
在二叉树基础篇我们提到了二叉树的顺序实现,今天让我们来学习一下特殊的二叉树———堆的相关知识。📃博客主页:原创 2024-03-23 19:43:06 · 1021 阅读 · 13 评论 -
【数据结构基础】之八大排序(C语言实现)
算法和数据结构是有一定的关联的,八大排序算法在数据结构里算是比较重要的一个部分,今天本篇博客将介绍八大排序算法的原理和实现。原创 2024-03-23 19:42:48 · 1259 阅读 · 24 评论 -
【数据结构进阶】之搜索二叉树(C++实现)
二叉搜索树是一种树形结构之一,它是一种特殊的二叉树,它有着这样的性质:1.根的左子树的值都比根的值要小。2.根的右子树的值都要比根的值要大。注意:搜索二叉树的左右子树也是搜索二叉树。原创 2024-03-11 14:56:55 · 1183 阅读 · 12 评论 -
数据结构初阶之基础二叉树(C语言实现)
📃博客主页:💞🚀🌏任尔江湖满血骨,我自踏雪寻梅香。万千浮云遮碧月,独傲天下百坚强。男儿应有龙腾志,盖世一意转洪荒。莫使此生无痕度,终归人间一捧黄。🍎🍎🍎❤️什么?你问我答案,少年你看,下一个十年又来了 💞 💞 💞。原创 2024-03-11 14:56:06 · 1133 阅读 · 3 评论 -
数据结构初阶之栈和队列(C语言版)
本篇博客主要讲到了数据结构中栈和队列的一些知识,并给出了他们的C语言模拟实现,最后以两道OJ题强化了对后入先出、先入先出特性的了解,欢迎小伙伴指出不足和提出宝贵的建议,下面给出本篇博客思维导图,希望本篇博客对你有所帮助。原创 2024-01-02 09:55:23 · 1277 阅读 · 4 评论 -
数据结构初阶之顺序表(C语言实现)
顺序表是数据结构里面很基础的一类,它是线性表的一种,其它线性表还有链表、栈和队列等,今天来和博主一起学习关于顺序表的知识吧。接下来将为大家带来一篇《不一样的C语言之easyx库的使用》,敬请期待吧。下面是本篇博客的思维导图希望对您有所帮助。原创 2023-12-28 17:23:59 · 1163 阅读 · 5 评论 -
【数据结构初阶】之单链表
那应该如何实现创建一个单链表的类型呢?我们在C语言里面知道是没有单链表这个类的,所以自定义类型一般使用struct创建一个结构体,结构体里面有两个成员,一个是数据域,一个是指针域(保存),那小伙伴可能就要问了,为什么我们不直接保存下一个节点,而是要保存它的地址呢?}SListNode;这样创建单链表的类型,正确与否先不论,你该如何计算这个结构体所占空间的大小呢,我们知道结构体有内存对齐的规则,那问题来了你的一个成员是同一个自定义类型的结构体对象,你如何知道它的大小呢?原创 2023-11-01 00:21:05 · 1055 阅读 · 54 评论 -
【数据结构与算法篇】之时间复杂度与空间复杂度
在计算机与科学中,算法的时间复杂度(time complexity)是一个函数,它定性的描述算法的运行时间,表示一个程序来回执行的次数,但不定量。这个函数的自变量是算法输入值的字符串的长度,即NNN。时间复杂度常用大O符号表述,只包括那个幂次最高的项数。使用这种方式时,时间复杂度可被称为是渐近的,也就是limN→∞ONN→∞limON时的情况。原创 2023-07-04 23:08:39 · 1698 阅读 · 85 评论 -
动态规划(C语言实现)
点这里直接跳转 - - >动态规划简单点来说,动态规划 = 分治递归 (递推)+ 记忆存储。递归:(英语:Recursion),在数学和计算机科学中是指在函数的定义中使用函数自身的方法,在计算机科学中还额外指一种通过重复将问题分解为同类的子问题而解决问题的方法。定义分治(英语:Divide and Conquer),字面上的解释是「分而治之」,就是把一个复杂的问题分成两个或更多的相同或相似的子问题,直到最后子问题可以简单的直接求解,原问题的解即子问题的解的合并。点这里直接跳转 - - >百度百科。原创 2023-05-25 23:07:30 · 2402 阅读 · 9 评论