码迷,mamicode.com
首页 >  
搜索关键字:二叉    ( 13085个结果
算法5-5:线段交叉问题
问题 给定一系列线段,每条线段可以是水平或者竖直。求相交的线段 解决 算法的基本思想是先将线段以x坐标进行排序。做一条扫描线,从左往右扫描,也就是下图中的红线。 当进入一条水平的线时,记录该线段的y坐标。 当走出水平线时,从二叉查找树中删除该线段的y坐标。 ...
分类:其他好文   时间:2014-06-19 12:56:29    阅读次数:305
栈的应用--计算字符串表达式
计算机的本质工作就是做数学运算,那计算机可以读入字符串"1+2+3+4+5+6+7"并计算值吗? 答案是肯定的。 这里我基本实现了个位数的加减乘除,当然这个算法最简单的解决方式是采用二叉树(后面会实现~),这里作出了栈的实现方式。 首先引入两个概念: 中缀表达式和后缀表达式 1,在生活中我们通常书写1+1的时候都会写成1+1,废话~,这就是中缀表达式,更符合人们的思维习惯与想法。 2,所谓后缀表达式就是将运算符写在操作数的后面,这样更符合计算机的思维。...
分类:其他好文   时间:2014-06-19 11:05:41    阅读次数:364
Leetcode:Convert Sorted List to Binary Search Tree
Description :Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.分析:这道题目简单版是把一个排序好的数组转成平衡的二叉树...
分类:其他好文   时间:2014-06-16 10:51:54    阅读次数:237
【坐在马桶上看算法】算法11:堆——神奇的优先队列(上)
堆是什么?是一种特殊的完全二叉树,就像下面这棵树一样。 有没有发现这棵二叉树有一个特点,就是所有父结点都比子结点要小(注意:圆圈里面的数是值,圆圈上面的数是这个结点的编号,此规定仅适用于本节)。符合这样特点的完全二叉树我们称为最小堆。反之,如果所有父结点都比子结点要大,这样的完全二...
分类:其他好文   时间:2014-06-16 10:41:34    阅读次数:335
二叉查找树java实现
主要参考>Java语言描述(Mark Allen Weiss)二叉查找树主要的操作是:1.查找,2,插入,删除。查找操作:从根节点开始,递归查找。如果值等于当前根节点,返回根节点存储的值。若果查找的值小于跟根节点的值,则查找左子树,反之递归查找右子树。如果要查找的当前节点为NULL,说明查找结束了,...
分类:编程语言   时间:2014-06-16 06:56:30    阅读次数:277
平衡二叉树Java实现
2014-06-1215:00:14主要内容为:AVL树的插入操作;AVL树的删除操作;AVL树的插入操作主要参考>Java语言描述(Mark Allen Weiss)这个博客写的也挺好,可以看下http://dongxicheng.org/structure/avl/AVL树的删除操作看了http...
分类:编程语言   时间:2014-06-16 06:11:25    阅读次数:352
线段树 Interval Tree
一、线段树线段树既是线段也是树,并且是一棵二叉树,每个结点是一条线段,每条线段的左右儿子线段分别是该线段的左半和右半区间,递归定义之后就是一棵线段树。例题:给定N条线段,{[2, 5], [4, 6], [0, 7]}, M个点{2, 4, 7},判断每个点分别在几条线段出现过?1、构建线段树2、处...
分类:其他好文   时间:2014-06-13 18:43:01    阅读次数:262
Leetcode:Path Sum 二叉树路径和
Path Sum:Given a binary tree and a sum, determine if the tree has a root-to-leaf path such that adding up all the values along the path equals the giv...
分类:其他好文   时间:2014-06-13 16:09:02    阅读次数:237
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!