有向图的路径和半路径

有向图 先介绍几个概念: 有向图中,有向路径是边的序列,对序列中任何两条相邻的边和,第一条边的终止节点是第二条边的起始节点。 回路是一条开始和结束在同一个节点上的有向路径。 链路是节点的序列,这个序列的每个内部节点的出度和入度均等于1,起始节点的入度可以是0或大于1,终止节点的出度为0或大...

2018-10-25 17:41:13

阅读数:46

评论数:0

快排java实现&图文解释

先上代码: /******************************************************* *快速排序 (比较排序类) *每次排序将待排记录分割两部分,一部分都比关键字小,一部分都比关键字大 ********/ ...

2018-09-06 15:31:12

阅读数:61

评论数:0

快排第一趟序列

若给定的关键字集合为{20,15,14,18,21,36,40,10},一趟快速排序结束时,键值的排序为: 快排第一趟序列: 以后做快排的题记得用填坑法来做,不要从左到右遍历了,算法如下: 1. 默认选取第一个元素作为基准,将第一个位置变成空位 2. 从尾开始遍历,将第一个比基准小的元素填...

2018-09-03 16:11:33

阅读数:90

评论数:3

B树、B-树、B+树、B*树 总结

https://blog.csdn.net/u012050154/article/details/76238475 B树         1.所有非叶子结点至多拥有两个儿子(Left和Right);         2.所有结点存储一个关键字;         3.非叶子结点的左指针指向小...

2018-09-03 15:19:04

阅读数:63

评论数:0

哈弗曼树例题分析

哈弗曼树在互联网笔试题中经常遇见,这里以一道题为例子进行介绍: 哈弗曼编码是一种无损二进制熵编码算法,其加权路径长度最小,字符串“alibaba”的二进制哈弗曼编码有___位(bit)   解题思路: 哈弗曼树又叫做最优二叉树,是权值越大的点离根节点越近,导致整个树权值最小 方法:选择值...

2018-08-20 21:29:44

阅读数:60

评论数:0

堆排序图示

因为是原地进行升序排列,所以应该是建立大根堆;如果是原地进行降序排列,应该建立小根堆。 (7-6-3-5-4-1-2)按照堆排序的方式原地进行升序排列: 先建立大根堆,因为给定的数组就是大根堆,所以就不需要建立大根堆了。 接下来:堆建好之后开始排序,堆顶就是最大值,取出放入数组中的最后一个位...

2018-07-28 15:18:35

阅读数:43

评论数:0

数组地址计算解法集锦

对于数组的地址计算的注意的也就两点,一个是地址题目一:数组A中,每个元素的长度为3个字节,行下标i从1到8,列下标j从1到10,从首地址SA开始连续存放在存储器内,该数组按行存放时,元素A[8][5]的起始地址为( )。本题的数组是从A[1][1]开始的,也就是说和所谓的数组从零开始没什么关系。对...

2018-07-04 20:14:02

阅读数:117

评论数:0

最小生成树

https://blog.csdn.net/luoshixian099/article/details/51908175     关于图的几个概念定义: 连通图:在无向图中,若任意两个顶点vivi与vjvj都有路径相通,则称该无向图为连通图。 强连通图:在有向图中,若任意两个顶点vivi与v...

2018-05-11 22:50:06

阅读数:38

评论数:0

树、森林、二叉树的转换

树、森林、二叉树的转换转载自:https://blog.csdn.net/u011240016/article/details/52823925树变二叉树树变二叉树的规则:每个结点的左指针指向它的第一个孩子结点。右指针指向它在树中的相邻兄弟结点。 也即:左孩子右兄弟。 根没有兄弟,所以转换以后的树...

2018-05-10 18:40:20

阅读数:25

评论数:0

看完这篇,你要入门动态规划

动态规划:通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题。基本思想若要解一个给定问题,我们需要解其不同部分(即子问题),再合并子问题的解以得出原问题的解。 通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计...

2018-05-03 17:13:59

阅读数:28

评论数:0

归并排序非递归实现

归并排序 转载:http://www.cnblogs.com/jingmoxukong/p/4308823.html目录要点  归并排序的基本思想算法分析  归并排序算法的性能  时间复杂度  空间复杂度  算法稳定性  归并排序和堆排序、快速排序的比较完整参考代码  Java版本参考资料相关阅读...

2018-05-02 13:27:29

阅读数:39

评论数:0

桶排序和基数排序区别(算法+代码)

之前一直分不清桶排序和基数排序,现在拿出来这两比较一下1、算法思路:桶排序桶排序(Bucket Sort)假设输入数据服从均匀分布,然后将输入数据均匀地分配到有限数量的桶中,然后对每个桶再分别排序,对每个桶再使用插入排序算法,最后将每个桶中的数据有序的组合起来。假设输入是由一个随机过程生成,该过程...

2018-05-02 10:42:51

阅读数:115

评论数:0

基数排序分析+代码

基数排序  转载自http://www.cnblogs.com/jingmoxukong/p/4311237.html基数排序与平常见到的插入排序方法都不同,它不需要比较关键字的大小。它是根据关键字中各位的值,通过对排序的N个元素进行若干趟“分配”与“收集”来实现排序的。  不妨通过一个具体的实例...

2018-05-02 10:13:03

阅读数:20

评论数:0

史上最简单清晰的查找讲解(红黑树、散列表、B树)

原文链接https://blog.csdn.net/yang_yulei/article/details/26066409我们会用三种经典的数据类型来实现高效的符号表:二叉查找数、红黑树、散列表。二分查找我们使用有序数组存储键,经典的二分查找能够根据数组的索引大大减少每次查找所需的比较次数。在查找...

2018-05-01 14:36:17

阅读数:153

评论数:0

前缀中缀后缀表达式简单转换办法

35,15,+,80,70,-,*,20,/               //后缀表达方式(((35+15)*(80-70))/20)=25           //中缀表达方式  /,*,+,35,15,-,80,70, 20             //前缀表达方式 人的思维方式很容易固定!正...

2018-04-27 20:42:00

阅读数:21

评论数:0

数据结构、逻辑结构、存储结构辨析

数据结构=逻辑结构(线性、非线性)+存储结构(顺序、链式、索引、散列) 1)逻辑结构:数据元素间抽象化的相互关系 2)存储结构:(物理结构),在计算机存储器中的存储形式 逻辑结构的分类:1.按逻辑结构分为:(线性结构+非线性结构) 2.逻辑结构的四种基本形态:     1)数据元素间没有任何关系—...

2018-04-24 22:37:40

阅读数:118

评论数:0

排序算法总结(思想+Java实现)

冒泡排序  简单选择排序 直接插入排序 希尔排序 归并排序 快速排序 冒泡排序: 冒泡排序是一种交换排序 思想:两两比较相邻记录的关键字,如果反序就交换 复杂度:最好的情况下,排序本身就是有序的,n-1次的比较次数,时间复杂度为O(n),最坏的时候为逆序,需要的次数为1+2+3+...+n...

2018-04-23 17:34:28

阅读数:77

评论数:0

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