//找链表的中间结点/*已知单链表L,编写算法找出该链表的中间位置的结点。思考:1、一种想法就是从头遍历到尾部,记录长度。随后再次遍历一次,直到长度的二分之一即找到。时间复杂度为O(3n/2)2、另一种想法:设置快慢指针,快指针一次走两步,慢指针一次走一步,当快指针走到NULL的时候,慢指针的位置就...
分类:
其他好文 时间:
2015-05-29 07:26:28
阅读次数:
223
思路:定义两个快慢指针,快指针一次走两步,慢指针一次走一步,当快指针到达尾结点时,慢指针刚好为中间结点,这里需要区分两种情况,当链表中结点数为奇数时,慢指针刚好到达中间结点;当链表中结点数为偶数时候,中间结点有两个,返回一个。public static ListNote findMidNode(ListNote headNote){
if(headNote==null){...
分类:
其他好文 时间:
2015-05-17 12:21:54
阅读次数:
118
转自:http://blog.csdn.net/sqx2011/article/details/8241734胜者树和败者树都是完全二叉树,是树形选择排序的一种变型。每个叶子结点相当于一个选手,每个中间结点相当于一场比赛,每一层相当于一轮比赛。 不同的是,胜者树的中间结点记录的是胜者的标号;而败者树...
分类:
编程语言 时间:
2015-04-25 13:26:08
阅读次数:
390
胜者树和败者树都是完全二叉树,是树形选择排序的一种变型。每个叶子结点相当于一个选手,每个中间结点相当于一场比赛,每一层相当于一轮比赛。
不同的是,胜者树的中间结点记录的是胜者的标号;而败者树的中间结点记录的败者的标号。
胜者树与败者树可以在log(n)的时间内找到最值。任何一个叶子结点的值改变后,利用中间结点的信息,还是能够快速地找到最值。在k路归并排序中经常用到。...
分类:
其他好文 时间:
2015-03-30 21:16:18
阅读次数:
173
树的基本术语 1.结点:{数据元素+若干指向子树的分支} 2.结点的度:分支的个数(子树的个数) 3.树的度:树中所有结点的度的最大值 4.叶子结点:度为零的结点 5.分支结点:度大于零的结点(包含根和中间结点) 6.(从根到结点的)路径:由从根到该结点所经分支和结点构成; 7.结点的层次:假设根结点的层次为1,则根的孩子为第2层,如果某节点在第L层,则其子树的根在L+1层。 8.树的深度:树中叶...
分类:
其他好文 时间:
2015-01-11 16:20:15
阅读次数:
179
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced
BST.
将增序链表转换为均衡的二叉查找树 与数组转换相同 找到链表的中间结点 作为树的根节点进行赋值 再将链表以中间节点为界 分为左右子链表 进行递归赋值 代码如下:
publi...
分类:
其他好文 时间:
2014-12-30 17:11:39
阅读次数:
149
胜者树和败者树都是完全二叉树,是树形选择排序的一种变型。每个叶子结点相当于一个选手,每个中间结点相当于一场比赛,每一层相当于一轮比赛。
不同的是,胜者树的中间结点记录的是胜者的标号;而败者树的中间结点记录的败者的标号。
胜者树与败者树可以在log(n)的时间内找到最值。任何一个叶子结点的值改变后,利用中间结点的信息,还是能够快速地找到最值。在k路归并排序中经常用到。...
分类:
其他好文 时间:
2014-09-25 23:56:08
阅读次数:
279
一、决策树原理 决策树是用样本的属性作为结点,用属性的取值作为分支的树结构。 决策树的根结点是所有样本中信息量最大的属性。树的中间结点是该结点为根的子树所包含的样本子集中信息量最大的属性。决策树的叶结点是样本的类别值。决策树是一种知识表示形式,它是对所有样本数据的高度概括决策树能准确地识别所有样本的类别,也能有效地识别新样本的类别。 决策树算法ID3的基本思想: 首先找出最有...
分类:
编程语言 时间:
2014-07-14 20:34:04
阅读次数:
391
引言:Floyd-Warshall算法作为经典的动态规划算法,能够在O(n3)复杂度之内计算出所有点对之间的最短路径,且由于其常数较小,对于中等规模数据运行效率依然可观。算法共使用n此迭代,n为顶点个数。其中第k次迭代计算出每对顶点之间所有中间结点小于等于k的最短路径长度,其中i到j的最短路径要么是...
分类:
其他好文 时间:
2014-05-17 18:15:49
阅读次数:
279