★忒變&忄★
★忒變&忄★
全部文章
数据结构
C++(21)
HELLO C(19)
IT资源(8)
LC(12)
Linux(9)
未归档(5)
网络编程(3)
计算机组成原理(1)
归档
标签
去牛客网
登录
/
注册
★忒變&忄★的博客
全部文章
/ 数据结构
(共20篇)
初夏小谈:红黑树原理及实现
一、红黑树的概念及产生原因: 红黑树就是一棵二叉搜索树,只不过在里面添加了一些特性,它的结点不是红的就是黑的。 红黑树(本质二叉搜索树)是在基于二叉搜索树,为了改善在极端情况下,二叉搜索树的查找不佳的情况。(比如,每个结点只有左孩子/每个结点只有有孩子的情况等等)。二叉搜索树的查找次数就...
2019-06-19
0
442
初夏小谈:排序算法---基数排序(小白也能看懂)
在海量数据随机分布时进行排序时最快的当属桶排序因为它的时间复杂度是O(n)也就是只需两趟就可以将所有数据排好,今天所说的就是基于桶排序的思想进行基数排序。 基数排序:就是每次按照其各个位上的大小进行的一次排序,每一次排完后就将排完后的数据重新放回去,接着进行十位上的数字比较大小来...
2019-04-01
0
275
初夏小谈:速查节日倒计时(小项目)
前言: 在实现这个小项目中需要用到C++的一些相关知识。例类的相关成员函数,友元,运算符的重载,string,vector的一些操作等。也是对前一段C++基础知识的复习。实现这个小项目也是为了所收获的东西进行实战。在这个小项目实现的过程中也遇到了好几个问题,可能由于春季的温差变化有点大。博主不胜洗礼...
2019-03-29
0
354
初夏小谈:排序算法---归并排序(非递归)
归并排序(MergeSort) 一、归并排序是建立在分治法的基础上进行的排序。归并排序的思想是:先将一组数据进行分割成若干的小子序列,然后将这些子序列进行排序,之后再对这些子序列再进行排序。当将两...
2019-03-22
0
305
初夏小谈:排序算法---快速排序(超详解)(三种方式实现及优化版本)
快速排序正如它的名字一样牛逼,它是实践中最快的已知排序算法。那么快速排序是怎么一种排法呢?往下看 快速排序是利用了分治的思想,分而治之。将一个大的问题拆分成几个子问题,那么解决掉这些子问题,用它们的解将得到原问题的解。 它的算法思想是:三步骤 ...
2019-03-10
0
676
初夏小谈:排序算法---冒泡排序(极致优化)
冒泡排序算法是我们学习数据结构时所接触到的第一个排序算法,因为其思想比较简单,易于理解,和其形象化的特点。也被我们称之为起泡排序。 冒泡排序就像鱼吐泡泡的过程,最大的最先浮上来一次是次大的。从第一个元素开始,将每两个之间进行比较,如果前面的大于后面的则将他们两个的位...
2019-03-10
0
410
初夏小谈:复杂链表的复制
在链表的中有这样一类链表。它至少包含两个指针。其中一个指向下一个结点。有一个指针随机的指向链表的其它结点,也可能指向它自己,也可能指向NULL。对于该类链表的复制来说。最大的难度就是如何处理复制的新链表的这个随机指针指向的问题。 因此在对该类链表处理时,就必须根据源链表的指针指向来得到新链表的...
2019-02-26
0
274
初夏小谈:前序构造二叉树及三种遍历(完整版)
通过前序来构造出一棵二叉树,创建一颗二叉树,可以先创建根节点,后再创建它的左孩子和右孩子。遇到空就停止。对于每个结点都是先创建它的左孩子,之后再创建它的右孩子。 但是在创建左孩子和右孩子是,最大的问题就是,待创建数据要移动相应的位。每消耗一个数据就要取下一个元素。可以通过一个变量来计数移动的个数...
2019-01-17
0
452
初夏小谈:二叉树的三种遍历(1)
二叉树的遍历一般分为三种即为,前序遍历,中序遍历,后序遍历。 所谓前序遍历就是从二叉树的根节点出发,先访问根节点,在访问左孩子,然后访问右孩子。注意这是对于每一个结点都符合的条件。 中序遍历就是先访问左孩子,再访问根节点,最后访问右孩子。同样对每个节点都适用。 后序遍历则是先访问左孩子,...
2019-01-15
0
352
初夏小谈:堆的基本操作(完整版)
堆的建堆,插入、删除、操作 堆本身就是一个完全二叉树,在这里采用数组进行存储。因为可以通过下标快速找到它的孩子。堆的最大作用就是:返回一组的数据的最值。 建堆: 在建堆的过程中,需要几个基本操作:首先先建立一个数组用来存储堆数据,其次就要开始对这组数据进行建堆的过程,需要将数据进...
2018-12-14
0
314
首页
上一页
1
2
下一页
末页