- 博客(28)
- 资源 (35)
- 收藏
- 关注
原创 路径压缩
-------------------siwuxie095 路径压缩 基于 size 的优化和基于 rank 的优化,主要都是针对 Union 操作的优化,实际上,Find 操作其实也是可以优化的 Find 操作就是从一个节点开始,通过它的指向父亲的指针,不断向上追溯,直至根节
2017-06-13 17:39:46 5294 1
原创 基于size的优化
----------------------siwuxie095 基于 size 的优化 在 union( p , q ) 的时候,因为总是将第一个元素的根节点指向第二个元素的根节点,就有可能让整棵树变的很高,导致 find( p ) 更耗时 解决方案:不应该固定的将一个元
2017-06-13 16:16:52 285
原创 Quick Union
-----------------siwuxie095 Quick Union 这里介绍并查集的另外一种实现思路:Quick Union 这种实现思路通常是并查集的常规实现思路,而且它的时间效率非常高 具体表示:将每一个元素,都看做是一个节点 不过这个节点
2017-06-13 16:09:37 264
原创 Quick Find
--------------------siwuxie095 Quick Find 这里介绍并查集的一种实现思路:Quick Find 对于一组数据,并查集主要支持两个操作: (1)union( p , q ),即 并,将 p 和 q 两个元素合并在一起,也就是所谓的连
2017-06-13 15:57:41 593
原创 并查集
-----------------siwuxie095 并查集基础 这里介绍并查集(Union Find),它是一种很不一样的树形结构 并查集的作用:可以非常高效地回答连接问题 「连接问题,即 Connection Problem」
2017-06-13 00:43:58 269
原创 树形问题和更多树
----------------siwuxie095 树形问题 在处理计算机中遇到的很多问题时,虽然没有创建出具体的树,但是整个是以一棵树的形状进行求解的,通常称这类问题为 树形问题 递归法 - 天然的树形性质 由于树这种结构,它的定义具有天然的递
2017-06-11 09:17:10 375
原创 二叉搜索树的局限性
-------------------siwuxie095 二叉搜索树的局限性 二叉搜索树在时间性能上是具有局限性的 同样的数据,可以对应不同的二叉搜索树,如下: 二叉搜索树可能退化成链表,相应的,二叉搜索树的查找操作是和这棵树的高度相关的,而此时这颗树的高度就是
2017-06-11 09:06:06 1645
原创 二叉搜索树的顺序性
------------------siwuxie095 二叉搜索树的顺序性 二叉搜索树具有一定的顺序性,即 使用二叉搜索树可以回答很多元素之间的和顺序相关的问题,如下: (1)minimum 和 maximum 通过二叉搜索树可以非常容易地找到一组数据中最小的元
2017-06-11 08:52:07 561
原创 二叉搜索树的删除
-------------------siwuxie095 二叉搜索树的删除 程序: BST.h: #ifndef BST_H #define BST_H #include "stdlib.h" #incl
2017-06-11 08:41:45 575
原创 二叉搜索树的遍历
------------------siwuxie095 二叉搜索树的遍历 程序: BST.h: #ifndef BST_H #define BST_H #include "stdlib.h" #inclu
2017-06-11 08:38:45 196
原创 二叉搜索树的查找
---------------------siwuxie095 二叉搜索树的查找 程序:二叉搜索树和顺序查找表的查找对比 FileOps.h: #ifndef FILEOPS_H #define FILEOPS_H #include
2017-06-11 08:34:45 214
原创 二叉搜索树的插入
--------------------siwuxie095 二叉树的插入 程序: BST.h: #ifndef BST_H #define BST_H #include "stdlib.h" #include
2017-06-11 08:30:27 246
原创 二叉搜索树
--------------------siwuxie095 二叉搜索树 这里介绍二叉搜索树(Binary Search Tree) 二叉搜索树,顾名思义,本质上也是一棵二叉树 二叉树在计算机中是一种非常常用的数据结构,选择什么类型的二叉树很多时候要根据需要解决的问题而定
2017-06-09 23:59:26 250
原创 二分查找法
----------------siwuxie095 二分查找法 二分查找(Binary Search),也称 折半查找(Half-Interval Search),是一种在有序数组中查找某一特定元素的搜索算法 「或称 二分搜索,折半搜索」 正如定义所示,二分查找
2017-06-09 23:38:15 2992
原创 排序算法总结
-------------------siwuxie095 排序算法总结 平均时间复杂度原地排序额外空间稳定排序插入排序(Insertion Sort)O(n^2)√O(1)√归并排序 (Merge Sort)O(n*lgn)×O(n)√快速排序(Quick Sort)O(n*lgn)√O
2017-06-06 23:58:42 223
原创 索引堆排序
------------------siwuxie095 索引堆排序 程序: SortTestHelper.h: #ifndef SORTTESTHELPER_H #define SORTTESTHELPER_H #include #
2017-06-06 21:22:45 244
原创 原地堆排序
--------------------siwuxie095 原地堆排序 程序 1:原地堆排序的实现 SortTestHelper.h: #ifndef SORTTESTHELPER_H #define SORTTESTHELPER_H #include
2017-06-06 21:17:50 521
原创 堆排序
-----------------------siwuxie095 堆排序 它的原理如下: 堆排序是指利用堆这种数据结构所设计的一种排序算法 参考链接:参考链接1,参考链接2,参考链接3 程序 1:堆排序的实现 SortTestHe
2017-06-06 21:08:01 241
原创 堆 续9
-----------------siwuxie095 和堆相关的问题 (1)使用堆实现优先队列:动态选择优先级最高的任务执行 完全可以使用堆当做一个优先队列,对于系统的若干个进程来讲,每次都用堆找到优先级最高的任务进行执行,而如果系统来了新的任务,只要把这个任务插入到堆中即可,如果操
2017-06-06 17:25:19 170
原创 堆 续8
----------------------siwuxie095 索引从 0 开始 程序 1:最小索引堆的实现 MinIndexHeap.h: #ifndef MININDEXHEAP_H #define MININDEXHEAP_H #include
2017-06-06 16:50:25 159
原创 堆 续7
-------------------siwuxie095 索引从 0 开始 程序 1:最大索引堆的实现 MaxIndexHeap.h: #ifndef MAXINDEXHEAP_H #define MAXINDEXHEAP_H #include
2017-06-06 16:05:11 158
原创 堆 续6
-----------------siwuxie095 索引从 1 开始 程序 1:最小索引堆的实现 MinIndexHeap.h: #ifndef MININDEXHEAP_H #define MININDEXHEAP_H #include
2017-06-06 14:04:47 208
原创 堆 续5
-------------------siwuxie095 索引从 1 开始 程序 1:最大索引堆的实现 MaxIndexHeap.h: #ifndef MAXINDEXHEAP_H #define MAXINDEXHEAP_H #include
2017-06-06 13:43:41 184
原创 堆 续4
--------------------siwuxie095 索引堆 这里介绍一个比普通堆更加高级的数据结构:索引堆(Index Heap) 首先来看一下普通堆有什么问题 或 缺点: 将一个数组通过 Heapify 构建成一个堆,对于
2017-06-05 22:59:52 184
原创 堆 续3
---------------------siwuxie095 索引从 0 开始 程序 1:最大堆的实现 MaxHeap.h: #ifndef MAXHEAP_H #define MAXHEAP_H #include #include
2017-06-05 21:35:56 258
原创 堆 续2
---------------------siwuxie095 索引从 1 开始 程序 1:最大堆的实现 MaxHeap.h: #ifndef MAXHEAP_H #define MAXHEAP_H #include #include
2017-06-05 21:09:49 184
原创 堆 续1
--------------------siwuxie095 堆的基本存储 在堆中实现的插入操作和删除操作,都是 logN 级别的,显然,堆一定相应的是一个树形结构,最为经典的一种堆的实现叫做 二叉堆(Binary Heap) 二叉堆对应的是二叉树,所谓二叉树,
2017-06-05 20:40:27 170
原创 堆
-------------------siwuxie095 为什么使用堆 这里介绍一个全新的数据结构:堆(Heap) 而 堆 的一个非常典型的应用就是 优先队列(Priority Queue) 相信对于队列这个概念,大家都非常熟悉,如下: 1
2017-06-05 19:49:56 212
VsVim 将vs213和vs2010变为vim的神器
2016-12-07
commons-logging-1.2全量包
2016-12-07
spring 4.3.4核心开发包
2016-12-07
spring 4.3.4全部jar包(内已包含commons-logging的jar包)
2016-12-07
spring 4.3.4全量包(内已包含commons-logging的全部jar包)
2016-12-07
离线W3School chm格式文档
2016-12-01
离线W3School html格式文档
2016-12-01
Visual Assist X10.9破解版
2016-11-29
vs2010 MFC基础教程
2016-11-29
最好看好用的vs2013颜色主题:son-of-obsidian
2016-11-29
VS2013 MFC 入门教程
2016-11-29
SSH框架开发所需全部 43 个包
2017-09-12
Spring 4.3 开发所需 24 个包
2017-09-04
数据结构与算法分析__C++描述__PDF版
2017-06-10
slf4j库文件(含sources,不含javadoc)
2017-04-07
vlcj库文件(内含两个不同版本)
2017-04-07
gson-2.8.0(包括sources和javadoc)
2017-03-30
Open Live Writer 代码高亮插件
2016-12-22
常用批处理文件合集
2016-12-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人