自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

天涯海角

厚积薄发~~

  • 博客(10)
  • 资源 (1)
  • 收藏
  • 关注

原创 【数据结构】AVL树

AVL树,是一棵平衡搜索二叉树,既满足搜索树的性质(见二叉搜索树的文章,链接:二叉搜索树),又满足平衡树的性质(左右子树的高度差不大于2)。在二叉搜索树中,我们知道要插入一个元素,必须将他插到合适的位置,但是在AVL树中,不仅要插入到合适的位置,还要保证插入该元素之后这棵树是平衡搜索二叉树。关于如何调整一棵二叉树为平衡二叉树,这里就涉及到四种旋转:左单旋,右单旋,左右双旋,右左

2016-10-26 22:42:37 716 1

原创 【数据结构】二叉搜索树

二叉搜索树,又叫二叉排序树,二叉查找树。它有以下特点:左子树的值小于根节点的值,右子树的值大于根节点;二叉搜索树中序遍历的结果就是一个升序序列。当然,空树也是一个二叉搜索树。全局满足二叉搜索树的性质,局部也应该满足。既然有以上性质,那么二叉树的查找是相当方便的,当然插入和删除,复杂度也会明显降低。

2016-10-23 12:26:17 825

原创 排序算法(二)之堆排序

继前边的《排序算法(一)》之后,排序算法(二)就要诞生啦!!这篇文章主要来分析堆排序。在上篇文章《堆&优先级队列》中,我们分析了建堆,插入元素,删除元素的时间复杂度。这里复习一次。建堆:O(N*lgN)插入:O(lgN)删除:O(lgN)也分析了为什么优先级队列的底层要用堆!!如果上篇关于堆的文章看懂之后,下边的堆排序就比较好写了。我们知道堆的特点是:第一个元素要么是最大值

2016-10-12 12:39:33 889

原创 【数据结构】堆&优先级队列

说实话,之前看数据结构的时候,并没有更多的关注到堆,直到现在......堆数据结构是一种数组现象,可以看成是一种完全二叉树。堆的分类;最大堆:每个父节点都大于其孩子结点。最小堆:每个父节点都小于其孩子结点。注意注意:区分与二叉排序树的区别!!!堆也有很多应用,比如优先级队列,堆排序等等。再多的应用,都是先需要有堆。堆的底层是一个数组,了解STL之后可以将底层写成vect

2016-10-11 15:04:52 874

原创 迭代器失效问题(一)

迭代器失效问题:不光vector中有迭代器失效问题,其实list中也有。list仅有指向被删除元素的迭代器失效。 下边给出一段代码:int main(){ vector array; array.push_back(1); array.push_back(3); array.push_back(3); array.push_back(5); vector:

2016-10-07 17:25:02 711

原创 【数据结构】栈面试题---以O(1)时间复杂度求最小值

假设给出一组数字,我们需要在O(1)时间复杂度内完成对这组数字最小值的求解。题目具体描述:定义栈的数据结构,请在该类型中实现一个能够得到栈的最小值元素的min函数。在该栈中,调用min,push和push的时间复杂度都是O(1).下边给出两种方法:方法一:采用辅助栈实现实现过程描述:辅助栈专门用来存储当前数据栈中的元素的最小值。当数据栈中push进第一个元素,该元素也得进辅

2016-10-06 14:38:19 1956 1

原创 【linux】vim学习总结(一)

学习linux也是有一段时间了,只要有时间,就去练习一些命令,这样有助于记忆~~其实吧,linux下的命令都不是记出来的,而是用出来的。下边呢,就将vim中使用的一些命令整理一下,仅供参考~~关于vim的配置,大家可以在网上找 大神给的配置方法,这里就要略去了~~~vim下有两种模式:insert模式和normal模式。在insert模式下点esc进入normal模式。在nor

2016-10-05 22:09:54 1345

原创 二叉树的线索化(一)

本篇文章主要整理二叉树的先序和中序线索化,以及对线索树的两种遍历。线索化的引入:对于有n个节点的二叉树中,就会有n+1个空指针,导致空间的浪费。推导:对于任何一棵二叉树,叶子节点也就是度为0的节点数为n0,度为2的节点数为n2,则有n0 = n2+1。(总结点数为n)n0+n1+n2  = nn2+1 = n0.两等式联立:2*n0+n1 = n+1.所以我们引入了

2016-10-04 22:19:22 836

原创 【数据结构】栈面试题--一个数组实现两个栈

一个数组实现两个栈,有以下几种方法:1.数组的奇数位置存储一个栈的元素,偶数位置存储另一个栈的元素;2.两个栈分别从数组的中间向两头增长;3.两个栈分别从数组的两头开始增长。从图片中我们都可以看出,前边两种方法再一定的情况下会造成空间的浪费,所以我们采用第三种方式完成。下边给出代码实现:#includeusing namespace std;#include

2016-10-03 20:17:37 1548

原创 剑指offer---不使用循环条件判断等实现求和

题目描述:求1+2+3+....+n,要求不使用乘除法,for,while,if,else,switch,case等关键字及三目表达式。题目分析:由于不能使用条件判断的关键字,所以,一般的递归也是不允许的,因为通过条件判断来确定递归是否结束。但是下边的方法有模仿递归来实现求和。方法一:构造函数由于静态成员是属于类而不属于对象,根据这一特性,来实现求和。下边给出代码:cl

2016-10-02 16:24:06 761

electron-quick-start-master.rar

electron工具,这是我上传的,这个工具很好用,真的很好用,不信你试试

2020-07-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除