出题:要求实现层序遍历二元搜索树,并对比BFS与DFS的区别分析:层序遍历也就是由上至下,从左到右的遍历每一层的节点,类似于BFS的策略,使用Queue可以实现,BFS不能用递归实现(由于每一层都需要存储所有节点,所以非常耗用内存)。这段代码主要用于反映BFS与DFS的联系;解题:
1 class....
分类:
其他好文 时间:
2014-05-27 01:11:41
阅读次数:
398
今天实现二叉搜索树的时候因为指针的问题卡了一上午(实在不应该。。。),一直segmentation
fault,个人感觉还是需要记录一下的。首先贴一下做的题的意思:输入一系列整数,建立二叉排序数,并进行前序,中序,后序遍历。(jobdu
1201)题目很简单,就是基本的二叉树的建立,最后代码如下 ....
分类:
编程语言 时间:
2014-05-24 01:02:05
阅读次数:
273
1、
??
Convert Sorted List to Binary Search Tree
Given a singly linked list where elements are sorted in ascending order, convert it to a height balanced BST.
分析:将一个升序排列的链表转换为平衡二叉搜索树,采用递归的方式,先找到链表...
分类:
其他好文 时间:
2014-05-22 12:33:30
阅读次数:
270
用静态链表(数组)去解这道二叉搜索树的题目。无需使用链表、指针,无需自定义结点类型,操作简单。仅仅是将空间上的二叉搜索树映射到一维数组上。...
分类:
其他好文 时间:
2014-05-22 07:20:53
阅读次数:
209
实现操作
(1)二叉搜索树的建立
(2)二叉搜索树的插入
(3)二叉搜索树的三种递归遍历(前序、中序和后续)
(4)二叉搜索树的三种非递归遍历(前序、中序和后续)
(5)二叉搜索树的逐层打印
有时间再实现:
(6)二叉搜索树的前驱和后继查找
(7)二叉搜索树的删除
源码分析:
#include
#include
#include
using namespace st...
分类:
编程语言 时间:
2014-05-18 10:28:47
阅读次数:
492
题目:uva519 - Puzzle (II)
题目大意:给出拼图,要求将给出的拼图拼成 n行m列的矩形,可以输出yes,不行输出no。
解题思路:直接dfs,但是需要剪枝。
1、判断 F 的出现个数是否等于 2 * ( n + m) , 还有IO的个数是否匹配。
2、边界问题要处理,例如第一行第N行,第一列第M列,这些地方的拼图是有要求的,这些边界拼图的的外围都要是F。例如第一行...
分类:
其他好文 时间:
2014-05-15 08:00:13
阅读次数:
259
红黑树是一个二叉搜索树,具有如下规则:
每个节点不是红色就是黑色。根节点必须为黑色。如果节点为红,其子节点必须为黑,父子节点不得同时为红。任一节点至NULL(NULL为黑色)的任何路径,所含黑节点数必须相同。
根据规则4,新增节点必须为红。
根据规则3,新增节点的父节点必须为黑。
因为新增节点必须是红,那么只有在父节点不为黑的时候才需要调整,父节点为黑则无需调整。
着...
分类:
其他好文 时间:
2014-05-14 15:29:28
阅读次数:
287
线段树札记线段树不是区间树,线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。注意他是把一段连续的区间分为单元区间为叶子节点的一颗数,以此为基础,展开一系列牛逼的计算。首先就是如何建立这么一个线段树?如此递归地建立,对于线段树中的每一个非叶子...
分类:
其他好文 时间:
2014-05-11 22:58:35
阅读次数:
458
1.为什么不适合用SSL纪录协议封装一个新的协议记住,SSL只是一个传输层上的封装协议,传输层上的。它代表的语义一定要比传输层更具体而比应用层更不具体。怎么能拿它来封装一个具体应用呢?这是典型的主次颠倒,本末倒置,喧宾夺主的极端做法!HTTPS只能在SSL之上,难道能在SSL之下吗? 这里最重要的是数据边界问题,你是用你的应用协议来定义数据边界还是用SSL来定义你的数据边界?谁能定义数...
分类:
其他好文 时间:
2014-05-11 13:00:54
阅读次数:
293