复习二叉搜索树作的几道题
摘要:// FindTree2.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include #include "stdafx.h"using namespace std;typedef struct _TreeNode{char data;_TreeNode* lChild;_TreeNode* rChild;}TreeNode,*PTreeNode;void PreWalk(TreeNode* p) { if(p == NULL) return; coutdata lChild != NULL) coutdatalCh
阅读全文
posted @
2014-03-01 14:03
bitbit
阅读(300)
推荐(0) 编辑
重新学习二叉树作的几道习题
摘要:二叉树习题// Tree2.cpp : 定义控制台应用程序的入口点。//#include #include "stdafx.h"using namespace std;typedef struct _TreeNode{char data;_TreeNode* lChild;_TreeNode* rChild;}TreeNode,*PTreeNode; void PreWalk(TreeNode* p) { if(p == NULL) return; coutdata lChild != NULL) coutdatalChild); if( p->rChild != N
阅读全文
posted @
2014-02-26 14:52
bitbit
阅读(266)
推荐(0) 编辑
哈希表
摘要:哈希表散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表。目录基本概念常用的构造散列函数的方法处理冲突的方法查找的性能分析实际应用字符串哈希函数基本概念 * 若结构中存在关键字和K相等的记录,则必定在f(K)的存储位置上。由此,不需比较便可直接取得所查记录。称这个对应关系f为散列函数(Hash function),按这个思想建立的表为散列表。 * 对不同的关键字可能得到同一散列地址,即key1≠key2,而f(k..
阅读全文
posted @
2012-09-12 14:12
bitbit
阅读(524)
推荐(0) 编辑
*********** 复习算法复杂度,基础 ************
摘要:算法复杂度目录简介1、时间复杂度2、空间复杂度编辑本段简介 同一问题可用不同算法解决,而一个算法的质量优劣将影响到算法乃至程序的效率。算法分析的目的在于选择合适算法和改进算法。一个算法的评价主要从时间复杂度和空间复杂度来考虑。1、时间复杂度 (1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花费的时间与算法中语句的执行次数成正比例,哪个算法中语句执行次数多,它花费时间就多。一个算法中的语句执行次数称为语句频度或时间频度。记为T(n)...
阅读全文
posted @
2012-09-11 19:42
bitbit
阅读(340)
推荐(0) 编辑
根据二叉树的后序遍历以及中序遍历还原二叉树
摘要:根据二叉树的后序遍历以及中序遍历还原二叉树【题目】假设一棵二叉树的后序遍历序列为 DGJHEBIFCA ,中序遍历序列为 DBGEHJACIF ,则其前序遍历序列为 ( ) 。A. ABCDEFGHIJB. ABDEGHJCFIC. ABDEGHJFICD. ABDEGJHCFI由题,后序遍历的最后一个值为A,说明本二叉树以节点A为根节点(当然,答案中第一个节点都是A,也证明了这一点)下面给出整个分析过程【第一步】由后序遍历的最后一个节点可知本树根节点为【A】加上中序遍历的结果,得知以【A】为根节点时,中序遍历结果被【A】分为两部分【DBGEHJ】【A】【CIF】于是作出第一幅图如下【第二步】
阅读全文
posted @
2012-09-09 14:51
bitbit
阅读(602)
推荐(0) 编辑