数据结构
文章平均质量分 59
托沃斯-勒夫
深度学习,机器学习,计算机视觉,模式识别,智能控制,算法分析,图像处理
展开
-
data_struction_test3:二叉查找树,查找值最小的结点
查找最小值的操作是很简单的,只需要从根节点递归的遍历到左子树节点即可。当遍历到节点的左孩子为NULL时,则这个节点就是树的最小值。上面的树中, 从根节点20开始,递归遍历左子树,直到为NULL。因为节点4的左子树为NULL,则4就是树的最小值。代码实现查找最小值:Node * minValueNode(Node* node){转载 2015-06-16 19:55:03 · 698 阅读 · 0 评论 -
排序算法--归并排序
归并排序:也是一个比较快速的排序算法,其思想是运用分治的思想,先对要排序的数进行分,每次从中间分成两部分,然后知道分成最小,然后在把他们合起来,边合起来边排序,最后有序,每次分的复杂度是log(n),然后合起来变成有序的复杂度O(n),总的复杂度O(n*logn),速度比较快,但是每次合并要占用额外O(n)的空间,如果用链表实现的话可以避免,同时归并排序可用来求逆序对。比如给这样一转载 2015-06-19 11:08:00 · 451 阅读 · 0 评论 -
红黑树
前面的博文分析了一般查找树的性质,理论上来讲,可以构造m阶完全树,但这种结构,会导致调整过于频繁,所以保持相对平衡就成了一种策略。红黑树,B树都是这种考虑。分析这些树(红黑树,AVL,B树)等,一个重要的地方就是我们所做的大部分工作的目标就是需要保持树在一定程度上的平衡。原创 2015-06-08 22:47:30 · 502 阅读 · 0 评论 -
6种比较排序和决策树
回顾比较排序相信阅读过前面5篇博文的童鞋们已经发现了“在排序的最终结果中,各元素的次序依赖于它们之间的比较”。于是乎,这类排序算法被统称为”比较排序“。比较排序是通过一个单一且抽象的比较运算(比如“小于等于”)读取列表元素,而这个比较运算则决定了每两个元素中哪一个应该先出现在最终的排序列表中。声明:下面通过在维基百科中找到的非常完美的图示来介绍一系列比较排序。1插入转载 2015-06-06 19:05:06 · 6013 阅读 · 0 评论 -
data_struction_test1:查找数组的前k个最小值
输入一个数组,包含15个元素,要求求出数组中前10个最小值,依次输出。方法:查找前k个最小值最直接的方式是遍历输入数组k遍,每次找出剩下输入中的最小值,每次查找过程中采用交换的策略。原创 2015-06-11 16:27:45 · 492 阅读 · 0 评论 -
数据结构--二叉堆、d堆、左式堆和斜堆
本文是转载,出自:http://blog.csdn.net/yangtrees/article/details/8252760点击打开链接实现优先队列结构主要是通过堆完成,主要有:二叉堆、d堆、左式堆、斜堆、二项堆、斐波那契堆、pairing 堆等。 1. 二叉堆 1.1. 定义完全二叉树,根最小。存储时使用层序。 1.2.转载 2015-07-01 09:19:21 · 1403 阅读 · 0 评论 -
36.c/c++程序员面试宝典-表
36.c/c++程序员面试宝典-表原创 2015-12-01 20:45:23 · 798 阅读 · 0 评论