数据结构与算法
文章平均质量分 75
readyao
腾讯后台开发工程师
展开
-
不会改变操作对象内容的STL算法(元素查找,序列查找,统计元素个数,比较区间,找最值)
不会改变操作对象内容的STL算法(元素查找,序列查找,统计元素个数,比较区间,找最值)原创 2016-01-10 19:51:37 · 1228 阅读 · 0 评论 -
数据结构与算法——不相交集类的C++实现
简介:不相交集类是将一些元素合并为不相交的各个集合。在同一个集合中的元素两两等价,不同集合中的元素不等价。1.等价关系等价关系必须满足下面三个性质:(1):自反性,对于集合S中的任意元素a,a R a;(R为定义的关系,比如R为=等等)(2);对称性,a R b当且仅当b R a(3):传递性,若a R b且b R c,则a R c2.动态等价性问题原创 2016-04-25 14:25:24 · 4485 阅读 · 0 评论 -
数据结构与算法——散列表类的C++实现(探测散列表)
散列表类的C++实现(探测散列表)...原创 2016-04-13 15:03:30 · 7531 阅读 · 0 评论 -
数据结构与算法——AVL树简介
AVL树简介原创 2016-03-27 22:43:42 · 2628 阅读 · 1 评论 -
数据结构与算法——图的邻接表表示法类的C++实现
数据结构与算法——图的邻接表表示法类的C++实现原创 2016-04-27 10:48:00 · 8166 阅读 · 2 评论 -
数据结构与算法——优先队列类的C++实现(二叉堆)
优先队列类的C++实现(二叉堆) ;二叉堆与二叉查找树类似,二叉树有两个性质:结构性质和堆序性质。那些运行时间短的进程需要比较高的优先权,同样,那些比较重要的进程也需要比较高的优先权。这种特殊的应用需要一种特殊的队列-----优先队列。可以用二叉堆实现优先队列。原创 2016-04-14 16:24:55 · 3137 阅读 · 0 评论 -
数据结构与算法——有向无环图的拓扑排序C++实现
数据结构与算法——有向无环图的拓扑排序C++实现原创 2016-04-29 12:42:50 · 6365 阅读 · 1 评论 -
数据结构与算法——快速排序
快速排序的平均时间复杂度为O(NlogN),最坏的情况是O(N^2)原创 2016-01-12 17:52:41 · 746 阅读 · 0 评论 -
数据结构与算法——堆排序
优先队列可以用以O(logN)时间进行排序,基于该思想的算法叫做堆排序。堆排序的时间复杂度为O(N)+O(NlogN),也就是O(NlogN)。原创 2016-01-10 19:56:21 · 1196 阅读 · 0 评论 -
数据结构与算法——B树的C++实现
数据结构与算法——B树的C++实现转载 2016-05-13 11:55:00 · 4018 阅读 · 0 评论 -
数据结构与算法——二分查找算法
二分查找算法原创 2016-01-06 14:03:35 · 1070 阅读 · 0 评论 -
数据结构与算法——无权最短路径算法的C++实现
数据结构与算法——无权最短路径算法的C++实现(用两个算法来实现,图的邻接表表示法来实现的图类)原创 2016-05-03 16:39:30 · 6510 阅读 · 0 评论 -
数据结构与算法——最短路径Dijkstra算法的C++实现
数据结构与算法——最短路径Dijkstra算法的C++实现原创 2016-05-04 13:26:04 · 14846 阅读 · 1 评论 -
数据结构与算法——AVL树类的C++实现
关于AVL树的简介可以参考: 数据结构与算法——AVL树简介关于二叉搜索树(也称为二叉查找树)可以参考:数据结构与算法——二叉查找树类的C++实现AVL-tree是一个"加上了额外平衡条件"的二叉搜索树,其平衡条件的建立是为了确保整棵树的深度为O(logN)。要求任何节点的左右子树高度相差最多1。原创 2016-04-08 14:47:37 · 3905 阅读 · 0 评论 -
数据结构与算法——散列表类的C++实现(分离链接散列表)
散列表类的C++实现(分离链接散列表)原创 2016-04-12 15:30:56 · 5840 阅读 · 0 评论 -
数据结构与算法——两个大整数的乘积问题
大整数乘法原创 2016-03-26 19:59:22 · 3020 阅读 · 0 评论 -
数据结构与算法——二叉树的前序遍历,中序遍历,后序遍历
数据结构与算法——二叉树的前序遍历,中序遍历,后序遍历原创 2016-01-22 11:42:26 · 5623 阅读 · 0 评论 -
数据结构与算法——桶排序
桶排序原创 2016-01-13 21:38:45 · 2011 阅读 · 0 评论 -
数据结构与算法——有1亿个整数,找出最大的1000个,要求时间越短越好,空间占用越少越好
数据结构与算法——有1亿个整数,找出最大的1000个,要求时间越短越好,空间占用越少越好(最小堆实现)原创 2016-01-16 21:20:04 · 4671 阅读 · 0 评论 -
数据结构与算法——归并排序
归并排序以O(NlogN)最坏情形运行时间运行;这个算法是经典的分治策略,它将问题分成一些小的问题然后递归求解,而治的阶段则是将分的阶段解得的各答案修补在一起。分治是递归非常有力的方法。原创 2016-01-11 16:13:18 · 599 阅读 · 0 评论 -
数据结构与算法——二叉堆
二叉堆(也叫做堆):本次实现的是最小堆,也就是树的根结点的值是最小的。如果树的根结点的值是最大的,那么该堆是最大堆。原创 2016-01-09 17:40:40 · 1834 阅读 · 0 评论 -
数据结构与算法——谢尔排序
谢尔排序就是每隔一段距离的一个子序列进行一次插入排序;间隔是从大到小发生改变。谢尔排序也称为缩减增量排序。原创 2016-01-08 23:04:37 · 913 阅读 · 0 评论 -
数据结构与算法——插入排序以及C++函数模板实现
插入排序以及C++函数模板实现原创 2016-01-06 22:57:04 · 1403 阅读 · 0 评论 -
数据结构与算法——RB树简介
红黑树简介(RB-tree)原创 2016-03-28 22:25:25 · 3520 阅读 · 0 评论 -
数据结构与算法——二叉查找树类的C++实现
二叉树的平均深度为O(logN);二叉查找树在二叉树的基础上,增加的性质为:对于树中每一个结点X,它的左子树中所有项的值小于X中的项,而它的右子树中原创 2016-04-07 15:36:52 · 3265 阅读 · 0 评论 -
数据结构与算法——表达式树类的C++实现(二叉树)
表达式简介:表达式树的树叶是操作数,如数字或字母,而其它结点为操作符(+ - * / %等);由于这里的操作都是二元的,所以这棵特定的树正好是二叉树。原创 2016-04-06 16:45:05 · 7957 阅读 · 2 评论 -
数据结构与算法——普通树的定义与C++实现
用树的第一个儿子和下一个兄弟表示法来表示一个树。树的节点结构为: struct TreeNode{ TYPE element;//该节点的元素 TreeNode *firstChild;//指向该节点的第一个孩子 TreeNode *nextSibling;//指向该节点的兄弟节点 };原创 2016-04-05 12:27:53 · 18107 阅读 · 2 评论 -
数据结构与算法汇总(持续更新中)
数据结构与算法汇总(持续更新中)原创 2016-04-14 16:57:53 · 1170 阅读 · 0 评论