数据结构、算法
youngchanlll
这个作者很懒,什么都没留下…
展开
-
对红黑树的认识总结
版权声明:本文为CSDN博主「张彦峰ZYF」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/xiaofeng10330111/article/details/106080394 目录 一、对红黑树的基本理解 (一)对红黑树的基本定义理解 (二)对红黑树是“近似平衡”的理解 1.将红色节点从红黑树中去掉,分析包含黑色节点转载 2021-05-24 12:23:16 · 43 阅读 · 0 评论 -
数据结构及算法——归并排序
一、归并排序的思想 其原理是假设初始序列含有n个记录,则可以将n个记录看成是n个有序的子序列,每个子序列长度为1,然后两两进行归并,得到[n/2](即不小于n/2的最小整数)个长度为2或者1(当序列的元素为奇数个时最后可能存在一个单独的子序列)的有序子序列;再进行两两归并,如此重复,直到得到一个长度为n的有序序列为止,此排序方法称作为2路归并排序。 二、归并排序代码(来源于大话数据结构) #include <iostream> #include <initializer_list>原创 2021-05-23 22:20:01 · 173 阅读 · 0 评论 -
数据结构及算法——快速排序
一、关于快速排序的思想 快速排序是一种分治的思想,它通过一趟排序将待排序记录分割成独立的两个部分,其中的一部分关键字均比另一部分的关键字小,再分别对这两部分记录继续进行排序,以便达到整个序列有序的目的。 二、快速排序的代码(来源于大话数据结构) #include <iostream> #include <initializer_list> #define MAXSIZE 10000 #define TRUE 1 #define FALSE 0 #define MAX_LENGTH_I原创 2021-05-22 22:36:49 · 193 阅读 · 0 评论 -
关于二叉树深度递归图助理解
递归三要素: 1、函数的功能; 2、递归结束条件; 3、函数等价关系式。 这些相关的文章上已经讲了很多了,这里不做过多的文字描述,仅仅以最简单的左斜二叉树的深度递归求解作为例子,以图示的方式表示辅助理解递归在做什么。 图中每个方块代表每次递归函数调用,红色部分代表未执行部分,即因为函数已经在该未执行部分前面退出,回到调用该函数的上级函数中,方块上的数字表示函数的返回值。 ...原创 2021-05-10 16:05:37 · 187 阅读 · 0 评论 -
关于KMP改进算法中nextval数组的求解
本篇博文在学习KMP改进算法后根据自己理解所做的记录。 下面根据自己的理解写出了nextval数组求解及KMP改进算法的代码: #include <iostream> #include <string> using namespace std; //通过计算返回子串的next数组 void get_nextval(const string &s, int *nextval) { nextval[0]=-1; nextval[1]=0; //原创 2021-04-28 11:32:27 · 239 阅读 · 0 评论